From e588b8d6dd026c24fa55f8e9dcf08200908dff9d Mon Sep 17 00:00:00 2001 From: samme Date: Tue, 10 Oct 2017 11:23:21 -0700 Subject: [PATCH] Build Phaser v2.9.1 --- build/custom/creature.min.js | 2 +- build/custom/p2.min.js | 2 +- build/custom/phaser-arcade-physics.js | 38 +- build/custom/phaser-arcade-physics.map | 2 +- build/custom/phaser-arcade-physics.min.js | 4 +- build/custom/phaser-creature.js | 38 +- build/custom/phaser-creature.map | 2 +- build/custom/phaser-creature.min.js | 4 +- build/custom/phaser-minimum.js | 4 +- build/custom/phaser-minimum.min.js | 4 +- build/custom/phaser-no-physics.js | 4 +- build/custom/phaser-no-physics.min.js | 4 +- build/custom/phaser-split.js | 38 +- build/custom/phaser-split.map | 2 +- build/custom/phaser-split.min.js | 4 +- build/custom/pixi.js | 2 +- build/custom/pixi.min.js | 2 +- build/phaser.js | 38 +- build/phaser.map | 2 +- build/phaser.min.js | 4 +- docs/CreatureShader.html | 20 +- docs/EarCut.html | 12 +- docs/Event.html | 20 +- docs/EventTarget.html | 14 +- docs/PIXI.BaseTexture.html | 44 +- docs/PIXI.CanvasBuffer.html | 24 +- docs/PIXI.CanvasGraphics.html | 14 +- docs/PIXI.CanvasMaskManager.html | 16 +- docs/PIXI.CanvasRenderer.html | 46 +- docs/PIXI.CanvasTinter.html | 18 +- docs/PIXI.ComplexPrimitiveShader.html | 24 +- docs/PIXI.DisplayObject.html | 68 +-- docs/PIXI.DisplayObjectContainer.html | 96 ++-- docs/PIXI.FilterTexture.html | 24 +- docs/PIXI.Phaser.GraphicsData.html | 12 +- docs/PIXI.PixiFastShader.html | 26 +- docs/PIXI.PixiShader.html | 34 +- docs/PIXI.PrimitiveShader.html | 24 +- docs/PIXI.Sprite.html | 114 ++--- docs/PIXI.StripShader.html | 26 +- docs/PIXI.Texture.html | 42 +- docs/PIXI.WebGLBlendModeManager.html | 20 +- docs/PIXI.WebGLFastSpriteBatch.html | 58 +-- docs/PIXI.WebGLFilterManager.html | 32 +- docs/PIXI.WebGLRenderer.html | 70 +-- docs/PIXI.html | 22 +- docs/Phaser.Animation.html | 84 ++-- docs/Phaser.AnimationManager.html | 56 +-- docs/Phaser.AnimationParser.html | 22 +- docs/Phaser.ArraySet.html | 40 +- docs/Phaser.ArrayUtils.html | 36 +- docs/Phaser.AudioSprite.html | 30 +- docs/Phaser.BitmapData.html | 186 ++++---- docs/Phaser.BitmapText.html | 220 ++++----- docs/Phaser.Bullet.html | 268 +++++------ docs/Phaser.Button.html | 294 ++++++------ docs/Phaser.Cache.html | 240 +++++----- docs/Phaser.Camera.html | 108 ++--- docs/Phaser.Canvas.html | 36 +- docs/Phaser.CanvasPool.html | 28 +- docs/Phaser.Circle.html | 74 +-- docs/Phaser.Color.html | 136 +++--- docs/Phaser.Component.Angle.html | 14 +- docs/Phaser.Component.Animation.html | 14 +- docs/Phaser.Component.AutoCull.html | 16 +- docs/Phaser.Component.Bounds.html | 32 +- docs/Phaser.Component.BringToTop.html | 20 +- docs/Phaser.Component.Core.html | 56 +-- docs/Phaser.Component.Crop.html | 18 +- docs/Phaser.Component.Delta.html | 18 +- docs/Phaser.Component.Destroy.html | 16 +- docs/Phaser.Component.FixedToCamera.html | 18 +- docs/Phaser.Component.Health.html | 22 +- docs/Phaser.Component.InCamera.html | 14 +- docs/Phaser.Component.InWorld.html | 22 +- docs/Phaser.Component.InputEnabled.html | 16 +- docs/Phaser.Component.LifeSpan.html | 22 +- docs/Phaser.Component.LoadTexture.html | 24 +- docs/Phaser.Component.Overlap.html | 14 +- docs/Phaser.Component.PhysicsBody.html | 22 +- docs/Phaser.Component.Reset.html | 14 +- docs/Phaser.Component.ScaleMinMax.html | 22 +- docs/Phaser.Component.Smoothed.html | 14 +- docs/Phaser.Create.html | 38 +- docs/Phaser.Creature.html | 216 ++++----- docs/Phaser.DOM.html | 32 +- docs/Phaser.Device.html | 188 ++++---- docs/Phaser.DeviceButton.html | 62 +-- docs/Phaser.Easing.Back.html | 18 +- docs/Phaser.Easing.Bounce.html | 18 +- docs/Phaser.Easing.Circular.html | 18 +- docs/Phaser.Easing.Cubic.html | 18 +- docs/Phaser.Easing.Elastic.html | 18 +- docs/Phaser.Easing.Exponential.html | 18 +- docs/Phaser.Easing.Linear.html | 14 +- docs/Phaser.Easing.Quadratic.html | 18 +- docs/Phaser.Easing.Quartic.html | 18 +- docs/Phaser.Easing.Quintic.html | 18 +- docs/Phaser.Easing.Sinusoidal.html | 18 +- docs/Phaser.Easing.html | 12 +- docs/Phaser.Ellipse.html | 52 +-- docs/Phaser.Events.html | 50 +- docs/Phaser.Filter.html | 42 +- docs/Phaser.FlexGrid.html | 40 +- docs/Phaser.FlexLayer.html | 346 +++++++------- docs/Phaser.Frame.html | 58 +-- docs/Phaser.FrameData.html | 32 +- docs/Phaser.Game.html | 150 +++--- docs/Phaser.GameObjectCreator.html | 56 +-- docs/Phaser.GameObjectFactory.html | 68 +-- docs/Phaser.Gamepad.html | 64 +-- docs/Phaser.Graphics.html | 250 +++++----- docs/Phaser.Group.html | 334 +++++++------- docs/Phaser.Hermite.html | 50 +- docs/Phaser.Image.html | 238 +++++----- docs/Phaser.ImageCollection.html | 34 +- docs/Phaser.Input.html | 164 +++---- docs/Phaser.InputHandler.html | 154 +++---- docs/Phaser.Key.html | 68 +-- docs/Phaser.KeyCode.html | 216 ++++----- docs/Phaser.Keyboard.html | 70 +-- docs/Phaser.Line.html | 86 ++-- docs/Phaser.LinkedList.html | 30 +- docs/Phaser.Loader.html | 150 +++--- docs/Phaser.LoaderParser.html | 26 +- docs/Phaser.MSPointer.html | 48 +- docs/Phaser.Math.html | 140 +++--- docs/Phaser.Matrix.html | 52 +-- docs/Phaser.Mouse.html | 86 ++-- docs/Phaser.Net.html | 22 +- docs/Phaser.Particle.html | 280 ++++++------ docs/Phaser.Particles.Arcade.Emitter.html | 426 +++++++++--------- docs/Phaser.Particles.Arcade.html | 12 +- docs/Phaser.Particles.html | 24 +- docs/Phaser.Path.html | 60 +-- docs/Phaser.PathFollower.html | 12 +- docs/Phaser.PathPoint.html | 56 +-- docs/Phaser.Physics.Arcade.Body.html | 204 ++++----- ...haser.Physics.Arcade.TilemapCollision.html | 14 +- docs/Phaser.Physics.Arcade.html | 122 ++--- docs/Phaser.Physics.Ninja.AABB.html | 72 +-- docs/Phaser.Physics.Ninja.Body.html | 88 ++-- docs/Phaser.Physics.Ninja.Circle.html | 66 +-- docs/Phaser.Physics.Ninja.Tile.html | 54 +-- docs/Phaser.Physics.Ninja.html | 50 +- docs/Phaser.Physics.P2.Body.html | 200 ++++---- docs/Phaser.Physics.P2.BodyDebug.html | 332 +++++++------- docs/Phaser.Physics.P2.CollisionGroup.html | 14 +- docs/Phaser.Physics.P2.ContactMaterial.html | 12 +- .../Phaser.Physics.P2.DistanceConstraint.html | 16 +- docs/Phaser.Physics.P2.FixtureList.html | 32 +- docs/Phaser.Physics.P2.GearConstraint.html | 16 +- docs/Phaser.Physics.P2.InversePointProxy.html | 20 +- docs/Phaser.Physics.P2.LockConstraint.html | 16 +- docs/Phaser.Physics.P2.Material.html | 14 +- docs/Phaser.Physics.P2.PointProxy.html | 20 +- ...Phaser.Physics.P2.PrismaticConstraint.html | 16 +- .../Phaser.Physics.P2.RevoluteConstraint.html | 16 +- docs/Phaser.Physics.P2.RotationalSpring.html | 18 +- docs/Phaser.Physics.P2.Spring.html | 18 +- docs/Phaser.Physics.P2.html | 188 ++++---- docs/Phaser.Physics.html | 62 +-- docs/Phaser.Plugin.PathManager.html | 14 +- docs/Phaser.Plugin.html | 40 +- docs/Phaser.PluginManager.html | 34 +- docs/Phaser.Point.html | 128 +++--- docs/Phaser.Pointer.html | 148 +++--- docs/Phaser.PointerMode.html | 16 +- docs/Phaser.Polygon.html | 32 +- docs/Phaser.QuadTree.html | 40 +- docs/Phaser.RandomDataGenerator.html | 42 +- docs/Phaser.Rectangle.html | 142 +++--- docs/Phaser.RenderTexture.html | 66 +-- docs/Phaser.RequestAnimationFrame.html | 30 +- docs/Phaser.RetroFont.html | 144 +++--- docs/Phaser.Rope.html | 244 +++++----- docs/Phaser.RoundedRectangle.html | 28 +- docs/Phaser.ScaleManager.html | 148 +++--- docs/Phaser.Signal.html | 38 +- docs/Phaser.SignalBinding.html | 34 +- docs/Phaser.SinglePad.html | 68 +-- docs/Phaser.Sound.html | 126 +++--- docs/Phaser.SoundManager.html | 72 +-- docs/Phaser.Sprite.html | 266 +++++------ docs/Phaser.SpriteBatch.html | 322 ++++++------- docs/Phaser.Stage.html | 120 ++--- docs/Phaser.State.html | 76 ++-- docs/Phaser.StateManager.html | 86 ++-- docs/Phaser.Text.html | 372 +++++++-------- docs/Phaser.Tile.html | 90 ++-- docs/Phaser.TileSprite.html | 266 +++++------ docs/Phaser.Tilemap.html | 160 +++---- docs/Phaser.TilemapLayer.html | 314 ++++++------- docs/Phaser.TilemapParser.html | 24 +- docs/Phaser.Tileset.html | 42 +- docs/Phaser.Time.html | 78 ++-- docs/Phaser.Timer.html | 78 ++-- docs/Phaser.TimerEvent.html | 30 +- docs/Phaser.Touch.html | 56 +-- docs/Phaser.Tween.html | 94 ++-- docs/Phaser.TweenData.html | 70 +-- docs/Phaser.TweenManager.html | 36 +- docs/Phaser.Utils.Debug.html | 110 ++--- docs/Phaser.Utils.html | 36 +- docs/Phaser.Video.html | 110 ++--- docs/Phaser.Weapon.html | 150 +++--- docs/Phaser.World.html | 352 +++++++-------- docs/Phaser.html | 150 +++--- docs/PhaserGlobal.html | 12 +- docs/classes.list.html | 10 +- docs/global.html | 14 +- docs/index.html | 10 +- docs/namespaces.list.html | 10 +- 213 files changed, 7554 insertions(+), 7498 deletions(-) diff --git a/build/custom/creature.min.js b/build/custom/creature.min.js index efa592157..29c15d3ef 100644 --- a/build/custom/creature.min.js +++ b/build/custom/creature.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.9.0 Creature Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.9.1 Creature Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ function dualQuat(){this.real=quat.create(),this.real[Q_W]=0,this.imaginary=quat.create(),this.imaginary[Q_W]=0,this.tmpQ1=quat.create()}function MeshBone(t,e,r,n){this.key=t,this.world_rest_angle=0,this.rest_parent_mat=mat4.create(),this.rest_parent_inv_mat=mat4.create(),this.rest_world_mat=mat4.create(),this.rest_world_inv_mat=mat4.create(),this.bind_world_mat=mat4.create(),this.bind_world_inv_mat=mat4.create(),this.parent_world_mat=mat4.create(),this.parent_world_inv_mat=mat4.create(),this.local_rest_start_pt=null,this.local_rest_end_pt=null,this.setRestParentMat(n,null),this.setLocalRestStartPt(e),this.setLocalRestEndPt(r),this.setParentWorldInvMat(mat4.create()),this.setParentWorldMat(mat4.create()),this.local_binormal_dir=vec3.fromValues(0,0,1),this.tag_id=0,this.children=[]}function MeshRenderRegion(t,e,r,n,a,i,s){this.store_indices=t,this.store_rest_pts=e,this.store_uvs=r,this.use_local_displacements=!1,this.use_post_displacements=!1,this.use_uv_warp=!1,this.uv_warp_local_offset=vec2.fromValues(0,0),this.uv_warp_global_offset=vec2.fromValues(0,0),this.uv_warp_scale=vec2.fromValues(1,1),this.start_pt_index=n,this.end_pt_index=a,this.start_index=i,this.end_index=s,this.main_bone=null,this.local_displacements=[],this.post_displacements=[],this.uv_warp_ref_uvs=[],this.normal_weight_map={},this.fast_normal_weight_map=[],this.fast_bones_map=[],this.relevant_bones_indices=[],this.use_dq=!0,this.tag_id=-1,this.initUvWarp()}function MeshRenderBoneComposition(){this.root_bone=null,this.bones_map={},this.regions=[],this.regions_map={}}function MeshBoneCache(t){this.key=t}function MeshDisplacementCache(t){this.key=t,this.local_displacements=[],this.post_displacements=[]}function MeshUVWarpCache(t){this.uv_warp_global_offset=vec2.create(),this.uv_warp_local_offset=vec2.create(),this.uv_warp_scale=vec2.fromValues(-1,-1),this.key=t,this.enabled=!1}function MeshBoneCacheManager(){this.is_ready=!1,this.bone_cache_table=null,this.bone_cache_data_ready=null,this.bone_cache_table=[],this.bone_cache_data_ready=[]}function MeshDisplacementCacheManager(){this.is_ready=!1,this.displacement_cache_table=null,this.displacement_cache_data_ready=null,this.displacement_cache_table=[],this.displacement_cache_data_ready=[]}function MeshUVWarpCacheManager(){this.is_ready=!1,this.uv_cache_table=null,this.uv_cache_data_ready=null,this.uv_cache_table=[],this.uv_cache_data_ready=[]}function Creature(t,e){this.total_num_pts=0,this.total_num_indices=0,this.global_indices=null,this.global_pts=null,this.global_uvs=null,this.render_pts=null,this.render_colours=null,this.render_composition=null,this.boundary_indices=[],this.boundary_min=vec2.create(),this.boundary_max=vec2.create(),this.anchor_point_map={},this.anchor_points_active=!1,this.LoadFromData(t,e)}function CreatureAnimation(t,e){this.name=e,this.bones_cache=new MeshBoneCacheManager,this.displacement_cache=new MeshDisplacementCacheManager,this.uv_warp_cache=new MeshUVWarpCacheManager,this.cache_pts=[],this.fill_cache_pts=[],this.LoadFromData(e,t)}function CreatureManager(t){this.target_creature=t,this.is_playing=!1,this.run_time=0,this.time_scale=30,this.blending_factor=0,this.should_loop=!0,this.use_custom_time_range=!1,this.custom_start_time=0,this.custom_end_time=0,this.animations={},this.bones_override_callback=null,this.blend_render_pts=[],this.blend_render_pts.push([]),this.blend_render_pts.push([]),this.do_blending=!1,this.active_blend_animation_names=[],this.active_blend_animation_names.push(""),this.active_blend_animation_names.push("")}!function(t){"use strict";var e={};"undefined"==typeof exports?"function"==typeof define&&"object"==typeof define.amd&&define.amd?(e.exports={},define(function(){return e.exports})):e.exports="undefined"!=typeof window?window:t:e.exports=exports,function(t){if(!e)var e=1e-6;if(!r)var r="undefined"!=typeof Float32Array?Float32Array:Array;if(!n)var n=Math.random;var a={};a.setMatrixArrayType=function(t){r=t},void 0!==t&&(t.glMatrix=a);var i=Math.PI/180;a.toRadian=function(t){return t*i};var s={};s.create=function(){var t=new r(2);return t[0]=0,t[1]=0,t},s.clone=function(t){var e=new r(2);return e[0]=t[0],e[1]=t[1],e},s.fromValues=function(t,e){var n=new r(2);return n[0]=t,n[1]=e,n},s.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},s.set=function(t,e,r){return t[0]=e,t[1]=r,t},s.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t},s.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t},s.sub=s.subtract,s.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t},s.mul=s.multiply,s.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t},s.div=s.divide,s.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t},s.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t},s.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t},s.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t},s.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)},s.dist=s.distance,s.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n},s.sqrDist=s.squaredDistance,s.length=function(t){var e=t[0],r=t[1];return Math.sqrt(e*e+r*r)},s.len=s.length,s.squaredLength=function(t){var e=t[0],r=t[1];return e*e+r*r},s.sqrLen=s.squaredLength,s.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},s.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t},s.normalize=function(t,e){var r=e[0],n=e[1],a=r*r+n*n;return a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a),t},s.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},s.cross=function(t,e,r){var n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t},s.lerp=function(t,e,r,n){var a=e[0],i=e[1];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t},s.random=function(t,e){e=e||1;var r=2*n()*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t},s.transformMat2=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[2]*a,t[1]=r[1]*n+r[3]*a,t},s.transformMat2d=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[2]*a+r[4],t[1]=r[1]*n+r[3]*a+r[5],t},s.transformMat3=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[3]*a+r[6],t[1]=r[1]*n+r[4]*a+r[7],t},s.transformMat4=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[4]*a+r[12],t[1]=r[1]*n+r[5]*a+r[13],t},s.forEach=function(){var t=s.create();return function(e,r,n,a,i,s){var o,c;for(r||(r=2),n||(n=0),c=a?Math.min(a*r+n,e.length):e.length,o=n;o0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i),t},o.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},o.cross=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=r[0],o=r[1],c=r[2];return t[0]=a*c-i*o,t[1]=i*s-n*c,t[2]=n*o-a*s,t},o.lerp=function(t,e,r,n){var a=e[0],i=e[1],s=e[2];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=s+n*(r[2]-s),t},o.random=function(t,e){e=e||1;var r=2*n()*Math.PI,a=2*n()-1,i=Math.sqrt(1-a*a)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=a*e,t},o.transformMat4=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=r[3]*n+r[7]*a+r[11]*i+r[15];return s=s||1,t[0]=(r[0]*n+r[4]*a+r[8]*i+r[12])/s,t[1]=(r[1]*n+r[5]*a+r[9]*i+r[13])/s,t[2]=(r[2]*n+r[6]*a+r[10]*i+r[14])/s,t},o.transformMat3=function(t,e,r){var n=e[0],a=e[1],i=e[2];return t[0]=n*r[0]+a*r[3]+i*r[6],t[1]=n*r[1]+a*r[4]+i*r[7],t[2]=n*r[2]+a*r[5]+i*r[8],t},o.transformQuat=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=r[0],o=r[1],c=r[2],h=r[3],u=h*n+o*i-c*a,l=h*a+c*n-s*i,_=h*i+s*a-o*n,p=-s*n-o*a-c*i;return t[0]=u*h+p*-s+l*-c-_*-o,t[1]=l*h+p*-o+_*-s-u*-c,t[2]=_*h+p*-c+u*-o-l*-s,t},o.rotateX=function(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[0],i[1]=a[1]*Math.cos(n)-a[2]*Math.sin(n),i[2]=a[1]*Math.sin(n)+a[2]*Math.cos(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},o.rotateY=function(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[2]*Math.sin(n)+a[0]*Math.cos(n),i[1]=a[1],i[2]=a[2]*Math.cos(n)-a[0]*Math.sin(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},o.rotateZ=function(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[0]*Math.cos(n)-a[1]*Math.sin(n),i[1]=a[0]*Math.sin(n)+a[1]*Math.cos(n),i[2]=a[2],t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},o.forEach=function(){var t=o.create();return function(e,r,n,a,i,s){var o,c;for(r||(r=3),n||(n=0),c=a?Math.min(a*r+n,e.length):e.length,o=n;o0&&(s=1/Math.sqrt(s),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s,t[3]=e[3]*s),t},c.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},c.lerp=function(t,e,r,n){var a=e[0],i=e[1],s=e[2],o=e[3];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=s+n*(r[2]-s),t[3]=o+n*(r[3]-o),t},c.random=function(t,e){return e=e||1,t[0]=n(),t[1]=n(),t[2]=n(),t[3]=n(),c.normalize(t,t),c.scale(t,t,e),t},c.transformMat4=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*s,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*s,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*s,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*s,t},c.transformQuat=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=r[0],o=r[1],c=r[2],h=r[3],u=h*n+o*i-c*a,l=h*a+c*n-s*i,_=h*i+s*a-o*n,p=-s*n-o*a-c*i;return t[0]=u*h+p*-s+l*-c-_*-o,t[1]=l*h+p*-o+_*-s-u*-c,t[2]=_*h+p*-c+u*-o-l*-s,t},c.forEach=function(){var t=c.create();return function(e,r,n,a,i,s){var o,c;for(r||(r=4),n||(n=0),c=a?Math.min(a*r+n,e.length):e.length,o=n;o.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(o.cross(t,a,i),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+s,p.normalize(n,n))}}(),p.setAxes=function(){var t=l.create();return function(e,r,n,a){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=a[0],t[4]=a[1],t[7]=a[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],p.normalize(e,p.fromMat3(e,t))}}(),p.clone=c.clone,p.fromValues=c.fromValues,p.copy=c.copy,p.set=c.set,p.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},p.setAxisAngle=function(t,e,r){r*=.5;var n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t},p.add=c.add,p.multiply=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=e[3],o=r[0],c=r[1],h=r[2],u=r[3];return t[0]=n*u+s*o+a*h-i*c,t[1]=a*u+s*c+i*o-n*h,t[2]=i*u+s*h+n*c-a*o,t[3]=s*u-n*o-a*c-i*h,t},p.mul=p.multiply,p.scale=c.scale,p.rotateX=function(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],s=e[3],o=Math.sin(r),c=Math.cos(r);return t[0]=n*c+s*o,t[1]=a*c+i*o,t[2]=i*c-a*o,t[3]=s*c-n*o,t},p.rotateY=function(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],s=e[3],o=Math.sin(r),c=Math.cos(r);return t[0]=n*c-i*o,t[1]=a*c+s*o,t[2]=i*c+n*o,t[3]=s*c-a*o,t},p.rotateZ=function(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],s=e[3],o=Math.sin(r),c=Math.cos(r);return t[0]=n*c+a*o,t[1]=a*c-n*o,t[2]=i*c+s*o,t[3]=s*c-i*o,t},p.calculateW=function(t,e){var r=e[0],n=e[1],a=e[2];return t[0]=r,t[1]=n,t[2]=a,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-a*a)),t},p.dot=c.dot,p.lerp=c.lerp,p.slerp=function(t,e,r,n){var a,i,s,o,c,h=e[0],u=e[1],l=e[2],_=e[3],p=r[0],d=r[1],m=r[2],f=r[3];return(i=h*p+u*d+l*m+_*f)<0&&(i=-i,p=-p,d=-d,m=-m,f=-f),1-i>1e-6?(a=Math.acos(i),s=Math.sin(a),o=Math.sin((1-n)*a)/s,c=Math.sin(n*a)/s):(o=1-n,c=n),t[0]=o*h+c*p,t[1]=o*u+c*d,t[2]=o*l+c*m,t[3]=o*_+c*f,t},p.invert=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],s=r*r+n*n+a*a+i*i,o=s?1/s:0;return t[0]=-r*o,t[1]=-n*o,t[2]=-a*o,t[3]=i*o,t},p.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},p.length=c.length,p.len=p.length,p.squaredLength=c.squaredLength,p.sqrLen=p.squaredLength,p.normalize=c.normalize,p.fromMat3=function(t,e){var r,n=e[0]+e[4]+e[8];if(n>0)r=Math.sqrt(n+1),t[3]=.5*r,r=.5/r,t[0]=(e[5]-e[7])*r,t[1]=(e[6]-e[2])*r,t[2]=(e[1]-e[3])*r;else{var a=0;e[4]>e[0]&&(a=1),e[8]>e[3*a+a]&&(a=2);var i=(a+1)%3,s=(a+2)%3;r=Math.sqrt(e[3*a+a]-e[3*i+i]-e[3*s+s]+1),t[a]=.5*r,r=.5/r,t[3]=(e[3*i+s]-e[3*s+i])*r,t[i]=(e[3*i+a]+e[3*a+i])*r,t[s]=(e[3*s+a]+e[3*a+s])*r}return t},p.str=function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},void 0!==t&&(t.quat=p)}(e.exports)}(this);var Q_X=0,Q_Y=1,Q_Z=2,Q_W=3;dualQuat.prototype.reset=function(){quat.identity(this.real),this.real[Q_W]=0,quat.identity(this.imaginary),this.imaginary[Q_W]=0,quat.identity(this.tmpQ1)},dualQuat.prototype.createFromData=function(t,e){this.real=t,this.imaginary=quat.create(),this.imaginary[Q_W]=-.5*(e[Q_X]*t[Q_X]+e[Q_Y]*t[Q_Y]+e[Q_Z]*t[Q_Z]),this.imaginary[Q_X]=.5*(e[Q_X]*t[Q_W]+e[Q_Y]*t[Q_Z]-e[Q_Z]*t[Q_Y]),this.imaginary[Q_Y]=.5*(-e[Q_X]*t[Q_Z]+e[Q_Y]*t[Q_W]+e[Q_Z]*t[Q_X]),this.imaginary[Q_Z]=.5*(e[Q_X]*t[Q_Y]-e[Q_Y]*t[Q_X]+e[Q_Z]*t[Q_W])},dualQuat.prototype.add=function(t,e,r){quat.copy(this.tmpQ1,t.real),quat.scale(this.tmpQ1,this.tmpQ1,e),quat.add(this.real,this.tmpQ1,this.real),quat.copy(this.tmpQ1,t.imaginary),quat.scale(this.tmpQ1,this.tmpQ1,r),quat.add(this.imaginary,this.tmpQ1,this.imaginary)},dualQuat.prototype.normalize=function(){var t=quat.length(this.real);this.real=quat.scale(this.real,this.real,1/t),this.imaginary=quat.scale(this.imaginary,this.imaginary,1/t)};var v0=vec3.create(),ve=vec3.create(),trans=vec3.create(),tmpVec1=vec3.create(),tmpVec2=vec3.create(),tmpVec0=vec3.create(),aVec=vec3.create(),rot=vec3.create();dualQuat.prototype.transform=function(t){return v0[Q_X]=this.real[Q_X],v0[Q_Y]=this.real[Q_Y],v0[Q_Z]=this.real[Q_Z],ve[Q_X]=this.imaginary[Q_X],ve[Q_Y]=this.imaginary[Q_Y],ve[Q_Z]=this.imaginary[Q_Z],tmpVec1=vec3.scale(tmpVec1,v0,this.imaginary[Q_W]),tmpVec2=vec3.cross(tmpVec2,v0,ve),tmpVec0=vec3.scale(tmpVec0,ve,this.real[Q_W]),aVec=vec3.subtract(aVec,tmpVec0,tmpVec1),trans=vec3.add(trans,aVec,tmpVec2),trans=vec3.scale(trans,trans,2),rot=vec3.transformQuat(rot,t,this.real),rot=vec3.add(rot,rot,trans)};var Utils={};Utils.setAxisMatrix=function(t,e,r){var n=mat4.create();return n[0]=t[Q_X],n[4]=t[Q_Y],n[8]=t[Q_Z],n[1]=e[Q_X],n[5]=e[Q_Y],n[9]=e[Q_Z],n[2]=r[Q_X],n[6]=r[Q_Y],n[10]=r[Q_Z],n[12]=0,n[13]=0,n[14]=0,n[3]=0,n[7]=0,n[11]=0,n[15]=1,n=mat4.transpose(n,n)},Utils.matrixToQuat=function(t){var e,r=quat.create(),n=t,a=n[0],i=n[4],s=n[8],o=n[1],c=n[5],h=n[9],u=n[2],l=n[6],_=n[10],p=a+c+_;return p>0?(e=.5/Math.sqrt(p+1),r[Q_W]=.25/e,r[Q_X]=(l-h)*e,r[Q_Y]=(s-u)*e,r[Q_Z]=(o-i)*e):a>c&&a>_?(e=2*Math.sqrt(1+a-c-_),r[Q_W]=(l-h)/e,r[Q_X]=.25*e,r[Q_Y]=(i+o)/e,r[Q_Z]=(s+u)/e):c>_?(e=2*Math.sqrt(1+c-a-_),r[Q_W]=(s-u)/e,r[Q_X]=(i+o)/e,r[Q_Y]=.25*e,r[Q_Z]=(h+l)/e):(e=2*Math.sqrt(1+_-a-c),r[Q_W]=(o-i)/e,r[Q_X]=(s+u)/e,r[Q_Y]=(h+l)/e,r[Q_Z]=.25*e),r},Utils.rotateVec_90=function(t){return vec3.fromValues(-t[Q_Y],t[Q_X],t[Q_Z])},Utils.calcRotateMat=function(t){var e=vec3.clone(t);e=vec3.normalize(e,e);var r=Utils.rotateVec_90(e),n=vec3.fromValues(e[Q_X],e[Q_Y],0),a=vec3.fromValues(r[Q_X],r[Q_Y],0),i=vec3.fromValues(0,0,1);mat4.create();return Utils.setAxisMatrix(n,a,i)},Utils.getMatTranslate=function(t){var e=vec3.create();return e[Q_X]=t[12],e[Q_Y]=t[13],e[Q_Z]=t[14],e},Utils.addMat=function(t,e){for(var r=mat4.create(),n=0;n<16;n++)r[n]=t[n]+e[n];return r},Utils.mulMat=function(t,e){for(var r=mat4.create(),n=0;n<16;n++)r[n]=t[n]*e;return r},Utils.clamp=function(t,e,r){return tr?r:t};var newVec1=vec3.create(),newVec2=vec3.create();Utils.vecInterp=function(t,e,r){newVec1=vec3.scale(newVec1,t,1-r),newVec2=vec3.scale(newVec2,e,r);var n=vec3.create();return n=vec3.add(n,newVec1,newVec2)},Utils.vec2Interp=function(t,e,r){var n=vec2.create(),a=vec2.create();n=vec2.scale(n,t,1-r),a=vec2.scale(a,e,r);var i=vec2.create();return i=vec2.add(i,n,a)},MeshBone.prototype.setRestParentMat=function(t,e){this.rest_parent_mat=t,null==e?(this.rest_parent_inv_mat=mat4.clone(this.rest_parent_mat),mat4.invert(this.rest_parent_inv_mat,this.rest_parent_inv_mat)):this.rest_parent_inv_mat=mat4.clone(e)},MeshBone.prototype.setParentWorldMat=function(t){this.parent_world_mat=t},MeshBone.prototype.setParentWorldInvMat=function(t){this.parent_world_inv_mat=t},MeshBone.prototype.getLocalRestStartPt=function(){return this.local_rest_start_pt},MeshBone.prototype.getLocalRestEndPt=function(){return this.local_rest_end_pt},MeshBone.prototype.setLocalRestStartPt=function(t){this.local_rest_start_pt=vec3.create(),this.local_rest_start_pt=vec3.transformMat4(this.local_rest_start_pt,t,this.rest_parent_inv_mat),this.calcRestData()},MeshBone.prototype.setLocalRestEndPt=function(t){this.local_rest_end_pt=vec3.create(),this.local_rest_end_pt=vec3.transformMat4(this.local_rest_end_pt,t,this.rest_parent_inv_mat),this.calcRestData()},MeshBone.prototype.calcRestData=function(){if(null!=this.local_rest_start_pt&&null!=this.local_rest_end_pt){var t=this.computeDirs(this.local_rest_start_pt,this.local_rest_end_pt);this.local_rest_dir=t.first,this.local_rest_normal_dir=t.second,this.computeRestLength()}},MeshBone.prototype.setWorldStartPt=function(t){this.world_start_pt=t},MeshBone.prototype.setWorldEndPt=function(t){this.world_end_pt=t},MeshBone.prototype.fixDQs=function(t){quat.dot(this.world_dq.real,t.real)<0&&(this.world_dq.real=quat.scale(this.world_dq.real,this.world_dq.real,-1),this.world_dq.imaginary=quat.scale(this.world_dq.imaginary,this.world_dq.imaginary,-1));for(var e=0;e.05&&a.push(i);this.relevant_bones_indices.push(a)}for(var e in t){var s=t[e];this.fast_bones_map.push(s)}},MeshRenderRegion.prototype.initUvWarp=function(){var t=this.getUVsIndex();this.uv_warp_ref_uvs=[];for(var e=0;en&&(n=o),o=0&&null!==t?i=this.boundary_max[0]-n*t:t<0?i=-Math.abs(this.boundary_max[0]-n*Math.abs(t)):null===t&&(i=this.anchor_point_map&&this.anchor_point_map[r]?this.anchor_point_map[r][0]:0),e>=0&&null!==e?s=this.boundary_max[1]-a*e:e<0?s=-Math.abs(this.boundary_max[1]-a*Math.abs(e)):null===e&&(s=this.anchor_point_map&&this.anchor_point_map[r]?this.anchor_point_map[r][1]:0);var o={AnchorPoints:[{point:[i,s],anim_clip_name:r}]};this.anchor_point_map=this.FillAnchorPointMap(o)},Creature.prototype.GetAnchorPoint=function(t){return t in this.anchor_point_map?this.anchor_point_map[t]:vec2.fromValues(0,0)},Creature.prototype.FillRenderColours=function(t,e,r,n){for(var a=0;a=o&&n<=c){a=!0;break}}a&&t[n]++}this.boundary_indices=[];for(e=0;ei&&(e[0]=i),e[1]>s&&(e[1]=s),r[0]0)){for(var n=r.cache_pts,a=r.start_time;a<=r.end_time;a++){this.setRunTime(a);for(var i=[],s=0;s<3*this.target_creature.total_num_pts;s++)i[s]=0;this.PoseCreature(t,i),n.push(i)}this.setRunTime(e)}},CreatureManager.prototype.FillSinglePointCacheFrame=function(t,e){var r=this.getRunTime(),n=this.animations[t];this.setRunTime(e);for(var a=[],i=0;i<3*this.target_creature.total_num_pts;i++)a[i]=0;this.PoseCreature(t,a),n.fill_cache_pts.push(a),n.verifyFillCache(),this.setRunTime(r)},CreatureManager.prototype.GetIsPlaying=function(){return this.is_playing},CreatureManager.prototype.SetShouldLoop=function(t){this.should_loop=t},CreatureManager.prototype.SetUseCustomTimeRange=function(t){this.use_custom_time_range=t},CreatureManager.prototype.SetCustomTimeRange=function(t,e){this.custom_start_time=t,this.custom_end_time=e},CreatureManager.prototype.SetIsPlaying=function(t){this.is_playing=t},CreatureManager.prototype.ResetToStartTimes=function(){var t=this.animations[active_animation_name];this.run_time=t.start_time},CreatureManager.prototype.setRunTime=function(t){this.run_time=t,this.correctTime()},CreatureManager.prototype.increRunTime=function(t){this.run_time+=t,this.correctTime()},CreatureManager.prototype.correctTime=function(){var t=this.animations[this.active_animation_name],e=t.start_time,r=t.end_time;this.use_custom_time_range&&(e=this.custom_start_time,r=this.custom_end_time),this.run_time>r?this.should_loop?this.run_time=e:this.run_time=r:this.run_time0?i.poseFromCachePts(this.getRunTime(),this.blend_render_pts[t],this.target_creature.total_num_pts):this.PoseCreature(this.active_blend_animation_names[t],this.blend_render_pts[t]);for(var e=0;e<3*this.target_creature.total_num_pts;e++){var r=e,n=this.blend_render_pts[0][e],a=this.blend_render_pts[1][e];this.target_creature.render_pts.set(r,(1-blending_factor)*n+blending_factor*a)}}else{var i=this.animations[this.active_animation_name];i.cache_pts.length>0?i.poseFromCachePts(this.getRunTime(),this.target_creature.render_pts,this.target_creature.total_num_pts):this.PoseCreature(this.active_animation_name,this.target_creature.render_pts)}},CreatureManager.prototype.SetTimeScale=function(t){this.time_scale=t},CreatureManager.prototype.SetBlending=function(t){if(this.do_blending=t,this.do_blending){if(0==this.blend_render_pts[0].length){for(var e=[],r=0;r<3*target_creature.total_num_pts;r++)e.push(0);this.blend_render_pts.set(0,e)}if(0==this.blend_render_pts[1].length){for(var e=[],r=0;r<3*this.target_creature.total_num_pts;r++)e.push(0);this.blend_render_pts[1]=e}}},CreatureManager.prototype.SetBlendingAnimations=function(t,e){this.active_blend_animation_names[0]=t,this.active_blend_animation_names[1]=e},CreatureManager.prototype.SetBlendingFactor=function(t){this.blending_factor=t},CreatureManager.prototype.IsContactBone=function(t,e){var r=this.target_creature.render_composition.getRootBone();return this.ProcessContactBone(t,e,r)},CreatureManager.prototype.PoseCreature=function(t,e){var r=this.animations[t],n=r.bones_cache,a=r.displacement_cache,i=r.uv_warp_cache,s=this.target_creature.render_composition,o=s.getBonesMap(),c=s.getRegionsMap();n.retrieveValuesAtTime(this.getRunTime(),o),this.AlterBonesByAnchor(o,t),null!=this.bones_override_callback&&this.bones_override_callback(o),a.retrieveValuesAtTime(this.getRunTime(),c),i.retrieveValuesAtTime(this.getRunTime(),c);var h=s.getRegions(),u=s.getBonesMap();s.updateAllTransforms(!1);for(var l=0,_=h.length;l<_;l++){var p=h[l],d=p.getStartPtIndex();p.poseFinalPts(e,3*d,u);for(var m=3*p.getStartPtIndex(),f=3*p.getEndPtIndex(),v=m;v<=f;v+=3)e[v+2]=.001*-l}}; //# sourceMappingURL=creature.map \ No newline at end of file diff --git a/build/custom/p2.min.js b/build/custom/p2.min.js index 9af619505..ab7deffa1 100644 --- a/build/custom/p2.min.js +++ b/build/custom/p2.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.9.0 P2.JS Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.9.1 P2.JS Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ !function(t){if("object"==typeof exports)module.exports=t();else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.p2=t()}}(function(){return function t(e,o,i){function n(a,r){if(!o[a]){if(!e[a]){var c="function"==typeof require&&require;if(!r&&c)return c(a,!0);if(s)return s(a,!0);throw new Error("Cannot find module '"+a+"'")}var h=o[a]={exports:{}};e[a][0].call(h.exports,function(t){var o=e[a][1][t];return n(o||t)},h,h.exports,t,e,o,i)}return o[a].exports}for(var s="function"==typeof require&&require,a=0;a=0&&c<=1&&h>=0&&h<=1}},{"./Scalar":4}],2:[function(t,e,o){function i(){}e.exports=i,i.area=function(t,e,o){return(e[0]-t[0])*(o[1]-t[1])-(o[0]-t[0])*(e[1]-t[1])},i.left=function(t,e,o){return i.area(t,e,o)>0},i.leftOn=function(t,e,o){return i.area(t,e,o)>=0},i.right=function(t,e,o){return i.area(t,e,o)<0},i.rightOn=function(t,e,o){return i.area(t,e,o)<=0};var n=[],s=[];i.collinear=function(t,e,o,a){if(a){var r=n,c=s;r[0]=e[0]-t[0],r[1]=e[1]-t[1],c[0]=o[0]-e[0],c[1]=o[1]-e[1];var h=r[0]*c[0]+r[1]*c[1],l=Math.sqrt(r[0]*r[0]+r[1]*r[1]),p=Math.sqrt(c[0]*c[0]+c[1]*c[1]);return Math.acos(h/(l*p))t.vertices.length)throw new Error("lol2");if(e<0)throw new Error("lol3");for(var i=e;ie[t][0])&&(t=o);a.left(this.at(t-1),this.at(t),this.at(t+1))||this.reverse()},i.prototype.reverse=function(){for(var t=[],e=0,o=this.vertices.length;e!==o;e++)t.push(this.vertices.pop());this.vertices=t},i.prototype.isReflex=function(t){return a.right(this.at(t-1),this.at(t),this.at(t+1))};var c=[],h=[];i.prototype.canSee=function(t,e){var o,i,n=c,r=h;if(a.leftOn(this.at(t+1),this.at(t),this.at(e))&&a.rightOn(this.at(t-1),this.at(t),this.at(e)))return!1;i=a.sqdist(this.at(t),this.at(e));for(var l=0;l!==this.vertices.length;++l)if((l+1)%this.vertices.length!==t&&l!==t&&a.leftOn(this.at(t),this.at(e),this.at(l+1))&&a.rightOn(this.at(t),this.at(e),this.at(l))&&(n[0]=this.at(t),n[1]=this.at(e),r[0]=this.at(l),r[1]=this.at(l+1),o=s.lineInt(n,r),a.sqdist(this.at(t),o)0?this.slice(t):[this]},i.prototype.slice=function(t){if(0==t.length)return[this];if(t instanceof Array&&t.length&&t[0]instanceof Array&&2==t[0].length&&t[0][0]instanceof Array){for(var e=[this],o=0;or)return console.warn("quickDecomp: max level ("+r+") reached."),t;for(var q=0;qy&&(y+=this.vertices.length),v=Number.MAX_VALUE,y3&&o>=0;--o)a.collinear(this.at(o-1),this.at(o),this.at(o+1),t)&&(this.vertices.splice(o%this.vertices.length,1),o--,e++);return e}},{"./Line":1,"./Point":2,"./Scalar":4}],4:[function(t,e,o){function i(){}e.exports=i,i.eq=function(t,e,o){return o=o||0,Math.abs(t-e) (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.1"}}},{}],7:[function(t,e,o){function i(t){this.lowerBound=n.create(),t&&t.lowerBound&&n.copy(this.lowerBound,t.lowerBound),this.upperBound=n.create(),t&&t.upperBound&&n.copy(this.upperBound,t.upperBound)}var n=t("../math/vec2");t("../utils/Utils");e.exports=i;var s=n.create();i.prototype.setFromPoints=function(t,e,o,i){var a=this.lowerBound,r=this.upperBound;"number"!=typeof o&&(o=0),0!==o?n.rotate(a,t[0],o):n.copy(a,t[0]),n.copy(r,a);for(var c=Math.cos(o),h=Math.sin(o),l=1;lr[f]&&(r[f]=p[f]),p[f]o&&(this.lowerBound[e]=o);var i=t.upperBound[e];this.upperBound[e]c?-1:r}},{"../math/vec2":30,"../utils/Utils":57}],8:[function(t,e,o){function i(t){this.type=t,this.result=[],this.world=null,this.boundingVolumeType=i.AABB}var n=t("../math/vec2"),s=t("../objects/Body");e.exports=i,i.AABB=1,i.BOUNDING_CIRCLE=2,i.prototype.setWorld=function(t){this.world=t},i.prototype.getCollisionPairs=function(t){};var a=n.create();i.boundingRadiusCheck=function(t,e){n.sub(a,t.position,e.position);var o=n.squaredLength(a),i=t.boundingRadius+e.boundingRadius;return o<=i*i},i.aabbCheck=function(t,e){return t.getAABB().overlaps(e.getAABB())},i.prototype.boundingVolumeCheck=function(t,e){var o;switch(this.boundingVolumeType){case i.BOUNDING_CIRCLE:o=i.boundingRadiusCheck(t,e);break;case i.AABB:o=i.aabbCheck(t,e);break;default:throw new Error("Bounding volume type not recognized: "+this.boundingVolumeType)}return o},i.canCollide=function(t,e){var o=s.KINEMATIC,i=s.STATIC;return(t.type!==i||e.type!==i)&&(!(t.type===o&&e.type===i||t.type===i&&e.type===o)&&((t.type!==o||e.type!==o)&&((t.sleepState!==s.SLEEPING||e.sleepState!==s.SLEEPING)&&!(t.sleepState===s.SLEEPING&&e.type===i||e.sleepState===s.SLEEPING&&t.type===i))))},i.NAIVE=1,i.SAP=2},{"../math/vec2":30,"../objects/Body":31}],9:[function(t,e,o){function i(){n.call(this,n.NAIVE)}t("../shapes/Circle"),t("../shapes/Plane"),t("../shapes/Shape"),t("../shapes/Particle");var n=t("../collision/Broadphase");t("../math/vec2");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.getCollisionPairs=function(t){var e=t.bodies,o=this.result;o.length=0;for(var i=0,s=e.length;i!==s;i++)for(var a=e[i],r=0;rK&&Y0)for(U=0;UMath.pow(v,2))return 0;if(p)return!0;var y=this.createContactEquation(t,n,e,s);return r(y.normalA,h,o),a.normalize(y.normalA,y.normalA),a.scale(y.contactPointA,y.normalA,u),a.scale(y.contactPointB,y.normalA,-d),c(y.contactPointA,y.contactPointA,o),r(y.contactPointA,y.contactPointA,t.position),c(y.contactPointB,y.contactPointB,h),r(y.contactPointB,y.contactPointB,n.position),this.contactEquations.push(y),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(y)),1},i.prototype[y.PLANE|y.CONVEX]=i.prototype[y.PLANE|y.BOX]=i.prototype.planeConvex=function(t,e,o,i,n,s,l,p,u){var d=A,f=b,v=E,y=0;a.rotate(f,g,i);for(var m=0;m!==s.vertices.length;m++){var B=s.vertices[m];if(a.rotate(d,B,p),c(d,d,l),r(v,d,o),h(v,f)<=0){if(u)return!0;y++;var q=this.createContactEquation(t,n,e,s);r(v,d,o),a.copy(q.normalA,f);var P=h(v,q.normalA);a.scale(v,q.normalA,P),r(q.contactPointB,d,n.position),r(q.contactPointA,d,v),r(q.contactPointA,q.contactPointA,t.position),this.contactEquations.push(q),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(q))}}return this.enableFrictionReduction&&this.enableFriction&&y&&this.frictionEquations.push(this.createFrictionFromAverage(y)),y},i.prototype[y.PARTICLE|y.PLANE]=i.prototype.particlePlane=function(t,e,o,i,n,s,c,l,p){var u=A,d=b;l=l||0,r(u,o,c),a.rotate(d,g,l);var f=h(u,d);if(f>0)return 0;if(p)return!0;var v=this.createContactEquation(n,t,s,e);return a.copy(v.normalA,d),a.scale(u,v.normalA,f),r(v.contactPointA,o,u),r(v.contactPointA,v.contactPointA,n.position),r(v.contactPointB,o,t.position),this.contactEquations.push(v),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(v)),1},i.prototype[y.CIRCLE|y.PARTICLE]=i.prototype.circleParticle=function(t,e,o,i,n,s,h,l,p){var u=A;if(r(u,h,o),a.squaredLength(u)>Math.pow(e.radius,2))return 0;if(p)return!0;var d=this.createContactEquation(t,n,e,s);return a.copy(d.normalA,u),a.normalize(d.normalA,d.normalA),a.scale(d.contactPointA,d.normalA,e.radius),c(d.contactPointA,d.contactPointA,o),r(d.contactPointA,d.contactPointA,t.position),r(d.contactPointB,h,n.position),this.contactEquations.push(d),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(d)),1};var H=new f({radius:1}),Z=a.create(),J=a.create();a.create();i.prototype[y.PLANE|y.CAPSULE]=i.prototype.planeCapsule=function(t,e,o,i,n,s,r,h,l){var p=Z,u=J,d=H;a.set(p,-s.length/2,0),a.rotate(p,p,h),c(p,p,r),a.set(u,s.length/2,0),a.rotate(u,u,h),c(u,u,r),d.radius=s.radius;var f;this.enableFrictionReduction&&(f=this.enableFriction,this.enableFriction=!1);var v=this.circlePlane(n,d,p,0,t,e,o,i,l),y=this.circlePlane(n,d,u,0,t,e,o,i,l);if(this.enableFrictionReduction&&(this.enableFriction=f),l)return v||y;var m=v+y;return this.enableFrictionReduction&&m&&this.frictionEquations.push(this.createFrictionFromAverage(m)),m},i.prototype[y.CIRCLE|y.PLANE]=i.prototype.circlePlane=function(t,e,o,i,n,s,l,p,u){var d=t,f=e,v=o,y=n,m=l,B=p;B=B||0;var q=A,P=b,w=E;r(q,v,m),a.rotate(P,g,B);var S=h(P,q);if(S>f.radius)return 0;if(u)return!0;var C=this.createContactEquation(y,d,s,e);return a.copy(C.normalA,P),a.scale(C.contactPointB,C.normalA,-f.radius),c(C.contactPointB,C.contactPointB,v),r(C.contactPointB,C.contactPointB,d.position),a.scale(w,C.normalA,S),r(C.contactPointA,q,w),c(C.contactPointA,C.contactPointA,m),r(C.contactPointA,C.contactPointA,y.position),this.contactEquations.push(C),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(C)),1},i.prototype[y.CONVEX]=i.prototype[y.CONVEX|y.BOX]=i.prototype[y.BOX]=i.prototype.convexConvex=function(t,e,o,n,s,l,p,u,d,f){var v=A,y=b,m=E,g=B,P=q,L=w,x=S,F=C,M=0,f="number"==typeof f?f:0;if(!i.findSeparatingAxis(e,o,n,l,p,u,v))return 0;r(x,p,o),h(v,x)>0&&a.scale(v,v,-1);var I=i.getClosestEdge(e,n,v,!0),R=i.getClosestEdge(l,u,v);if(-1===I||-1===R)return 0;for(var V=0;V<2;V++){var T=I,N=R,G=e,O=l,U=o,k=p,_=n,D=u,W=t,j=s;if(0===V){var X;X=T,T=N,N=X,X=G,G=O,O=X,X=U,U=k,k=X,X=_,_=D,D=X,X=W,W=j,j=X}for(var z=N;z=3){if(d)return!0;var Q=this.createContactEquation(W,j,G,O);M++;var Z=G.vertices[T%G.vertices.length],J=G.vertices[(T+1)%G.vertices.length];a.rotate(m,Z,_),a.rotate(g,J,_),c(m,m,U),c(g,g,U),r(P,g,m),a.rotate90cw(Q.normalA,P),a.normalize(Q.normalA,Q.normalA),r(x,y,m);var $=h(Q.normalA,x);a.scale(L,Q.normalA,$),r(Q.contactPointA,y,U),r(Q.contactPointA,Q.contactPointA,L),c(Q.contactPointA,Q.contactPointA,U),r(Q.contactPointA,Q.contactPointA,W.position),r(Q.contactPointB,y,k),c(Q.contactPointB,Q.contactPointB,k),r(Q.contactPointB,Q.contactPointB,j.position),this.contactEquations.push(Q),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(Q))}}}return this.enableFrictionReduction&&this.enableFriction&&M&&this.frictionEquations.push(this.createFrictionFromAverage(M)),M};var Q=a.fromValues(0,0);i.projectConvexOntoAxis=function(t,e,o,i,n){var s,r,c=null,l=null,p=Q;a.rotate(p,i,-o);for(var u=0;uc)&&(c=r),(null===l||rc){var d=l;l=c,c=d}var f=h(e,i);a.set(n,l+f,c+f)};var $=a.fromValues(0,0),tt=a.fromValues(0,0),et=a.fromValues(0,0),ot=a.fromValues(0,0),it=a.fromValues(0,0),nt=a.fromValues(0,0);i.findSeparatingAxis=function(t,e,o,n,s,c,h){var l=null,p=!1,u=!1,d=$,f=tt,v=et,y=ot,g=it,A=nt;if(t instanceof m&&n instanceof m)for(P=0;2!==P;P++){var b=t,E=o;1===P&&(b=n,E=c);for(w=0;2!==w;w++){0===w?a.set(y,0,1):1===w&&a.set(y,1,0),0!==E&&a.rotate(y,y,E),i.projectConvexOntoAxis(t,e,o,y,g),i.projectConvexOntoAxis(n,s,c,y,A);var B=g,q=A;g[0]>A[0]&&(q=g,B=A,!0),p=(S=q[0]-B[1])<=0,(null===l||S>l)&&(a.copy(h,y),l=S,u=p)}}else for(var P=0;2!==P;P++){var b=t,E=o;1===P&&(b=n,E=c);for(var w=0;w!==b.vertices.length;w++){a.rotate(f,b.vertices[w],E),a.rotate(v,b.vertices[(w+1)%b.vertices.length],E),r(d,v,f),a.rotate90cw(y,d),a.normalize(y,y),i.projectConvexOntoAxis(t,e,o,y,g),i.projectConvexOntoAxis(n,s,c,y,A);var B=g,q=A;g[0]>A[0]&&(q=g,B=A,!0);var S=q[0]-B[1];p=S<=0,(null===l||S>l)&&(a.copy(h,y),l=S,u=p)}}return u};var st=a.fromValues(0,0),at=a.fromValues(0,0),rt=a.fromValues(0,0);i.getClosestEdge=function(t,e,o,i){var n=st,s=at,c=rt;a.rotate(n,o,-e),i&&a.scale(n,n,-1);for(var l=-1,p=t.vertices.length,u=-1,d=0;d!==p;d++){r(s,t.vertices[(d+1)%p],t.vertices[d%p]),a.rotate90cw(c,s),a.normalize(c,c);var f=h(c,n);(-1===l||f>u)&&(l=d%p,u=f)}return l};var ct=a.create(),ht=a.create(),lt=a.create(),pt=a.create(),ut=a.create(),dt=a.create(),ft=a.create();i.prototype[y.CIRCLE|y.HEIGHTFIELD]=i.prototype.circleHeightfield=function(t,e,o,i,n,s,h,l,p,u){var d=s.heights,u=u||e.radius,f=s.elementWidth,v=ht,y=ct,m=ut,g=ft,A=dt,b=lt,E=pt,B=Math.floor((o[0]-u-h[0])/f),q=Math.ceil((o[0]+u-h[0])/f);B<0&&(B=0),q>=d.length&&(q=d.length-1);for(var P=d[B],w=d[q],S=B;SP&&(P=d[S]);if(o[1]-u>P)return!p&&0;for(var C=!1,S=B;S=b[0]&&y[0]0)for(S=B;S<=q;S++)if(a.set(b,S*f,d[S]),a.add(b,b,h),a.sub(v,o,b),a.squaredLength(v)=l.length&&(m=l.length-1);for(var g=l[y],A=l[m],b=y;bg&&(g=l[b]);if(t.aabb.lowerBound[1]>g)return!h&&0;for(var E=0,b=y;b=0||s.containsPoint(this.from))&&this.intersectBody(t,n)}};var a=s.create();i.prototype.intersectBody=function(t,e){var o=this.checkCollisionResponse;if(!o||e.collisionResponse)for(var i=a,n=0,r=e.shapes.length;ne.boundingRadius*e.boundingRadius||(this._currentBody=s,this._currentShape=e,e.raycast(t,this,i,o),this._currentBody=this._currentShape=null)},i.prototype.getAABB=function(t){var e=this.to,o=this.from;s.set(t.lowerBound,Math.min(e[0],o[0]),Math.min(e[1],o[1])),s.set(t.upperBound,Math.max(e[0],o[0]),Math.max(e[1],o[1]))};s.create();i.prototype.reportIntersection=function(t,e,o,n){this.from,this.to;var a=this._currentShape,r=this._currentBody;if(!(this.skipBackfaces&&s.dot(o,this.direction)>0))switch(this.mode){case i.ALL:t.set(o,a,r,e,n),this.callback(t);break;case i.CLOSEST:(e=0&&!(t[s].aabb.lowerBound[e]<=n.aabb.lowerBound[e]);s--)t[s+1]=t[s];t[s+1]=n}return t},i.prototype.sortList=function(){var t=this.axisList,e=this.axisIndex;i.sortAxisList(t,e)},i.prototype.getCollisionPairs=function(t){var e=this.axisList,o=this.result,i=this.axisIndex;o.length=0;for(var n=e.length;n--;){var a=e[n];a.aabbNeedsUpdate&&a.updateAABB()}this.sortList();for(var r=0,c=0|e.length;r!==c;r++)for(var h=e[r],l=r+1;lthis.upperLimit&&(s.maxForce=0,s.minForce=-this.maxForce,this.distance=this.upperLimit,p=!0),this.lowerLimitEnabled&&this.positiono?(r.scale(n.normalA,h,-1),r.sub(n.contactPointA,l,a.position),r.sub(n.contactPointB,p,c.position),r.scale(f,h,o),r.add(n.contactPointA,n.contactPointA,f),-1===t.indexOf(n)&&t.push(n)):-1!==(b=t.indexOf(n))&&t.splice(b,1),this.lowerLimitEnabled&&gr?(f.angle=r,-1===n.indexOf(f)&&n.push(f)):-1!==(m=n.indexOf(f))&&n.splice(m,1),this.lowerLimitEnabled&&y>1;if(e<3)return[];for(var o=[],n=[],s=0;s3;){var r=n[(s+0)%a],c=n[(s+1)%a],h=n[(s+2)%a],l=t[2*r],p=t[2*r+1],u=t[2*c],d=t[2*c+1],f=t[2*h],v=t[2*h+1],y=!1;if(i._convex(l,p,u,d,f,v)){y=!0;for(var m=0;m3*a)break}return o.push(n[0],n[1],n[2]),o},i._PointInTriangle=function(t,e,o,i,n,s,a,r){var c=a-o,h=r-i,l=n-o,p=s-i,u=t-o,d=e-i,f=c*c+h*h,v=c*l+h*p,y=c*u+h*d,m=l*l+p*p,g=l*u+p*d,A=1/(f*m-v*v),b=(m*y-v*g)*A,E=(f*g-v*y)*A;return b>=0&&E>=0&&b+E<1},i._convex=function(t,e,o,i,n,s){return(e-i)*(n-o)+(o-t)*(s-i)>=0},e.exports=i},{}],30:[function(t,e,o){var i=e.exports={},n=t("../utils/Utils");i.crossLength=function(t,e){return t[0]*e[1]-t[1]*e[0]},i.crossVZ=function(t,e,o){return i.rotate(t,e,-Math.PI/2),i.scale(t,t,o),t},i.crossZV=function(t,e,o){return i.rotate(t,o,Math.PI/2),i.scale(t,t,e),t},i.rotate=function(t,e,o){if(0!==o){var i=Math.cos(o),n=Math.sin(o),s=e[0],a=e[1];t[0]=i*s-n*a,t[1]=n*s+i*a}else t[0]=e[0],t[1]=e[1]},i.rotate90cw=function(t,e){var o=e[0],i=e[1];t[0]=i,t[1]=-o},i.toLocalFrame=function(t,e,o,n){i.copy(t,e),i.sub(t,t,o),i.rotate(t,t,-n)},i.toGlobalFrame=function(t,e,o,n){i.copy(t,e),i.rotate(t,t,n),i.add(t,t,o)},i.vectorToLocalFrame=function(t,e,o){i.rotate(t,e,-o)},i.vectorToGlobalFrame=function(t,e,o){i.rotate(t,e,o)},i.centroid=function(t,e,o,n){return i.add(t,e,o),i.add(t,t,n),i.scale(t,t,1/3),t},i.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},i.fromValues=function(t,e){var o=new n.ARRAY_TYPE(2);return o[0]=t,o[1]=e,o},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},i.set=function(t,e,o){return t[0]=e,t[1]=o,t},i.add=function(t,e,o){return t[0]=e[0]+o[0],t[1]=e[1]+o[1],t},i.subtract=function(t,e,o){return t[0]=e[0]-o[0],t[1]=e[1]-o[1],t},i.sub=i.subtract,i.multiply=function(t,e,o){return t[0]=e[0]*o[0],t[1]=e[1]*o[1],t},i.mul=i.multiply,i.divide=function(t,e,o){return t[0]=e[0]/o[0],t[1]=e[1]/o[1],t},i.div=i.divide,i.scale=function(t,e,o){return t[0]=e[0]*o,t[1]=e[1]*o,t},i.distance=function(t,e){var o=e[0]-t[0],i=e[1]-t[1];return Math.sqrt(o*o+i*i)},i.dist=i.distance,i.squaredDistance=function(t,e){var o=e[0]-t[0],i=e[1]-t[1];return o*o+i*i},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],o=t[1];return Math.sqrt(e*e+o*o)},i.len=i.length,i.squaredLength=function(t){var e=t[0],o=t[1];return e*e+o*o},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},i.normalize=function(t,e){var o=e[0],i=e[1],n=o*o+i*i;return n>0&&(n=1/Math.sqrt(n),t[0]=e[0]*n,t[1]=e[1]*n),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},i.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},i.lerp=function(t,e,o,i){var n=e[0],s=e[1];return t[0]=n+i*(o[0]-n),t[1]=s+i*(o[1]-s),t},i.reflect=function(t,e,o){var i=e[0]*o[0]+e[1]*o[1];t[0]=e[0]-2*o[0]*i,t[1]=e[1]-2*o[1]*i},i.getLineSegmentsIntersection=function(t,e,o,n,s){var a=i.getLineSegmentsIntersectionFraction(e,o,n,s);return!(a<0)&&(t[0]=e[0]+a*(o[0]-e[0]),t[1]=e[1]+a*(o[1]-e[1]),!0)},i.getLineSegmentsIntersectionFraction=function(t,e,o,i){var n,s,a=e[0]-t[0],r=e[1]-t[1],c=i[0]-o[0],h=i[1]-o[1];return n=(-r*(t[0]-o[0])+a*(t[1]-o[1]))/(-c*r+a*h),s=(c*(t[1]-o[1])-h*(t[0]-o[0]))/(-c*r+a*h),n>=0&&n<=1&&s>=0&&s<=1?s:-1}},{"../utils/Utils":57}],31:[function(t,e,o){function i(t){t=t||{},l.call(this),this.id=t.id||++i._idCounter,this.world=null,this.shapes=[],this.mass=t.mass||0,this.invMass=0,this.inertia=0,this.invInertia=0,this.invMassSolve=0,this.invInertiaSolve=0,this.fixedRotation=!!t.fixedRotation,this.fixedX=!!t.fixedX,this.fixedY=!!t.fixedY,this.massMultiplier=n.create(),this.position=n.fromValues(0,0),t.position&&n.copy(this.position,t.position),this.interpolatedPosition=n.fromValues(0,0),this.interpolatedAngle=0,this.previousPosition=n.fromValues(0,0),this.previousAngle=0,this.velocity=n.fromValues(0,0),t.velocity&&n.copy(this.velocity,t.velocity),this.vlambda=n.fromValues(0,0),this.wlambda=0,this.angle=t.angle||0,this.angularVelocity=t.angularVelocity||0,this.force=n.create(),t.force&&n.copy(this.force,t.force),this.angularForce=t.angularForce||0,this.damping="number"==typeof t.damping?t.damping:.1,this.angularDamping="number"==typeof t.angularDamping?t.angularDamping:.1,this.type=i.STATIC,void 0!==t.type?this.type=t.type:t.mass?this.type=i.DYNAMIC:this.type=i.STATIC,this.boundingRadius=0,this.aabb=new h,this.aabbNeedsUpdate=!0,this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.wantsToSleep=!1,this.sleepState=i.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.2,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.gravityScale=void 0!==t.gravityScale?t.gravityScale:1,this.collisionResponse=void 0===t.collisionResponse||t.collisionResponse,this.idleTime=0,this.timeLastSleepy=0,this.ccdSpeedThreshold=void 0!==t.ccdSpeedThreshold?t.ccdSpeedThreshold:-1,this.ccdIterations=void 0!==t.ccdIterations?t.ccdIterations:10,this.concavePath=null,this._wakeUpAfterNarrowphase=!1,this.updateMassProperties()}var n=t("../math/vec2"),s=t("poly-decomp"),a=t("../shapes/Convex"),r=t("../collision/RaycastResult"),c=t("../collision/Ray"),h=t("../collision/AABB"),l=t("../events/EventEmitter");e.exports=i,i.prototype=new l,i.prototype.constructor=i,i._idCounter=0,i.prototype.updateSolveMassProperties=function(){this.sleepState===i.SLEEPING||this.type===i.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve=0):(this.invMassSolve=this.invMass,this.invInertiaSolve=this.invInertia)},i.prototype.setDensity=function(t){var e=this.getArea();this.mass=e*t,this.updateMassProperties()},i.prototype.getArea=function(){for(var t=0,e=0;eo&&(o=a+r)}this.boundingRadius=o},i.prototype.addShape=function(t,e,o){if(t.body)throw new Error("A shape can only be added to one body.");t.body=this,e?n.copy(t.position,e):n.set(t.position,0,0),t.angle=o||0,this.shapes.push(t),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0},i.prototype.removeShape=function(t){var e=this.shapes.indexOf(t);return-1!==e&&(this.shapes.splice(e,1),this.aabbNeedsUpdate=!0,t.body=null,!0)},i.prototype.updateMassProperties=function(){if(this.type===i.STATIC||this.type===i.KINEMATIC)this.mass=Number.MAX_VALUE,this.invMass=0,this.inertia=Number.MAX_VALUE,this.invInertia=0;else{var t=this.shapes,e=t.length,o=this.mass/e,s=0;if(this.fixedRotation)this.inertia=Number.MAX_VALUE,this.invInertia=0;else{for(var a=0;a0?1/s:0}this.invMass=1/this.mass,n.set(this.massMultiplier,this.fixedX?0:1,this.fixedY?0:1)}};n.create();i.prototype.applyForce=function(t,e){if(n.add(this.force,this.force,t),e){var o=n.crossLength(e,t);this.angularForce+=o}};var d=n.create(),f=n.create(),v=n.create();i.prototype.applyForceLocal=function(t,e){e=e||v;var o=d,i=f;this.vectorToWorldFrame(o,t),this.vectorToWorldFrame(i,e),this.applyForce(o,i)};var y=n.create();i.prototype.applyImpulse=function(t,e){if(this.type===i.DYNAMIC){var o=y;if(n.scale(o,t,this.invMass),n.multiply(o,this.massMultiplier,o),n.add(this.velocity,o,this.velocity),e){var s=n.crossLength(e,t);s*=this.invInertia,this.angularVelocity+=s}}};var m=n.create(),g=n.create(),A=n.create();i.prototype.applyImpulseLocal=function(t,e){e=e||A;var o=m,i=g;this.vectorToWorldFrame(o,t),this.vectorToWorldFrame(i,e),this.applyImpulse(o,i)},i.prototype.toLocalFrame=function(t,e){n.toLocalFrame(t,e,this.position,this.angle)},i.prototype.toWorldFrame=function(t,e){n.toGlobalFrame(t,e,this.position,this.angle)},i.prototype.vectorToLocalFrame=function(t,e){n.vectorToLocalFrame(t,e,this.angle)},i.prototype.vectorToWorldFrame=function(t,e){n.vectorToGlobalFrame(t,e,this.angle)},i.prototype.fromPolygon=function(t,e){e=e||{};for(c=this.shapes.length;c>=0;--c)this.removeShape(this.shapes[c]);var o=new s.Polygon;if(o.vertices=t,o.makeCCW(),"number"==typeof e.removeCollinearPoints&&o.removeCollinearPoints(e.removeCollinearPoints),void 0===e.skipSimpleCheck&&!o.isSimple())return!1;this.concavePath=o.vertices.slice(0);for(c=0;c=Math.pow(this.sleepSpeedLimit,2)?(this.idleTime=0,this.sleepState=i.AWAKE):(this.idleTime+=o,this.sleepState=i.SLEEPY),this.idleTime>this.sleepTimeLimit&&(e?this.wantsToSleep=!0:this.sleep())}},i.prototype.overlaps=function(t){return this.world.overlapKeeper.bodiesAreOverlapping(this,t)};var q=n.create(),P=n.create();i.prototype.integrate=function(t){var e=this.invMass,o=this.force,i=this.position,s=this.velocity;n.copy(this.previousPosition,this.position),this.previousAngle=this.angle,this.fixedRotation||(this.angularVelocity+=this.angularForce*this.invInertia*t),n.scale(q,o,t*e),n.multiply(q,this.massMultiplier,q),n.add(s,q,s),this.integrateToTimeOfImpact(t)||(n.scale(P,s,t),n.add(i,i,P),this.fixedRotation||(this.angle+=this.angularVelocity*t)),this.aabbNeedsUpdate=!0};var w=new r,S=new c({mode:c.ALL}),C=n.create(),L=n.create(),x=n.create(),F=n.create();i.prototype.integrateToTimeOfImpact=function(t){if(this.ccdSpeedThreshold<0||n.squaredLength(this.velocity)=h&&c=0&&(s.rotate(d,p,i),s.scale(d,d,2*m-1),e.reportIntersection(t,q,d,-1),t.shouldStop(e)))return}for(var A=Math.pow(this.radius,2)+Math.pow(y,2),m=0;m<2;m++){s.set(f,y*(2*m-1),0),s.toGlobalFrame(f,f,o,i);var b=Math.pow(a[0]-n[0],2)+Math.pow(a[1]-n[1],2),E=2*((a[0]-n[0])*(n[0]-f[0])+(a[1]-n[1])*(n[1]-f[1])),B=Math.pow(n[0]-f[0],2)+Math.pow(n[1]-f[1],2)-Math.pow(this.radius,2),q=Math.pow(E,2)-4*b*B;if(!(q<0))if(0===q){if(s.lerp(u,n,a,q),s.squaredDistance(u,o)>A&&(s.sub(d,u,f),s.normalize(d,d),e.reportIntersection(t,q,d,-1),t.shouldStop(e)))return}else{var P=Math.sqrt(q),w=1/(2*b),S=(-E-P)*w,C=(-E+P)*w;if(S>=0&&S<=1&&(s.lerp(u,n,a,S),s.squaredDistance(u,o)>A&&(s.sub(d,u,f),s.normalize(d,d),e.reportIntersection(t,S,d,-1),t.shouldStop(e))))return;if(C>=0&&C<=1&&(s.lerp(u,n,a,C),s.squaredDistance(u,o)>A&&(s.sub(d,u,f),s.normalize(d,d),e.reportIntersection(t,C,d,-1),t.shouldStop(e))))return}}}},{"../math/vec2":30,"./Shape":45}],39:[function(t,e,o){function i(t){"number"==typeof arguments[0]&&(t={radius:arguments[0]},console.warn("The Circle constructor signature has changed. Please use the following format: new Circle({ radius: 1 })")),t=t||{},this.radius=t.radius||1,t.type=n.CIRCLE,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.computeMomentOfInertia=function(t){var e=this.radius;return t*e*e/2},i.prototype.updateBoundingRadius=function(){this.boundingRadius=this.radius},i.prototype.updateArea=function(){this.area=Math.PI*this.radius*this.radius},i.prototype.computeAABB=function(t,e,o){var i=this.radius;s.set(t.upperBound,i,i),s.set(t.lowerBound,-i,-i),e&&(s.add(t.lowerBound,t.lowerBound,e),s.add(t.upperBound,t.upperBound,e))};var a=s.create(),r=s.create();i.prototype.raycast=function(t,e,o,i){var n=e.from,c=e.to,h=this.radius,l=Math.pow(c[0]-n[0],2)+Math.pow(c[1]-n[1],2),p=2*((c[0]-n[0])*(n[0]-o[0])+(c[1]-n[1])*(n[1]-o[1])),u=Math.pow(n[0]-o[0],2)+Math.pow(n[1]-o[1],2)-Math.pow(h,2),d=Math.pow(p,2)-4*l*u,f=a,v=r;if(!(d<0))if(0===d)s.lerp(f,n,c,d),s.sub(v,f,o),s.normalize(v,v),e.reportIntersection(t,d,v,-1);else{var y=Math.sqrt(d),m=1/(2*l),g=(-p-y)*m,A=(-p+y)*m;if(g>=0&&g<=1&&(s.lerp(f,n,c,g),s.sub(v,f,o),s.normalize(v,v),e.reportIntersection(t,g,v,-1),t.shouldStop(e)))return;A>=0&&A<=1&&(s.lerp(f,n,c,A),s.sub(v,f,o),s.normalize(v,v),e.reportIntersection(t,A,v,-1))}}},{"../math/vec2":30,"./Shape":45}],40:[function(t,e,o){function i(t){Array.isArray(arguments[0])&&(t={vertices:arguments[0],axes:arguments[1]},console.warn("The Convex constructor signature has changed. Please use the following format: new Convex({ vertices: [...], ... })")),t=t||{},this.vertices=[];for(var e=void 0!==t.vertices?t.vertices:[],o=0;on)&&(n=i),(null===a||in){var h=a;a=n,n=h}s.set(e,a,n)},i.prototype.projectOntoWorldAxis=function(t,e,o,i){var n=c;this.projectOntoLocalAxis(t,i),0!==o?s.rotate(n,t,o):n=t;var a=s.dot(e,n);s.set(i,i[0]+a,i[1]+a)},i.prototype.updateTriangles=function(){this.triangles.length=0;for(var t=[],e=0;ee&&(e=i)}this.boundingRadius=Math.sqrt(e)},i.triangleArea=function(t,e,o){return.5*((e[0]-t[0])*(o[1]-t[1])-(o[0]-t[0])*(e[1]-t[1]))},i.prototype.updateArea=function(){this.updateTriangles(),this.area=0;for(var t=this.triangles,e=this.vertices,o=0;o!==t.length;o++){var n=t[o],s=e[n[0]],a=e[n[1]],r=e[n[2]],c=i.triangleArea(s,a,r);this.area+=c}},i.prototype.computeAABB=function(t,e,o){t.setFromPoints(this.vertices,e,o,0)};var f=s.create(),v=s.create(),y=s.create();i.prototype.raycast=function(t,e,o,i){var n=f,a=v,r=y,c=this.vertices;s.toLocalFrame(n,e.from,o,i),s.toLocalFrame(a,e.to,o,i);for(var h=c.length,l=0;l=0&&(s.sub(r,u,p),s.rotate(r,r,-Math.PI/2+i),s.normalize(r,r),e.reportIntersection(t,d,r,l))}}},{"../math/polyk":29,"../math/vec2":30,"./Shape":45,"poly-decomp":5}],41:[function(t,e,o){function i(t){if(Array.isArray(arguments[0])){if(t={heights:arguments[0]},"object"==typeof arguments[1])for(var e in arguments[1])t[e]=arguments[1][e];console.warn("The Heightfield constructor signature has changed. Please use the following format: new Heightfield({ heights: [...], ... })")}t=t||{},this.heights=t.heights?t.heights.slice(0):[],this.maxValue=t.maxValue||null,this.minValue=t.minValue||null,this.elementWidth=t.elementWidth||.1,void 0!==t.maxValue&&void 0!==t.minValue||this.updateMaxMinValues(),t.type=n.HEIGHTFIELD,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");t("../utils/Utils");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.updateMaxMinValues=function(){for(var t=this.heights,e=t[0],o=t[0],i=0;i!==t.length;i++){var n=t[i];n>e&&(e=n),ng){var A=m;m=g,g=A}for(var b=0;b=0&&(s.sub(u,f,d),s.rotate(u,u,i+Math.PI/2),s.normalize(u,u),e.reportIntersection(t,E,u,-1),t.shouldStop(e)))return}}},{"../math/vec2":30,"../utils/Utils":57,"./Shape":45}],42:[function(t,e,o){function i(t){"number"==typeof arguments[0]&&(t={length:arguments[0]},console.warn("The Line constructor signature has changed. Please use the following format: new Line({ length: 1, ... })")),t=t||{},this.length=t.length||1,t.type=n.LINE,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.computeMomentOfInertia=function(t){return t*Math.pow(this.length,2)/12},i.prototype.updateBoundingRadius=function(){this.boundingRadius=this.length/2};var a=[s.create(),s.create()];i.prototype.computeAABB=function(t,e,o){var i=this.length/2;s.set(a[0],-i,0),s.set(a[1],i,0),t.setFromPoints(a,e,o,0)};s.create();var r=s.create(),c=s.create(),h=s.create(),l=s.fromValues(0,1);i.prototype.raycast=function(t,e,o,i){var n=e.from,a=e.to,p=c,u=h,d=this.length/2;s.set(p,-d,0),s.set(u,d,0),s.toGlobalFrame(p,p,o,i),s.toGlobalFrame(u,u,o,i);var f=s.getLineSegmentsIntersectionFraction(p,u,n,a);if(f>=0){var v=r;s.rotate(v,l,i),e.reportIntersection(t,f,v,-1)}}},{"../math/vec2":30,"./Shape":45}],43:[function(t,e,o){function i(t){(t=t||{}).type=n.PARTICLE,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.computeMomentOfInertia=function(t){return 0},i.prototype.updateBoundingRadius=function(){this.boundingRadius=0},i.prototype.computeAABB=function(t,e,o){s.copy(t.lowerBound,e),s.copy(t.upperBound,e)}},{"../math/vec2":30,"./Shape":45}],44:[function(t,e,o){function i(t){(t=t||{}).type=n.PLANE,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");t("../utils/Utils");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.computeMomentOfInertia=function(t){return 0},i.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},i.prototype.computeAABB=function(t,e,o){var i=o%(2*Math.PI),n=s.set,a=t.lowerBound,r=t.upperBound;n(a,-1e7,-1e7),n(r,1e7,1e7),0===i?r[1]=0:i===Math.PI/2?a[0]=0:i===Math.PI?a[1]=0:i===3*Math.PI/2&&(r[0]=0)},i.prototype.updateArea=function(){this.area=Number.MAX_VALUE};var a=s.create(),r=(s.create(),s.create(),s.create()),c=s.create();i.prototype.raycast=function(t,e,o,i){var n=e.from,h=e.to,l=e.direction,p=a,u=r,d=c;s.set(u,0,1),s.rotate(u,u,i),s.sub(d,n,o);var f=s.dot(d,u);if(s.sub(d,h,o),!(f*s.dot(d,u)>0||s.squaredDistance(n,h)d*r&&(v=d*r-p),s[t]+=v,e.addToWlambda(v),v}},{"../equations/FrictionEquation":23,"../math/vec2":30,"../utils/Utils":57,"./Solver":47}],47:[function(t,e,o){function i(t,e){t=t||{},n.call(this),this.type=e,this.equations=[],this.equationSortFunction=t.equationSortFunction||!1}t("../utils/Utils");var n=t("../events/EventEmitter");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.solve=function(t,e){throw new Error("Solver.solve should be implemented by subclasses!")};var s={bodies:[]};i.prototype.solveIsland=function(t,e){this.removeAllEquations(),e.equations.length&&(this.addEquations(e.equations),s.bodies.length=0,e.getBodies(s.bodies),s.bodies.length&&this.solve(t,s))},i.prototype.sortEquations=function(){this.equationSortFunction&&this.equations.sort(this.equationSortFunction)},i.prototype.addEquation=function(t){t.enabled&&this.equations.push(t)},i.prototype.addEquations=function(t){for(var e=0,o=t.length;e!==o;e++){var i=t[e];i.enabled&&this.equations.push(i)}},i.prototype.removeEquation=function(t){var e=this.equations.indexOf(t);-1!==e&&this.equations.splice(e,1)},i.prototype.removeAllEquations=function(){this.equations.length=0},i.GS=1,i.ISLAND=2},{"../events/EventEmitter":26,"../utils/Utils":57}],48:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("../equations/ContactEquation"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/ContactEquation":21,"./Pool":55}],49:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("../equations/FrictionEquation"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/FrictionEquation":23,"./Pool":55}],50:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("../world/IslandNode"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.reset(),this}},{"../world/IslandNode":60,"./Pool":55}],51:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("../world/Island"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.reset(),this}},{"../world/Island":58,"./Pool":55}],52:[function(t,e,o){function i(){this.overlappingShapesLastState=new n,this.overlappingShapesCurrentState=new n,this.recordPool=new s({size:16}),this.tmpDict=new n,this.tmpArray1=[]}var n=t("./TupleDictionary"),s=(t("./OverlapKeeperRecord"),t("./OverlapKeeperRecordPool"));t("./Utils");e.exports=i,i.prototype.tick=function(){for(var t=this.overlappingShapesLastState,e=this.overlappingShapesCurrentState,o=t.keys.length;o--;){var i=t.keys[o],n=t.getByKey(i);e.getByKey(i);n&&this.recordPool.release(n)}t.reset(),t.copy(e),e.reset()},i.prototype.setOverlapping=function(t,e,o,i){this.overlappingShapesLastState;var n=this.overlappingShapesCurrentState;if(!n.get(e.id,i.id)){var s=this.recordPool.get();s.set(t,e,o,i),n.set(e.id,i.id,s)}},i.prototype.getNewOverlaps=function(t){return this.getDiff(this.overlappingShapesLastState,this.overlappingShapesCurrentState,t)},i.prototype.getEndOverlaps=function(t){return this.getDiff(this.overlappingShapesCurrentState,this.overlappingShapesLastState,t)},i.prototype.bodiesAreOverlapping=function(t,e){for(var o=this.overlappingShapesCurrentState,i=o.keys.length;i--;){var n=o.keys[i],s=o.data[n];if(s.bodyA===t&&s.bodyB===e||s.bodyA===e&&s.bodyB===t)return!0}return!1},i.prototype.getDiff=function(t,e,o){var i=t,n=e;(o=o||[]).length=0;for(var s=n.keys.length;s--;){var a=n.keys[s],r=n.data[a];if(!r)throw new Error("Key "+a+" had no data!");i.data[a]||o.push(r)}return o},i.prototype.isNewOverlap=function(t,e){var o=0|t.id,i=0|e.id,n=this.overlappingShapesLastState,s=this.overlappingShapesCurrentState;return!n.get(o,i)&&!!s.get(o,i)},i.prototype.getNewBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getNewOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},i.prototype.getEndBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getEndOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},i.prototype.getBodyDiff=function(t,e){e=e||[];for(var o=this.tmpDict,i=t.length;i--;){var n=t[i];o.set(0|n.bodyA.id,0|n.bodyB.id,n)}for(i=o.keys.length;i--;)(n=o.getByKey(o.keys[i]))&&e.push(n.bodyA,n.bodyB);return o.reset(),e}},{"./OverlapKeeperRecord":53,"./OverlapKeeperRecordPool":54,"./TupleDictionary":56,"./Utils":57}],53:[function(t,e,o){function i(t,e,o,i){this.shapeA=e,this.shapeB=i,this.bodyA=t,this.bodyB=o}e.exports=i,i.prototype.set=function(t,e,o,n){i.call(this,t,e,o,n)}},{}],54:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("./OverlapKeeperRecord"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.bodyA=t.bodyB=t.shapeA=t.shapeB=null,this}},{"./OverlapKeeperRecord":53,"./Pool":55}],55:[function(t,e,o){function i(t){t=t||{},this.objects=[],void 0!==t.size&&this.resize(t.size)}e.exports=i,i.prototype.resize=function(t){for(var e=this.objects;e.length>t;)e.pop();for(;e.length(0|e)?t<<16|65535&e:e<<16|65535&t)},i.prototype.getByKey=function(t){return t|=0,this.data[t]},i.prototype.get=function(t,e){return this.data[this.getKey(t,e)]},i.prototype.set=function(t,e,o){if(!o)throw new Error("No data!");var i=this.getKey(t,e);return this.data[i]||this.keys.push(i),this.data[i]=o,i},i.prototype.reset=function(){for(var t=this.data,e=this.keys,o=e.length;o--;)delete t[e[o]];e.length=0},i.prototype.copy=function(t){this.reset(),n.appendArray(this.keys,t.keys);for(var e=t.keys.length;e--;){var o=t.keys[e];this.data[o]=t.data[o]}}},{"./Utils":57}],57:[function(t,e,o){function i(){}e.exports=i,i.appendArray=function(t,e){if(e.length<15e4)t.push.apply(t,e);else for(var o=0,i=e.length;o!==i;++o)t.push(e[o])},i.splice=function(t,e,o){o=o||1;for(var i=e,n=t.length-o;i=t&&i=0;q-=2)for(S=b.length-2;S>=0;S-=2)(B[q]===b[S]&&B[q+1]===b[S+1]||B[q+1]===b[S]&&B[q]===b[S+1])&&b.splice(S,2);X=p.length;for(q=0;q!==X;q++){var w=p[q];if(!w.collideConnected)for(var S=b.length-2;S>=0;S-=2)(w.bodyA===b[S]&&w.bodyB===b[S+1]||w.bodyB===b[S]&&w.bodyA===b[S+1])&&b.splice(S,2)}this.postBroadphaseEvent.pairs=b,this.emit(this.postBroadphaseEvent),this.postBroadphaseEvent.pairs=null,l.reset(this);for(var q=0,C=b.length;q!==C;q+=2)for(var L=b[q],x=b[q+1],F=0,M=L.shapes.length;F!==M;F++)for(var I=L.shapes[F],R=I.position,V=I.angle,T=0,N=x.shapes.length;T!==N;T++){var G=x.shapes[T],O=G.position,U=G.angle,k=this.defaultContactMaterial;if(I.material&&G.material){var _=this.getContactMaterial(I.material,G.material);_&&(k=_)}this.runNarrowphase(l,L,I,R,V,x,G,O,U,k,this.frictionGravity)}for(q=0;q!==c;q++)(z=n[q])._wakeUpAfterNarrowphase&&(z.wakeUp(),z._wakeUpAfterNarrowphase=!1);if(this.has("endContact")){this.overlapKeeper.getEndOverlaps(P);for(var D=this.endContactEvent,T=P.length;T--;){var W=P[T];D.shapeA=W.shapeA,D.shapeB=W.shapeB,D.bodyA=W.bodyA,D.bodyB=W.bodyB,this.emit(D)}P.length=0}var j=this.preSolveEvent;j.contactEquations=l.contactEquations,j.frictionEquations=l.frictionEquations,this.emit(j),j.contactEquations=j.frictionEquations=null;var X=p.length;for(q=0;q!==X;q++)p[q].update();if(l.contactEquations.length||l.frictionEquations.length||X)if(this.islandSplit){for(v.equations.length=0,g.appendArray(v.equations,l.contactEquations),g.appendArray(v.equations,l.frictionEquations),q=0;q!==X;q++)g.appendArray(v.equations,p[q].equations);v.split(this);for(q=0;q!==v.islands.length;q++)(H=v.islands[q]).equations.length&&r.solveIsland(t,H)}else{for(r.addEquations(l.contactEquations),r.addEquations(l.frictionEquations),q=0;q!==X;q++)r.addEquations(p[q].equations);this.solveConstraints&&r.solve(t,this),r.removeAllEquations()}for(q=0;q!==c;q++){var z=n[q];z.integrate(t)}for(q=0;q!==c;q++)n[q].setZeroForce();if(this.emitImpactEvent&&this.has("impact"))for(var Y=this.impactEvent,q=0;q!==l.contactEquations.length;q++){var K=l.contactEquations[q];K.firstImpact&&(Y.bodyA=K.bodyA,Y.bodyB=K.bodyB,Y.shapeA=K.shapeA,Y.shapeB=K.shapeB,Y.contactEquation=K,this.emit(Y))}if(this.sleepMode===i.BODY_SLEEPING)for(q=0;q!==c;q++)n[q].sleepTick(this.time,!1,t);else if(this.sleepMode===i.ISLAND_SLEEPING&&this.islandSplit){for(q=0;q!==c;q++)n[q].sleepTick(this.time,!0,t);for(q=0;q0,t.frictionCoefficient=l.friction;var v;v=e.type===u.STATIC||e.type===u.KINEMATIC?a.mass:a.type===u.STATIC||a.type===u.KINEMATIC?e.mass:e.mass*a.mass/(e.mass+a.mass),t.slipForce=l.friction*p*v,t.restitution=l.restitution,t.surfaceVelocity=l.surfaceVelocity,t.frictionStiffness=l.frictionStiffness,t.frictionRelaxation=l.frictionRelaxation,t.stiffness=l.stiffness,t.relaxation=l.relaxation,t.contactSkinSize=l.contactSkinSize,t.enabledEquations=e.collisionResponse&&a.collisionResponse&&o.collisionResponse&&r.collisionResponse;var y=t[o.type|r.type],m=0;if(y){var g=o.sensor||r.sensor,A=t.frictionEquations.length;m=o.type=2*Math.pow(a.sleepSpeedLimit,2)&&(e._wakeUpAfterNarrowphase=!0),a.allowSleep&&a.type===u.DYNAMIC&&a.sleepState===u.SLEEPING&&e.sleepState===u.AWAKE&&e.type!==u.STATIC&&s.squaredLength(e.velocity)+Math.pow(e.angularVelocity,2)>=2*Math.pow(e.sleepSpeedLimit,2)&&(a._wakeUpAfterNarrowphase=!0),this.overlapKeeper.setOverlapping(e,o,a,r),this.has("beginContact")&&this.overlapKeeper.isNewOverlap(o,r)){var E=this.beginContactEvent;if(E.shapeA=o,E.shapeB=r,E.bodyA=e,E.bodyB=a,E.contactEquations.length=0,"number"==typeof m)for(P=t.contactEquations.length-m;P1)for(var P=t.frictionEquations.length-b;P=0;e--)this.removeConstraint(t[e]);for(var o=this.bodies,e=o.length-1;e>=0;e--)this.removeBody(o[e]);for(var n=this.springs,e=n.length-1;e>=0;e--)this.removeSpring(n[e]);for(var s=this.contactMaterials,e=s.length-1;e>=0;e--)this.removeContactMaterial(s[e]);i.apply(this)};var w=s.create(),S=(s.fromValues(0,0),s.fromValues(0,0));i.prototype.hitTest=function(t,e,o){o=o||0;var i=new u({position:t}),n=new l,p=t,d=w,f=S;i.addShape(n);for(var v=this.narrowphase,y=[],m=0,g=e.length;m!==g;m++)for(var A=e[m],b=0,E=A.shapes.length;b!==E;b++){var B=A.shapes[b];s.rotate(d,B.position,A.angle),s.add(d,d,A.position);var q=B.angle+A.angle;(B instanceof a&&v.circleParticle(A,B,d,q,i,n,p,0,!0)||B instanceof r&&v.particleConvex(i,n,p,0,A,B,d,q,!0)||B instanceof c&&v.particlePlane(i,n,p,0,A,B,d,q,!0)||B instanceof h&&v.particleCapsule(i,n,p,0,A,B,d,q,!0)||B instanceof l&&s.squaredLength(s.sub(f,d,t))= this._timer) { @@ -84354,14 +84368,14 @@ Phaser.Particles.Arcade.Emitter.prototype.emitParticle = function (x, y, key, fr if (particle === null) { - this.count.failed++; - this.count.totalFailed++; + this.counts.failed++; + this.counts.totalFailed++; return false; } - this.count.emitted++; - this.count.totalEmitted++; + this.counts.emitted++; + this.counts.totalEmitted++; var rnd = this.game.rnd; diff --git a/build/custom/phaser-arcade-physics.map b/build/custom/phaser-arcade-physics.map index 69eeff1ed..ad79f91c3 100644 --- a/build/custom/phaser-arcade-physics.map +++ b/build/custom/phaser-arcade-physics.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-arcade-physics.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","floor","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","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","getMaxTextureUnit","enableMultiTexture","textureArray","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","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","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","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","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","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","reverseString","string","split","getProperty","obj","prop","parts","val","setProperties","props","name","setProperty","_setProperty","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","k","m","n","del","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","normx","normy","Line","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","edge","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","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","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","between","Game","physicsConfig","multiTexture","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","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","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","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","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","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","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","startStop","condition","padFloat","justPressed","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","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","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","_rawPad","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","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","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","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","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","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","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","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","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","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","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","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","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","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","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","needsUpdate","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","pool","getTotal","getFree","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","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","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","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","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","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","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","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","pendingDelete","_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","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","yoyoCounter","ms","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","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","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","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","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","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","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","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","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","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","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","hasPhaserSetFullScreen","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","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","pageAlignHorizontally","pageAlignVertically","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","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","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","row","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","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","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","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","center","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","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","rootLayer","groupEnd","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","tileOffset","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","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","fields","sliced","polyline","polygon","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","Particle","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","on","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_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","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-arcade-physics.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser-arcade-physics.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","floor","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","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","getMaxTextureUnit","enableMultiTexture","textureArray","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","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","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","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","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","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","reverseString","string","split","getProperty","obj","prop","parts","val","setProperties","props","name","setProperty","_setProperty","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","k","m","n","del","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","normx","normy","Line","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","edge","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","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","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","between","Game","physicsConfig","multiTexture","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","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","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","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","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","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","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","startStop","condition","padFloat","justPressed","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","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","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","_rawPad","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","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","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","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","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","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","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","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","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","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","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","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","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","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","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","needsUpdate","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","pool","getTotal","getFree","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","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","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","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","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","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","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","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","pendingDelete","_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","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","yoyoCounter","ms","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","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","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","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","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","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","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","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","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","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","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","hasPhaserSetFullScreen","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","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","pageAlignHorizontally","pageAlignVertically","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","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","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","row","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","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","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","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","center","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","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","rootLayer","groupEnd","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","tileOffset","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","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","fields","sliced","polyline","polygon","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","Particle","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","on","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_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","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-arcade-physics.min.js"} \ 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 5d47ea8b2..890c0c375 100644 --- a/build/custom/phaser-arcade-physics.min.js +++ b/build/custom/phaser-arcade-physics.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.9.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.9.1 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),l=null,u=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),l=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,l,0),(u=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[u]),a.width=i,a.height=s,a.targetTexture=l,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,l=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),l.a=i*h.a+s*h.c,l.b=i*h.b+s*h.d,l.c=n*h.a+r*h.c,l.d=n*h.b+r*h.d,l.tx=o*h.a+a*h.c+h.tx,l.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,l.a=i*h.a,l.b=i*h.b,l.c=r*h.c,l.d=r*h.d,l.tx=o*h.a+a*h.c+h.tx,l.ty=o*h.b+a*h.d+h.ty),i=l.a,s=l.b,n=l.c;var u=i*(r=l.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=u/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=u/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,b=x.a,_=x.b,T=x.c,w=x.d,C=x.tx,S=x.ty,P=b*m+T*v+C,E=w*v+_*m+S,A=b*g+T*v+C,M=w*v+_*g+S,R=b*g+T*y+C,L=w*y+_*g+S,I=b*m+T*y+C,O=w*y+_*m+S;c=P,d=E,u=E,l=I<(l=R<(l=A<(l=P)?A:l)?R:l)?I:l,u=O<(u=L<(u=M(c=R>(c=A>c?A:c)?R:c)?I:c,d=O>(d=L>(d=M>d?M:d)?L:d)?O:d}if(f.x=l,f.y=u,f.width=c-l,f.height=d-u,e)for(t.worldTransform=r,n=0;n(f=w>(f=_>(f=x>f?x:f)?_:f)?w:f)?S:f,g=P>(g=C>(g=T>(g=b>g?b:g)?T:g)?C:g)?P:g}var E=this._bounds;return E.x=m,E.width=f-m,E.y=y,E.height=g-y,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,l,u,c,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(l=f.x-d*f.width)+i.crop.width,u=(c=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),l=i.frame.width*-d,u=i.frame.height*(1-p),c=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,b=o.c/m,_=o.d/m,T=o.tx,w=o.ty,C=(i.crop.width,i.crop.height);if(i.rotated){var S=o.a,P=o.b,E=o.c,A=o.d,M=l,R=h;T=o.c*C+T,w=o.d*C+w,v=6.123233995736766e-17*S-E,x=6.123233995736766e-17*P-A,b=S+6.123233995736766e-17*E,_=P+6.123233995736766e-17*A,i._updateUvsInverted(),h=u,l=c,u=R,c=M}var L=this.colors,I=this.positions,O=t.tint,k=(O>>16)+(65280&O)+((255&O)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(I[g++]=v*l+b*c+T|0,I[g++]=_*c+x*l+w|0,I[g++]=a.x0,I[g++]=a.y0,L[g++]=k,I[g++]=y,I[g++]=v*h+b*c+T|0,I[g++]=_*c+x*h+w|0,I[g++]=a.x1,I[g++]=a.y1,L[g++]=k,I[g++]=y,I[g++]=v*h+b*u+T|0,I[g++]=_*u+x*h+w|0,I[g++]=a.x2,I[g++]=a.y2,L[g++]=k,I[g++]=y,I[g++]=v*l+b*u+T|0,I[g++]=_*u+x*l+w|0,I[g++]=a.x3,I[g++]=a.y3,L[g++]=k,I[g++]=y):(I[g++]=v*l+b*c+T,I[g++]=_*c+x*l+w,I[g++]=a.x0,I[g++]=a.y0,L[g++]=k,I[g++]=y,I[g++]=v*h+b*c+T,I[g++]=_*c+x*h+w,I[g++]=a.x1,I[g++]=a.y1,L[g++]=k,I[g++]=y,I[g++]=v*h+b*u+T,I[g++]=_*u+x*h+w,I[g++]=a.x2,I[g++]=a.y2,L[g++]=k,I[g++]=y,I[g++]=v*l+b*u+T,I[g++]=_*u+x*l+w,I[g++]=a.x3,I[g++]=a.y3,L[g++]=k,I[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var l=t.tilePosition.x/(a*t.tileScaleOffset.x),u=t.tilePosition.y/(h*t.tileScaleOffset.y),c=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-l,o.y0=0-u,o.x1=1*c-l,o.y1=0-u,o.x2=1*c-l,o.y2=1*d-u,o.x3=0-l,o.y3=1*d-u;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,b=t.anchor.y,_=y*(1-x),T=y*-x,w=v*(1-b),C=v*-b,S=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,A=E.a/P,M=E.b/P,R=E.c/P,L=E.d/P,I=E.tx,O=E.ty;g[S++]=A*T+R*C+I,g[S++]=L*C+M*T+O,g[S++]=o.x0,g[S++]=o.y0,m[S++]=f,g[S++]=r,g[S++]=A*_+R*C+I,g[S++]=L*C+M*_+O,g[S++]=o.x1,g[S++]=o.y1,m[S++]=f,g[S++]=r,g[S++]=A*_+R*w+I,g[S++]=L*w+M*_+O,g[S++]=o.x2,g[S++]=o.y2,m[S++]=f,g[S++]=r,g[S++]=A*T+R*w+I,g[S++]=L*w+M*T+O,g[S++]=o.x3,g[S++]=o.y3,m[S++]=f,g[S++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,l=0,u=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(f||g)&&(this.renderBatch(c,l,u),u=m,l=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}l++}this.renderBatch(c,l,u),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.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},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.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},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.9.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,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,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,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||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,l=arguments.length,u=!1;for("boolean"==typeof a&&(u=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,l=t.radius,u=a+o*n,c=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-u*u-r*r+2*u*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-u*u-r*r+2*u*r))/(h*h*(o*o)+l*l),p=o*c+a,f=o*d+a,g=new i.Point(c,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(u-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,u=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((u=s+(r-s)*(o-i)/(n-i))>a&&u<=l)return!0}else if(i>h&&n<=h&&(u=s+(r-s)*(h-i)/(n-i))>=a&&u<=l)return!0;if(s=a){if((u=i+(n-i)*(a-s)/(r-s))>=o&&u<=h)return!0}else if(s>l&&r<=l&&(u=i+(n-i)*(l-s)/(r-s))>=o&&u<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,u=e.bottom,c=1/0;r[0].setTo(a,h,l,h),r[1].setTo(a,u,l,u),r[2].setTo(a,h,a,u),r[3].setTo(l,h,l,u);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},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(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.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+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.equalsXY=function(t,e,i){return t.x===e&&t.y===i},i.Point.fuzzyEquals=function(t,e,s){return i.Math.fuzzyEquals(t.x,e.x,s)&&i.Math.fuzzyEquals(t.y,e.y,s)},i.Point.fuzzyEqualsXY=function(t,e,s,n){return i.Math.fuzzyEquals(t.x,e,n)&&i.Math.fuzzyEquals(t.y,s,n)},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,u=a*t.x+h*t.y;t.x=l+e,t.y=u+s}else{var c=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(c),t.y=s+o*Math.sin(c)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),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.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.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.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.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(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(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[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),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&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(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: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&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(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.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._clearWorld=!0,this._clearCache=!0,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=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,u=o;uthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!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 e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),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(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(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(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),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));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),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))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,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 i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.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,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),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=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,l,u){return void 0===u&&(u=this.world),u.add(new i.Button(this.game,t,e,s,n,r,o,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,l){return new i.Button(this.game,t,e,s,n,r,o,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,l,u){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,u),null!==r&&this.onInputUp.add(r,o),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)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,l,u,c,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof u&&(this._rotate=u),"number"==typeof c&&(this._anchor.x=c),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.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},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=u=t[0],l=c=t[1];for(var g=s;gu&&(u=d),p>c&&(c=p);f=Math.max(u-h,c-l)}return i.EarCut.earcutLinked(o,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,l=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,l,u=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,u=l.next;else if((t=l)===u){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,c=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(u,c,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(l,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,l,u=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,c=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,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(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,T=v-b,_/=R=Math.sqrt(_*_+T*T),T/=R,_*=F,T*=F,L.push(p-_,f-T),L.push(G,N,X,U),L.push(p+_,f+T),L.push(G,N,X,U),L.push(p-_,f-T),L.push(G,N,X,U),k++):(L.push(l,u),L.push(G,N,X,U),L.push(p-(l-p),f-(u-f)),L.push(G,N,X,U));for(c=n[2*(O-2)],d=n[2*(O-2)+1],p=n[2*(O-1)],y=-(d-(f=n[2*(O-1)+1])),v=c-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(p-y,f-v),L.push(G,N,X,U),L.push(p+y,f+v),L.push(G,N,X,U),I.push(D),s=0;sh?r:h,l=ou?o:u;s.push(a,l,h,l,h,u,a,u);var d=s.length/2;for(c=0;cP?P:S,e.beginPath(),e.moveTo(_,T+S),e.lineTo(_,T+C-S),e.quadraticCurveTo(_,T+C,_+S,T+C),e.lineTo(_+w-S,T+C),e.quadraticCurveTo(_+w,T+C,_+w,T+C-S),e.lineTo(_+w,T+S),e.quadraticCurveTo(_+w,T,_+w-S,T),e.lineTo(_+S,T),e.quadraticCurveTo(_,T,_,T+S),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nC?C:w,e.moveTo(x,b+w),e.lineTo(x,b+T-w),e.quadraticCurveTo(x,b+T,x+w,b+T),e.lineTo(x+_-w,b+T),e.quadraticCurveTo(x+_,b+T,x+_,b+T-w),e.lineTo(x+_,b+w),e.quadraticCurveTo(x+_,b,x+_-w,b),e.lineTo(x+w,b),e.quadraticCurveTo(x,b,x,b+w),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,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 i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nu*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,u=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,u);for(var c=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);c.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sT?m:T,T=v>T?v:T,T=b>T?b:T,w=y>w?y:w,w=x>w?x:w,w=_>w?_:w,this._bounds.x=C,this._bounds.width=T-C,this._bounds.y=S,this._bounds.height=w-S,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+u:n;else if(p===i.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,u=r.radius+f/2,t=a-le?a+l:e,s=h-un?h+u:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,u=r.height+f/2,t=a-le?a+l:e,s=h-un?h+u:n;else{o=r.points;for(var g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.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=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var u=0,c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[c]):Math.ceil(this.context.measureText(h[c]).width),c>0&&(u+=i[c-1]),l=u+d}else for(c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[c]):l+=Math.ceil(this.context.measureText(h[c]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*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 m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}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(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===c){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);u[c]=m,h+=g}var y=u[c].length?c:c+1,v=u.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,u=n.getImageData(0,0,r,a).data,c=u.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(l=0;l0?this._maxWidth:null,l=[],u=0;u=h&&r>-1)return{width:o||n,text:i.substr(0,u-(u-r)),end:c,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:c,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=u.width),n+=t.lineHeight*i,e=e.substr(u.text.length+1)}while(!1===u.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,l,u){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=l||0,this.offsetY=u||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=[],this.points=o,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,this.points=o,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,T=this.canvasPadding/this.worldTransform.d,w=(l+u+c)/3,C=(d+p+f)/3,S=l-w,P=d-C,E=Math.sqrt(S*S+P*P);l=w+S/E*(E+_),d=C+P/E*(E+T),P=p-C,u=w+(S=u-w)/(E=Math.sqrt(S*S+P*P))*(E+_),p=C+P/E*(E+T),P=f-C,c=w+(S=c-w)/(E=Math.sqrt(S*S+P*P))*(E+_),f=C+P/E*(E+T)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(u,p),t.lineTo(c,f),t.closePath(),t.clip();var A=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*c+u*b-x*c-v*u-l*b,R=g*u+l*y+m*c-u*y-l*m-g*c,L=g*x*c+v*u*y+l*m*b-l*x*y-v*m*c-g*u*b,I=d*x+v*f+p*b-x*f-v*p-d*b,O=g*p+d*y+m*f-p*y-d*m-g*f,k=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/A,I/A,R/A,O/A,L/A,k/A),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?m:h,l=y>l?y:l}if(u===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=u,v.width=h-u,v.y=c,v.height=l-c,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,l=[],u=0;u(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,T=b>(T=v>(T=m>(T=f>T?f:T)?m:T)?v:T)?b:T;var S=this._bounds;return S.x=w,S.width=_-w,S.y=C,S.height=T-C,this._currentBounds=S,S},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>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(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t){return this._tweens.some(function(e){return e.target===t})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,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 t=0;t0?(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(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.yoyoCounter=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*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 s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];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,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=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 t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.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(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},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(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),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=this.isReversed?this._frames.length-1: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)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=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._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),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)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===u||0===c||uu&&(f=o,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var u;"json"===r?(u=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(u,l.base,o,a,h,this.game.resolution)):(u=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(u,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var u={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=u,this._resolveURL(e,u)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(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,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&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 n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()}},xhrLoadWithXDR:function(t,e,i,s,n){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 r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e: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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var l=t.getElementsByTagName("char"),u=n?n.x:0,c=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?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()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(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.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;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&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(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&&""===t?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)&&!1===this.game.cache.getSound(this.key).isDecoding&&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.game.sound.mute?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(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,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 e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,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(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&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 t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?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())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(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(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)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(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){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.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.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 t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},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(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var l=(h.red-a.red)*n/s+a.red,u=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,u=x.g,c=x.b}return i.Color.getColor32(r,l,u,c)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,u=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,l,u)},interpolateRGB:function(t,e,s,n,r,o,a,h){var l=(n-t)*h/a+t,u=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(l,u,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},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}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.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=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.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()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,r){return void 0===r&&(r=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>r?i=r:i<-r&&(i=-r),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,r){if(!Array.isArray(t)&&Array.isArray(e))for(o=0;oa.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,r,o)}}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(e);for(var u=this.quadTree.retrieve(t),h=0;hu.right)continue;if(u.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomu.bottom)continue;if(u.y>h.body.bottom)break}this.collideSpriteVsSprite(h,c,e,s,n,r)}}}}},collideGroupVsGroup:function(t,e,s,n,r,o){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,u=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,r=e.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var u={x:t.velocity.x*Math.cos(o)+t.velocity.y*Math.sin(o),y:t.velocity.x*Math.sin(o)-t.velocity.y*Math.cos(o)},c={x:e.velocity.x*Math.cos(o)+e.velocity.y*Math.sin(o),y:e.velocity.x*Math.sin(o)-e.velocity.y*Math.cos(o)},d=((t.mass-e.mass)*u.x+2*e.mass*c.x)/(t.mass+e.mass),p=(2*t.mass*u.x+(e.mass-t.mass)*c.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(o)-u.y*Math.sin(o))*t.bounce.x,t.velocity.y=(u.y*Math.cos(o)+d*Math.sin(o))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(o)-c.y*Math.sin(o))*e.bounce.x,e.velocity.y=(c.y*Math.cos(o)+p*Math.sin(o))*e.bounce.y),Math.abs(o)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(o),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(o)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,r=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-r*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=r-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.x=h+o*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,r=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-r*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=r-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.y=h+o*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,r,o){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(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),u=0;u0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleBetween(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToXY:function(t,e,i,s,n,r){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===r&&(r=1e3);var o=this.angleToXY(t,e,i);return t.body.acceleration.setTo(o,s),t.body.maxVelocity.setTo(n,r),o},distanceBetween:function(t,e,i){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,r=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+r*r)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i){for(var s=1/0,n=null,r=0,o=e.length;rs&&(n=a,s=h)}return n},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.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=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,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={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){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.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),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.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.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.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,r,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,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(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,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(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},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},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),i.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},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(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,r,o){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var u=new i.Tileset(t,a,s,n,r,o,{});u.setImage(h),this.tilesets.push(u);for(var c=this.tilesets.length-1,d=r,p=r,f=0,g=0,m=0,y=a;y1)for(c=0;cthis.layers.length)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[r].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[r].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[r].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new i.TilemapLayer(this.game,this,r,e,s));return this.enableDebug&&console.groupEnd(),o}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],u=0;uthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,r){n|=0,r|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,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:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;m++,v--,f+=u){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var T=_[g];if(T&&!(T.index<0)){var w=T.index,C=c[w];void 0===C&&(C=this.resolveTileset(w)),T.alpha===d||this.debug||(o.globalAlpha=T.alpha,d=T.alpha),C?T.rotation||T.flipped?(o.save(),o.translate(p+T.centerX,f+T.centerY),o.rotate(T.rotation),T.flipped&&o.scale(-1,1),C.draw(o,-T.centerX,-T.centerY,w),o.restore()):C.draw(o,p,f,w):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,u)),T.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,u))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,u=0,c=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(u=r+e,c=r-1):e>0&&(c=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),u=Math.floor((u+s)/a),c=Math.floor((c+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(u<=c){this.context.clearRect(0,u*a-s,n,(c-u+1)*a);var f=Math.floor((0+i)/o),g=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,u,g,c)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var w=this.layer.data[s];for(i=_,n=m-g,t=x;n>=0;i++,n--,t+=p){i>=c&&(i-=c);var C=w[i];!C||C.index<0||!C.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),C.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),C.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),C.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),C.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var r=this.getEmptyData(),o=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,u=0;u>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}D={name:r.name,x:r.x,y:r.y,width:r.width,height:r.height,widthInPixels:r.width*t.tilewidth,heightInPixels:r.height*t.tileheight,alpha:r.opacity,offsetX:r.offsetx,offsetY:r.offsety,visible:r.visible,properties:{},indexes:[],callbacks:[],bodies:[]};r.properties&&(D.properties=r.properties);for(var u,c,d,p=0,f=[],g=[],m=0,a=r.data.length;m536870912)switch(E>2147483648&&(E-=2147483648,d+=4),E>1073741824&&(E-=1073741824,d+=2),E>536870912&&(E-=536870912,d+=1),d){case 5:u=Math.PI/2;break;case 6:u=Math.PI;break;case 3:u=3*Math.PI/2;break;case 4:u=0,c=!0;break;case 7:u=Math.PI/2,c=!0;break;case 2:u=Math.PI,c=!0;break;case 1:u=3*Math.PI/2,c=!0}E>0?((F=new i.Tile(D,E,p,g.length,t.tilewidth,t.tileheight)).rotation=u,F.flipped=c,0!==d&&(F.flippedVal=d),f.push(F)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(D,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}D.data=g,s.push(D)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=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._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===r&&(r=null);var o,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var r=0;r1&&(o=r.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=r.between(this.top,this.bottom)),this.resetParticle(n,o,a),!0},i.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,r){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var o={v:t},a=this.game.make.tween(o).to({v:e},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,r,o,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,r>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,r){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var u=0,c=0;0===l||180===l?u=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?c=Math.sin(this.game.math.degToRad(l))*o:(u=Math.cos(this.game.math.degToRad(l))*o,c=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(u,c),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var g=this.fireRate;(g+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.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._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=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!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=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),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,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,t,e)),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.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?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.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 t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&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,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},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(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); +(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),l=null,u=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),l=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,l,0),(u=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[u]),a.width=i,a.height=s,a.targetTexture=l,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,l=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),l.a=i*h.a+s*h.c,l.b=i*h.b+s*h.d,l.c=n*h.a+r*h.c,l.d=n*h.b+r*h.d,l.tx=o*h.a+a*h.c+h.tx,l.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,l.a=i*h.a,l.b=i*h.b,l.c=r*h.c,l.d=r*h.d,l.tx=o*h.a+a*h.c+h.tx,l.ty=o*h.b+a*h.d+h.ty),i=l.a,s=l.b,n=l.c;var u=i*(r=l.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=u/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=u/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,b=x.a,_=x.b,T=x.c,w=x.d,C=x.tx,S=x.ty,P=b*m+T*v+C,E=w*v+_*m+S,A=b*g+T*v+C,M=w*v+_*g+S,R=b*g+T*y+C,L=w*y+_*g+S,I=b*m+T*y+C,O=w*y+_*m+S;c=P,d=E,u=E,l=I<(l=R<(l=A<(l=P)?A:l)?R:l)?I:l,u=O<(u=L<(u=M(c=R>(c=A>c?A:c)?R:c)?I:c,d=O>(d=L>(d=M>d?M:d)?L:d)?O:d}if(f.x=l,f.y=u,f.width=c-l,f.height=d-u,e)for(t.worldTransform=r,n=0;n(f=w>(f=_>(f=x>f?x:f)?_:f)?w:f)?S:f,g=P>(g=C>(g=T>(g=b>g?b:g)?T:g)?C:g)?P:g}var E=this._bounds;return E.x=m,E.width=f-m,E.y=y,E.height=g-y,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,l,u,c,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(l=f.x-d*f.width)+i.crop.width,u=(c=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),l=i.frame.width*-d,u=i.frame.height*(1-p),c=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,b=o.c/m,_=o.d/m,T=o.tx,w=o.ty,C=(i.crop.width,i.crop.height);if(i.rotated){var S=o.a,P=o.b,E=o.c,A=o.d,M=l,R=h;T=o.c*C+T,w=o.d*C+w,v=6.123233995736766e-17*S-E,x=6.123233995736766e-17*P-A,b=S+6.123233995736766e-17*E,_=P+6.123233995736766e-17*A,i._updateUvsInverted(),h=u,l=c,u=R,c=M}var L=this.colors,I=this.positions,O=t.tint,k=(O>>16)+(65280&O)+((255&O)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(I[g++]=v*l+b*c+T|0,I[g++]=_*c+x*l+w|0,I[g++]=a.x0,I[g++]=a.y0,L[g++]=k,I[g++]=y,I[g++]=v*h+b*c+T|0,I[g++]=_*c+x*h+w|0,I[g++]=a.x1,I[g++]=a.y1,L[g++]=k,I[g++]=y,I[g++]=v*h+b*u+T|0,I[g++]=_*u+x*h+w|0,I[g++]=a.x2,I[g++]=a.y2,L[g++]=k,I[g++]=y,I[g++]=v*l+b*u+T|0,I[g++]=_*u+x*l+w|0,I[g++]=a.x3,I[g++]=a.y3,L[g++]=k,I[g++]=y):(I[g++]=v*l+b*c+T,I[g++]=_*c+x*l+w,I[g++]=a.x0,I[g++]=a.y0,L[g++]=k,I[g++]=y,I[g++]=v*h+b*c+T,I[g++]=_*c+x*h+w,I[g++]=a.x1,I[g++]=a.y1,L[g++]=k,I[g++]=y,I[g++]=v*h+b*u+T,I[g++]=_*u+x*h+w,I[g++]=a.x2,I[g++]=a.y2,L[g++]=k,I[g++]=y,I[g++]=v*l+b*u+T,I[g++]=_*u+x*l+w,I[g++]=a.x3,I[g++]=a.y3,L[g++]=k,I[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var l=t.tilePosition.x/(a*t.tileScaleOffset.x),u=t.tilePosition.y/(h*t.tileScaleOffset.y),c=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-l,o.y0=0-u,o.x1=1*c-l,o.y1=0-u,o.x2=1*c-l,o.y2=1*d-u,o.x3=0-l,o.y3=1*d-u;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,b=t.anchor.y,_=y*(1-x),T=y*-x,w=v*(1-b),C=v*-b,S=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,A=E.a/P,M=E.b/P,R=E.c/P,L=E.d/P,I=E.tx,O=E.ty;g[S++]=A*T+R*C+I,g[S++]=L*C+M*T+O,g[S++]=o.x0,g[S++]=o.y0,m[S++]=f,g[S++]=r,g[S++]=A*_+R*C+I,g[S++]=L*C+M*_+O,g[S++]=o.x1,g[S++]=o.y1,m[S++]=f,g[S++]=r,g[S++]=A*_+R*w+I,g[S++]=L*w+M*_+O,g[S++]=o.x2,g[S++]=o.y2,m[S++]=f,g[S++]=r,g[S++]=A*T+R*w+I,g[S++]=L*w+M*T+O,g[S++]=o.x3,g[S++]=o.y3,m[S++]=f,g[S++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,l=0,u=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(f||g)&&(this.renderBatch(c,l,u),u=m,l=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}l++}this.renderBatch(c,l,u),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.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},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.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},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.9.1",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,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,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,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||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,l=arguments.length,u=!1;for("boolean"==typeof a&&(u=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,l=t.radius,u=a+o*n,c=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-u*u-r*r+2*u*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-u*u-r*r+2*u*r))/(h*h*(o*o)+l*l),p=o*c+a,f=o*d+a,g=new i.Point(c,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(u-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,u=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((u=s+(r-s)*(o-i)/(n-i))>a&&u<=l)return!0}else if(i>h&&n<=h&&(u=s+(r-s)*(h-i)/(n-i))>=a&&u<=l)return!0;if(s=a){if((u=i+(n-i)*(a-s)/(r-s))>=o&&u<=h)return!0}else if(s>l&&r<=l&&(u=i+(n-i)*(l-s)/(r-s))>=o&&u<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,u=e.bottom,c=1/0;r[0].setTo(a,h,l,h),r[1].setTo(a,u,l,u),r[2].setTo(a,h,a,u),r[3].setTo(l,h,l,u);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},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(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.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+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.equalsXY=function(t,e,i){return t.x===e&&t.y===i},i.Point.fuzzyEquals=function(t,e,s){return i.Math.fuzzyEquals(t.x,e.x,s)&&i.Math.fuzzyEquals(t.y,e.y,s)},i.Point.fuzzyEqualsXY=function(t,e,s,n){return i.Math.fuzzyEquals(t.x,e,n)&&i.Math.fuzzyEquals(t.y,s,n)},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,u=a*t.x+h*t.y;t.x=l+e,t.y=u+s}else{var c=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(c),t.y=s+o*Math.sin(c)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),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.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.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.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.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(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(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[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),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&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(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: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&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(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.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._clearWorld=!0,this._clearCache=!0,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=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,u=o;uthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!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 e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),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(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(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(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),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));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),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))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,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 i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.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,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),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=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,l,u){return void 0===u&&(u=this.world),u.add(new i.Button(this.game,t,e,s,n,r,o,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,l){return new i.Button(this.game,t,e,s,n,r,o,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,l,u){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,u),null!==r&&this.onInputUp.add(r,o),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)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,l,u,c,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof u&&(this._rotate=u),"number"==typeof c&&(this._anchor.x=c),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.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},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=u=t[0],l=c=t[1];for(var g=s;gu&&(u=d),p>c&&(c=p);f=Math.max(u-h,c-l)}return i.EarCut.earcutLinked(o,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,l=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,l,u=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,u=l.next;else if((t=l)===u){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,c=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(u,c,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(l,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,l,u=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,c=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,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(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,T=v-b,_/=R=Math.sqrt(_*_+T*T),T/=R,_*=F,T*=F,L.push(p-_,f-T),L.push(G,N,X,U),L.push(p+_,f+T),L.push(G,N,X,U),L.push(p-_,f-T),L.push(G,N,X,U),k++):(L.push(l,u),L.push(G,N,X,U),L.push(p-(l-p),f-(u-f)),L.push(G,N,X,U));for(c=n[2*(O-2)],d=n[2*(O-2)+1],p=n[2*(O-1)],y=-(d-(f=n[2*(O-1)+1])),v=c-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(p-y,f-v),L.push(G,N,X,U),L.push(p+y,f+v),L.push(G,N,X,U),I.push(D),s=0;sh?r:h,l=ou?o:u;s.push(a,l,h,l,h,u,a,u);var d=s.length/2;for(c=0;cP?P:S,e.beginPath(),e.moveTo(_,T+S),e.lineTo(_,T+C-S),e.quadraticCurveTo(_,T+C,_+S,T+C),e.lineTo(_+w-S,T+C),e.quadraticCurveTo(_+w,T+C,_+w,T+C-S),e.lineTo(_+w,T+S),e.quadraticCurveTo(_+w,T,_+w-S,T),e.lineTo(_+S,T),e.quadraticCurveTo(_,T,_,T+S),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nC?C:w,e.moveTo(x,b+w),e.lineTo(x,b+T-w),e.quadraticCurveTo(x,b+T,x+w,b+T),e.lineTo(x+_-w,b+T),e.quadraticCurveTo(x+_,b+T,x+_,b+T-w),e.lineTo(x+_,b+w),e.quadraticCurveTo(x+_,b,x+_-w,b),e.lineTo(x+w,b),e.quadraticCurveTo(x,b,x,b+w),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,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 i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nu*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,u=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,u);for(var c=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);c.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sT?m:T,T=v>T?v:T,T=b>T?b:T,w=y>w?y:w,w=x>w?x:w,w=_>w?_:w,this._bounds.x=C,this._bounds.width=T-C,this._bounds.y=S,this._bounds.height=w-S,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+u:n;else if(p===i.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,u=r.radius+f/2,t=a-le?a+l:e,s=h-un?h+u:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,u=r.height+f/2,t=a-le?a+l:e,s=h-un?h+u:n;else{o=r.points;for(var g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.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=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var u=0,c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[c]):Math.ceil(this.context.measureText(h[c]).width),c>0&&(u+=i[c-1]),l=u+d}else for(c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[c]):l+=Math.ceil(this.context.measureText(h[c]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*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 m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}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(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===c){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);u[c]=m,h+=g}var y=u[c].length?c:c+1,v=u.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,u=n.getImageData(0,0,r,a).data,c=u.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(l=0;l0?this._maxWidth:null,l=[],u=0;u=h&&r>-1)return{width:o||n,text:i.substr(0,u-(u-r)),end:c,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:c,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=u.width),n+=t.lineHeight*i,e=e.substr(u.text.length+1)}while(!1===u.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,l,u){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=l||0,this.offsetY=u||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=[],this.points=o,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,this.points=o,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,T=this.canvasPadding/this.worldTransform.d,w=(l+u+c)/3,C=(d+p+f)/3,S=l-w,P=d-C,E=Math.sqrt(S*S+P*P);l=w+S/E*(E+_),d=C+P/E*(E+T),P=p-C,u=w+(S=u-w)/(E=Math.sqrt(S*S+P*P))*(E+_),p=C+P/E*(E+T),P=f-C,c=w+(S=c-w)/(E=Math.sqrt(S*S+P*P))*(E+_),f=C+P/E*(E+T)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(u,p),t.lineTo(c,f),t.closePath(),t.clip();var A=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*c+u*b-x*c-v*u-l*b,R=g*u+l*y+m*c-u*y-l*m-g*c,L=g*x*c+v*u*y+l*m*b-l*x*y-v*m*c-g*u*b,I=d*x+v*f+p*b-x*f-v*p-d*b,O=g*p+d*y+m*f-p*y-d*m-g*f,k=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/A,I/A,R/A,O/A,L/A,k/A),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?m:h,l=y>l?y:l}if(u===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=u,v.width=h-u,v.y=c,v.height=l-c,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,l=[],u=0;u(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,T=b>(T=v>(T=m>(T=f>T?f:T)?m:T)?v:T)?b:T;var S=this._bounds;return S.x=w,S.width=_-w,S.y=C,S.height=T-C,this._currentBounds=S,S},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>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(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t){return this._tweens.some(function(e){return e.target===t})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,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 t=0;t0?(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(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.yoyoCounter=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*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 s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];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,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=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 t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.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(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},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(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),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=this.isReversed?this._frames.length-1: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)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=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._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),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)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===u||0===c||uu&&(f=o,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var u;"json"===r?(u=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(u,l.base,o,a,h,this.game.resolution)):(u=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(u,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var u={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=u,this._resolveURL(e,u)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(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,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&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 n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()}},xhrLoadWithXDR:function(t,e,i,s,n){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 r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e: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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var l=t.getElementsByTagName("char"),u=n?n.x:0,c=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?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()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(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.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;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&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(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&&""===t?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)&&!1===this.game.cache.getSound(this.key).isDecoding&&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.game.sound.mute?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(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,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 e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,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(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&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 t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?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())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(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(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)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(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){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.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.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 t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},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(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var l=(h.red-a.red)*n/s+a.red,u=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,u=x.g,c=x.b}return i.Color.getColor32(r,l,u,c)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,u=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,l,u)},interpolateRGB:function(t,e,s,n,r,o,a,h){var l=(n-t)*h/a+t,u=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(l,u,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},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}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.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=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.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()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,r){return void 0===r&&(r=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>r?i=r:i<-r&&(i=-r),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,r){if(!Array.isArray(t)&&Array.isArray(e))for(o=0;oa.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,r,o)}}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(e);for(var u=this.quadTree.retrieve(t),h=0;hu.right)continue;if(u.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomu.bottom)continue;if(u.y>h.body.bottom)break}this.collideSpriteVsSprite(h,c,e,s,n,r)}}}}},collideGroupVsGroup:function(t,e,s,n,r,o){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,u=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,r=e.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var u={x:t.velocity.x*Math.cos(o)+t.velocity.y*Math.sin(o),y:t.velocity.x*Math.sin(o)-t.velocity.y*Math.cos(o)},c={x:e.velocity.x*Math.cos(o)+e.velocity.y*Math.sin(o),y:e.velocity.x*Math.sin(o)-e.velocity.y*Math.cos(o)},d=((t.mass-e.mass)*u.x+2*e.mass*c.x)/(t.mass+e.mass),p=(2*t.mass*u.x+(e.mass-t.mass)*c.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(o)-u.y*Math.sin(o))*t.bounce.x,t.velocity.y=(u.y*Math.cos(o)+d*Math.sin(o))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(o)-c.y*Math.sin(o))*e.bounce.x,e.velocity.y=(c.y*Math.cos(o)+p*Math.sin(o))*e.bounce.y),Math.abs(o)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(o),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(o)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,r=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-r*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=r-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.x=h+o*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,r=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-r*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=r-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.y=h+o*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,r,o){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(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),u=0;u0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleBetween(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToXY:function(t,e,i,s,n,r){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===r&&(r=1e3);var o=this.angleToXY(t,e,i);return t.body.acceleration.setTo(o,s),t.body.maxVelocity.setTo(n,r),o},distanceBetween:function(t,e,i){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,r=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+r*r)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i){for(var s=1/0,n=null,r=0,o=e.length;rs&&(n=a,s=h)}return n},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.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=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,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={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){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.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),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.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.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.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,r,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,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(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,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(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},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},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),i.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},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(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,r,o){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var u=new i.Tileset(t,a,s,n,r,o,{});u.setImage(h),this.tilesets.push(u);for(var c=this.tilesets.length-1,d=r,p=r,f=0,g=0,m=0,y=a;y1)for(c=0;cthis.layers.length)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[r].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[r].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[r].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new i.TilemapLayer(this.game,this,r,e,s));return this.enableDebug&&console.groupEnd(),o}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],u=0;uthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,r){n|=0,r|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,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:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;m++,v--,f+=u){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var T=_[g];if(T&&!(T.index<0)){var w=T.index,C=c[w];void 0===C&&(C=this.resolveTileset(w)),T.alpha===d||this.debug||(o.globalAlpha=T.alpha,d=T.alpha),C?T.rotation||T.flipped?(o.save(),o.translate(p+T.centerX,f+T.centerY),o.rotate(T.rotation),T.flipped&&o.scale(-1,1),C.draw(o,-T.centerX,-T.centerY,w),o.restore()):C.draw(o,p,f,w):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,u)),T.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,u))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,u=0,c=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(u=r+e,c=r-1):e>0&&(c=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),u=Math.floor((u+s)/a),c=Math.floor((c+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(u<=c){this.context.clearRect(0,u*a-s,n,(c-u+1)*a);var f=Math.floor((0+i)/o),g=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,u,g,c)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var w=this.layer.data[s];for(i=_,n=m-g,t=x;n>=0;i++,n--,t+=p){i>=c&&(i-=c);var C=w[i];!C||C.index<0||!C.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),C.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),C.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),C.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),C.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var r=this.getEmptyData(),o=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,u=0;u>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}D={name:r.name,x:r.x,y:r.y,width:r.width,height:r.height,widthInPixels:r.width*t.tilewidth,heightInPixels:r.height*t.tileheight,alpha:r.opacity,offsetX:r.offsetx,offsetY:r.offsety,visible:r.visible,properties:{},indexes:[],callbacks:[],bodies:[]};r.properties&&(D.properties=r.properties);for(var u,c,d,p=0,f=[],g=[],m=0,a=r.data.length;m536870912)switch(E>2147483648&&(E-=2147483648,d+=4),E>1073741824&&(E-=1073741824,d+=2),E>536870912&&(E-=536870912,d+=1),d){case 5:u=Math.PI/2;break;case 6:u=Math.PI;break;case 3:u=3*Math.PI/2;break;case 4:u=0,c=!0;break;case 7:u=Math.PI/2,c=!0;break;case 2:u=Math.PI,c=!0;break;case 1:u=3*Math.PI/2,c=!0}E>0?((F=new i.Tile(D,E,p,g.length,t.tilewidth,t.tileheight)).rotation=u,F.flipped=c,0!==d&&(F.flippedVal=d),f.push(F)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(D,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}D.data=g,s.push(D)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=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._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===r&&(r=null);var o,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var r=0;r1&&(o=r.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=r.between(this.top,this.bottom)),this.resetParticle(n,o,a),!0},i.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,r){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var o={v:t},a=this.game.make.tween(o).to({v:e},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,r,o,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,r>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,r){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var u=0,c=0;0===l||180===l?u=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?c=Math.sin(this.game.math.degToRad(l))*o:(u=Math.cos(this.game.math.degToRad(l))*o,c=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(u,c),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var g=this.fireRate;(g+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.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._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=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!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=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),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,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,t,e)),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.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?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.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 t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&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,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},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(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); //# sourceMappingURL=phaser-arcade-physics.map \ No newline at end of file diff --git a/build/custom/phaser-creature.js b/build/custom/phaser-creature.js index e8b1cb4c1..9344d50cb 100644 --- a/build/custom/phaser-creature.js +++ b/build/custom/phaser-creature.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.9.0 "2017-10-08" - Built: Sun Oct 08 2017 19:21:32 +* v2.9.1 "2017-10-10" - Built: Tue Oct 10 2017 11:18:25 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -53,7 +53,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.9.0', + VERSION: '2.9.1', /** * An array of Phaser game instances. @@ -77770,15 +77770,29 @@ Phaser.Tilemap.prototype = { if (typeof indexes === 'number') { - // This may seem a bit wasteful, because it will cause empty array elements to be created, but the look-up cost is much - // less than having to iterate through the callbacks array hunting down tile indexes each frame, so I'll take the small memory hit. - this.layers[layer].callbacks[indexes] = { callback: callback, callbackContext: callbackContext }; + if (callback === null) + { + delete this.layers[layer].callbacks[indexes]; + } + else + { + // This may seem a bit wasteful, because it will cause empty array elements to be created, but the look-up cost is much + // less than having to iterate through the callbacks array hunting down tile indexes each frame, so I'll take the small memory hit. + this.layers[layer].callbacks[indexes] = { callback: callback, callbackContext: callbackContext }; + } } else { for (var i = 0, len = indexes.length; i < len; i++) { - this.layers[layer].callbacks[indexes[i]] = { callback: callback, callbackContext: callbackContext }; + if (callback === null) + { + delete this.layers[layer].callbacks[indexes[i]]; + } + else + { + this.layers[layer].callbacks[indexes[i]] = { callback: callback, callbackContext: callbackContext }; + } } } @@ -81942,8 +81956,8 @@ Phaser.Particles.Arcade.Emitter.prototype.constructor = Phaser.Particles.Arcade. */ Phaser.Particles.Arcade.Emitter.prototype.update = function () { - this.count.emitted = 0; - this.count.failed = 0; + this.counts.emitted = 0; + this.counts.failed = 0; if (this.on && this.game.time.time >= this._timer) { @@ -82269,14 +82283,14 @@ Phaser.Particles.Arcade.Emitter.prototype.emitParticle = function (x, y, key, fr if (particle === null) { - this.count.failed++; - this.count.totalFailed++; + this.counts.failed++; + this.counts.totalFailed++; return false; } - this.count.emitted++; - this.count.totalEmitted++; + this.counts.emitted++; + this.counts.totalEmitted++; var rnd = this.game.rnd; diff --git a/build/custom/phaser-creature.map b/build/custom/phaser-creature.map index 76b3c3649..d32d0511a 100644 --- a/build/custom/phaser-creature.map +++ b/build/custom/phaser-creature.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-creature.js"],"names":["WheelEventProxy","scaleFactor","deltaMode","this","_scaleFactor","_deltaMode","originalEvent","root","Phaser","VERSION","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","WEBGL_MULTI","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","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","blendModes","NORMAL","ADD","MULTIPLY","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","scaleModes","DEFAULT","LINEAR","NEAREST","PIXI","_UID","Math","trunc","x","ceil","floor","Function","prototype","bind","slice","Array","thisArg","bound","args","boundArgs","concat","call","arguments","target","apply","TypeError","F","proto","isArray","arg","Object","toString","forEach","fun","t","len","length","i","window","Uint32Array","CheapArray","type","constructor","console","log","assert","warn","assign","varArgs","to","hasOwn","hasOwnProperty","index","nextSource","nextKey","Utils","reverseString","string","split","reverse","join","getProperty","obj","prop","parts","val","key","setProperties","props","name","setProperty","value","_setProperty","currentObj","chanceRoll","chance","undefined","random","randomChoice","choice1","choice2","parseDimension","size","dimension","f","px","substr","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","e","extend","options","src","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","get","set","defineProperty","from","o","childNodes","cloneNode","Circle","y","diameter","_diameter","_radius","circumference","PI","out","Point","u","r","cos","sin","radius","getBounds","Rectangle","setTo","copyFrom","source","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","PI2","linear","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","h","k","m","end","start","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","normx","normy","Line","x2","y2","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","Infinity","edge","normalAngle","Matrix","d","fromArray","array","matrix","toArray","transpose","Float32Array","pos","newPos","applyInverse","id","translate","scale","tx1","append","d1","identity","identityMatrix","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","clip","equalsXY","fuzzyEquals","fuzzyEqualsXY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","game","world","view","bounds","deadzone","visible","roundPx","atLimit","displayObject","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","_shake","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","camera","Graphics","stage","addChild","preUpdate","follow","style","lerpX","lerpY","helper","w","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","color","alpha","clear","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","worldPosition","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","preRender","render","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","context","save","setTransform","restore","_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","uniforms","fragmentSrc","passes","shaders","dirty","padding","prevPoint","Date","resolution","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","textureData","repeat","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","image","Cache","anchor","filters","syncUniforms","Plugin","parent","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","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","z","physicsType","alive","ignoreDestroy","pendingDestroy","classType","Sprite","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","addChildAt","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","count","countLiving","countDead","getRandom","startIndex","ArrayUtils","getRandomItem","getRandomExists","endIndex","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","removed","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","rotation","World","_definedSize","_width","_height","stateChange","setBounds","sprite","useBounds","_currentBounds","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","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","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","webGL","CanvasRenderer","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","refresh","timeStep","enableStep","disableStep","step","stop","removeFromDOM","defaultRenderer","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","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","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","wt","hitTest","localPoint","worldVisible","hitArea","Creature","TileSprite","texture","baseTexture","graphicsData","data","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","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","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","startStop","condition","padFloat","justPressed","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","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","ignoreChildInput","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","worldScale","checkPixel","trim","crop","_dx","_dy","clearRect","drawImage","getImageData","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","offsetX","offsetY","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","navigator","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","_rawPad","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","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","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","ONE","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","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","cw","ch","_updateUvs","tint","requiresReTint","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","setFrame","scaleMode","RenderTexture","setTexture","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","valid","Tilemap","TilemapLayer","Texture","fromCanvas","img","getImage","base","skipRender","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","rotated","tilingTexture","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","minX","minY","maxX","maxY","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","spriteBatch","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","graphics","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","renderTexture","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","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","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","fastSpriteBatch","ready","_renderWebGL","renderSession","WebGLFastSpriteBatch","gl","setContext","shaderManager","setShader","fastShader","begin","_renderCanvas","globalAlpha","displayObjectUpdateTransform","transform","isRotated","shakeX","shakeY","childTransform","roundPixels","skipPool","ctx","smoothProperty","getSmoothingPrefix","imageData","pixels","buffer","ArrayBuffer","BaseTexture","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","fillStyle","fillRect","generateTexture","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","putImageData","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","scan","scaleX","scaleY","newWidth","newHeight","blendMode","getCanvas","cachedTint","tintedTexture","CanvasTinter","getTintedTexture","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","CanvasGraphics","renderGraphics","worldRotation","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","globalCompositeOperation","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","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","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","WebGLGraphics","stencilBufferLimit","webGLData","projection","shader","primitiveShader","updateGraphics","_webGL","mode","stencilManager","pushStencil","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","indices","popStencil","uniformMatrix3fv","translationMatrix","uniform1f","flipY","uniform2f","projectionVector","offsetVector","uniform3fv","tintColor","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","aVertexPosition","FLOAT","colorAttribute","ELEMENT_ARRAY_BUFFER","indexBuffer","TRIANGLE_STRIP","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","pop","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","createBuffer","glPoints","bufferData","STATIC_DRAW","glIndicies","Uint16Array","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","renderGraphicsMask","tintR","tintG","tintB","GraphicsData","currentPath","isMask","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","vertices","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","CanvasBuffer","_cacheAsBitmap","_generateCachedSprite","updateCachedSpriteTexture","_cachedSprite","blendModeManager","setBlendMode","maskManager","pushMask","_filters","filterManager","pushFilter","_filterBlock","currentBlendMode","blendModeWebGL","blendModesWebGL","blendFunc","popFilter","popMask","drawCount","_prevTint","blendModesCanvas","w0","w1","h0","h1","x3","y3","x4","y4","getLocalBounds","matrixCache","tempPoint","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","isCocoonJS","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","updateTexture","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","pivot","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","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","uvs","canvasPadding","drawMode","TRIANGLES","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","stripShader","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","DYNAMIC_DRAW","aTextureCoord","activeTexture","TEXTURE0","bindTexture","TEXTURE_2D","bufferSubData","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","index1","index2","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","flush","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","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","item","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","error","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","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","HALF_PI","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","isPowerOfTwo","temp","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","range","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","level","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","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","pendingDelete","_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","complete","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","yoyoCounter","ms","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","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","attributes","autoResolveURL","_cache","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","format","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","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","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","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","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","exkey","compression","extensions","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","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","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","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","pvr","compressionAlgorithm","uintArray","byteArray","pvrHeader","pixelFormat","glExtensionFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","subarray","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","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","hasPhaserSetFullScreen","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","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","pageAlignHorizontally","pageAlignVertically","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","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","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","currentBatchedTextures","maxTextures","maxTextureSize","maxTextureAvailableSpace","canvasPool","phaser","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","row","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","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","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","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","center","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","Spring","broadphase","SAPBroadphase","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","on","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","removeBody","setImpactEvents","impactHandler","off","setPostBroadphaseCallback","postBroadphaseHandler","pairs","bodyA","bodyB","_bodyCallbacks","_bodyCallbackContext","shapeA","shapeB","_groupCallbacks","collisionGroup","_groupCallbackContext","contactEquations","setCollisionGroup","setWorldMaterial","material","shapes","updateBoundsCollisionGroup","setupWall","wall","addShape","Plane","addBody","fixedStepTime","solver","equations","removeAllEquations","cs","constraints","removeConstraint","bodies","springs","removeSpring","cms","contactMaterials","removeContactMaterial","impactCallback","addSpring","spring","RotationalSpring","createDistanceConstraint","localAnchorA","localAnchorB","maxForce","getBody","addConstraint","DistanceConstraint","createGearConstraint","ratio","GearConstraint","createRevoluteConstraint","pivotA","pivotB","worldPivot","RevoluteConstraint","createLockConstraint","LockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","PrismaticConstraint","constraint","addContactMaterial","getContactMaterial","materialA","materialB","setMaterial","createMaterial","Material","createContactMaterial","contact","ContactMaterial","getBodies","getSprings","getConstraints","worldPoint","precision","filterStatic","physicsPosition","query","STATIC","toJSON","createCollisionGroup","bitmask","collisionMask","createSpring","restLength","stiffness","damping","worldA","worldB","localA","localB","createRotationalSpring","restAngle","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","polygon","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","defaultContactMaterial","restitution","applySpringForces","applyDamping","applyGravity","solveConstraints","emitImpactEvent","sleepMode","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","sensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","adjustCenterOfMass","shapeChanged","getVelocityAtPoint","relativePoint","applyImpulse","impulse","applyImpulseLocal","localX","localY","applyForce","setZeroForce","setZeroRotation","setZeroVelocity","setZeroDamping","angularDamping","toLocalFrame","toWorldFrame","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","fixedRotation","updateSpriteTransform","resetDamping","resetMass","clearShapes","removeShape","addCircle","Box","addPlane","addParticle","Particle","addLine","addCapsule","Capsule","fromPolygon","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","aabbNeedsUpdate","generatedShapes","categoryBits","maskBits","isSensor","vec2","polygons","cm","Convex","sub","centerOfMass","updateTriangles","updateCenterOfMass","updateBoundingRadius","loadPolygon","DYNAMIC","KINEMATIC","allowSleep","angularForce","inertia","updateMassProperties","sleepSpeedLimit","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","worldAnchorA","worldAnchorB","LinearSpring","localOffsetB","localAngleB","localAxisA","disableRotationalLock","localPivotA","localPivotB","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","version","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","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","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","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","requiresUpdate","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","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","positions","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","CreatureShader","program","vertexSrc","compileProgram","useProgram","uSampler","_enableMultiTextureToggle","getUniformLocation","getAttribLocation","aTextureIndex","deleteProgram","attribute","animation","loadAnchors","meshData","_creature","CreatureAnimation","CreatureManager","timeDelta","creatureBoundsMin","creatureBoundsMax","target_creature","total_num_pts","global_indices","updateRenderData","global_pts","global_uvs","AddAnimation","SetActiveAnimationName","Update","updateData","creatureShader","_renderCreature","updateCreatureBounds","ComputeBoundaryMinMax","boundary_min","boundary_max","read_pts","render_pts","read_uvs","pt_index","uv_index","write_pt_index","setAnimation","setAnimationPlaySpeed","SetIsPlaying","RunAtTime","GetIsPlaying","should_loop","SetShouldLoop","values","GetPixelScaling","SetAnchorPoint","setAnchorPointEnabled","SetAnchorPointEnabled","createAllAnimations","CreateAllAnimations","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","emptyTexture","DisplayObject","TextureSilentFail","canUseNewCanvasBlendModes","exports","module","define","amd"],"mappings":"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","file":"phaser-creature.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser-creature.js"],"names":["WheelEventProxy","scaleFactor","deltaMode","this","_scaleFactor","_deltaMode","originalEvent","root","Phaser","VERSION","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","WEBGL_MULTI","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","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","blendModes","NORMAL","ADD","MULTIPLY","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","scaleModes","DEFAULT","LINEAR","NEAREST","PIXI","_UID","Math","trunc","x","ceil","floor","Function","prototype","bind","slice","Array","thisArg","bound","args","boundArgs","concat","call","arguments","target","apply","TypeError","F","proto","isArray","arg","Object","toString","forEach","fun","t","len","length","i","window","Uint32Array","CheapArray","type","constructor","console","log","assert","warn","assign","varArgs","to","hasOwn","hasOwnProperty","index","nextSource","nextKey","Utils","reverseString","string","split","reverse","join","getProperty","obj","prop","parts","val","key","setProperties","props","name","setProperty","value","_setProperty","currentObj","chanceRoll","chance","undefined","random","randomChoice","choice1","choice2","parseDimension","size","dimension","f","px","substr","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","e","extend","options","src","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","get","set","defineProperty","from","o","childNodes","cloneNode","Circle","y","diameter","_diameter","_radius","circumference","PI","out","Point","u","r","cos","sin","radius","getBounds","Rectangle","setTo","copyFrom","source","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","PI2","linear","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","h","k","m","end","start","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","normx","normy","Line","x2","y2","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","Infinity","edge","normalAngle","Matrix","d","fromArray","array","matrix","toArray","transpose","Float32Array","pos","newPos","applyInverse","id","translate","scale","tx1","append","d1","identity","identityMatrix","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","clip","equalsXY","fuzzyEquals","fuzzyEqualsXY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","game","world","view","bounds","deadzone","visible","roundPx","atLimit","displayObject","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","_shake","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","camera","Graphics","stage","addChild","preUpdate","follow","style","lerpX","lerpY","helper","w","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","color","alpha","clear","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","worldPosition","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","preRender","render","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","context","save","setTransform","restore","_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","uniforms","fragmentSrc","passes","shaders","dirty","padding","prevPoint","Date","resolution","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","textureData","repeat","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","image","Cache","anchor","filters","syncUniforms","Plugin","parent","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","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","z","physicsType","alive","ignoreDestroy","pendingDestroy","classType","Sprite","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","addChildAt","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","count","countLiving","countDead","getRandom","startIndex","ArrayUtils","getRandomItem","getRandomExists","endIndex","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","removed","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","rotation","World","_definedSize","_width","_height","stateChange","setBounds","sprite","useBounds","_currentBounds","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","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","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","webGL","CanvasRenderer","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","refresh","timeStep","enableStep","disableStep","step","stop","removeFromDOM","defaultRenderer","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","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","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","wt","hitTest","localPoint","worldVisible","hitArea","Creature","TileSprite","texture","baseTexture","graphicsData","data","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","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","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","startStop","condition","padFloat","justPressed","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","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","ignoreChildInput","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","worldScale","checkPixel","trim","crop","_dx","_dy","clearRect","drawImage","getImageData","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","offsetX","offsetY","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","navigator","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","_rawPad","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","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","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","ONE","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","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","cw","ch","_updateUvs","tint","requiresReTint","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","setFrame","scaleMode","RenderTexture","setTexture","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","valid","Tilemap","TilemapLayer","Texture","fromCanvas","img","getImage","base","skipRender","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","rotated","tilingTexture","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","minX","minY","maxX","maxY","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","spriteBatch","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","graphics","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","renderTexture","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","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","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","fastSpriteBatch","ready","_renderWebGL","renderSession","WebGLFastSpriteBatch","gl","setContext","shaderManager","setShader","fastShader","begin","_renderCanvas","globalAlpha","displayObjectUpdateTransform","transform","isRotated","shakeX","shakeY","childTransform","roundPixels","skipPool","ctx","smoothProperty","getSmoothingPrefix","imageData","pixels","buffer","ArrayBuffer","BaseTexture","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","fillStyle","fillRect","generateTexture","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","putImageData","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","scan","scaleX","scaleY","newWidth","newHeight","blendMode","getCanvas","cachedTint","tintedTexture","CanvasTinter","getTintedTexture","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","CanvasGraphics","renderGraphics","worldRotation","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","globalCompositeOperation","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","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","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","WebGLGraphics","stencilBufferLimit","webGLData","projection","shader","primitiveShader","updateGraphics","_webGL","mode","stencilManager","pushStencil","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","indices","popStencil","uniformMatrix3fv","translationMatrix","uniform1f","flipY","uniform2f","projectionVector","offsetVector","uniform3fv","tintColor","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","aVertexPosition","FLOAT","colorAttribute","ELEMENT_ARRAY_BUFFER","indexBuffer","TRIANGLE_STRIP","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","pop","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","createBuffer","glPoints","bufferData","STATIC_DRAW","glIndicies","Uint16Array","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","renderGraphicsMask","tintR","tintG","tintB","GraphicsData","currentPath","isMask","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","vertices","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","CanvasBuffer","_cacheAsBitmap","_generateCachedSprite","updateCachedSpriteTexture","_cachedSprite","blendModeManager","setBlendMode","maskManager","pushMask","_filters","filterManager","pushFilter","_filterBlock","currentBlendMode","blendModeWebGL","blendModesWebGL","blendFunc","popFilter","popMask","drawCount","_prevTint","blendModesCanvas","w0","w1","h0","h1","x3","y3","x4","y4","getLocalBounds","matrixCache","tempPoint","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","isCocoonJS","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","updateTexture","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","pivot","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","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","uvs","canvasPadding","drawMode","TRIANGLES","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","stripShader","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","DYNAMIC_DRAW","aTextureCoord","activeTexture","TEXTURE0","bindTexture","TEXTURE_2D","bufferSubData","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","index1","index2","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","flush","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","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","item","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","error","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","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","HALF_PI","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","isPowerOfTwo","temp","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","range","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","level","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","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","pendingDelete","_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","complete","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","yoyoCounter","ms","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","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","attributes","autoResolveURL","_cache","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","format","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","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","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","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","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","exkey","compression","extensions","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","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","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","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","pvr","compressionAlgorithm","uintArray","byteArray","pvrHeader","pixelFormat","glExtensionFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","subarray","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","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","hasPhaserSetFullScreen","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","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","pageAlignHorizontally","pageAlignVertically","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","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","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","currentBatchedTextures","maxTextures","maxTextureSize","maxTextureAvailableSpace","canvasPool","phaser","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","row","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","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","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","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","center","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","Spring","broadphase","SAPBroadphase","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","on","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","removeBody","setImpactEvents","impactHandler","off","setPostBroadphaseCallback","postBroadphaseHandler","pairs","bodyA","bodyB","_bodyCallbacks","_bodyCallbackContext","shapeA","shapeB","_groupCallbacks","collisionGroup","_groupCallbackContext","contactEquations","setCollisionGroup","setWorldMaterial","material","shapes","updateBoundsCollisionGroup","setupWall","wall","addShape","Plane","addBody","fixedStepTime","solver","equations","removeAllEquations","cs","constraints","removeConstraint","bodies","springs","removeSpring","cms","contactMaterials","removeContactMaterial","impactCallback","addSpring","spring","RotationalSpring","createDistanceConstraint","localAnchorA","localAnchorB","maxForce","getBody","addConstraint","DistanceConstraint","createGearConstraint","ratio","GearConstraint","createRevoluteConstraint","pivotA","pivotB","worldPivot","RevoluteConstraint","createLockConstraint","LockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","PrismaticConstraint","constraint","addContactMaterial","getContactMaterial","materialA","materialB","setMaterial","createMaterial","Material","createContactMaterial","contact","ContactMaterial","getBodies","getSprings","getConstraints","worldPoint","precision","filterStatic","physicsPosition","query","STATIC","toJSON","createCollisionGroup","bitmask","collisionMask","createSpring","restLength","stiffness","damping","worldA","worldB","localA","localB","createRotationalSpring","restAngle","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","polygon","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","defaultContactMaterial","restitution","applySpringForces","applyDamping","applyGravity","solveConstraints","emitImpactEvent","sleepMode","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","sensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","adjustCenterOfMass","shapeChanged","getVelocityAtPoint","relativePoint","applyImpulse","impulse","applyImpulseLocal","localX","localY","applyForce","setZeroForce","setZeroRotation","setZeroVelocity","setZeroDamping","angularDamping","toLocalFrame","toWorldFrame","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","fixedRotation","updateSpriteTransform","resetDamping","resetMass","clearShapes","removeShape","addCircle","Box","addPlane","addParticle","Particle","addLine","addCapsule","Capsule","fromPolygon","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","aabbNeedsUpdate","generatedShapes","categoryBits","maskBits","isSensor","vec2","polygons","cm","Convex","sub","centerOfMass","updateTriangles","updateCenterOfMass","updateBoundingRadius","loadPolygon","DYNAMIC","KINEMATIC","allowSleep","angularForce","inertia","updateMassProperties","sleepSpeedLimit","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","worldAnchorA","worldAnchorB","LinearSpring","localOffsetB","localAngleB","localAxisA","disableRotationalLock","localPivotA","localPivotB","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","version","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","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","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","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","requiresUpdate","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","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","positions","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","CreatureShader","program","vertexSrc","compileProgram","useProgram","uSampler","_enableMultiTextureToggle","getUniformLocation","getAttribLocation","aTextureIndex","deleteProgram","attribute","animation","loadAnchors","meshData","_creature","CreatureAnimation","CreatureManager","timeDelta","creatureBoundsMin","creatureBoundsMax","target_creature","total_num_pts","global_indices","updateRenderData","global_pts","global_uvs","AddAnimation","SetActiveAnimationName","Update","updateData","creatureShader","_renderCreature","updateCreatureBounds","ComputeBoundaryMinMax","boundary_min","boundary_max","read_pts","render_pts","read_uvs","pt_index","uv_index","write_pt_index","setAnimation","setAnimationPlaySpeed","SetIsPlaying","RunAtTime","GetIsPlaying","should_loop","SetShouldLoop","values","GetPixelScaling","SetAnchorPoint","setAnchorPointEnabled","SetAnchorPointEnabled","createAllAnimations","CreateAllAnimations","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","emptyTexture","DisplayObject","TextureSilentFail","canUseNewCanvasBlendModes","exports","module","define","amd"],"mappings":"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","file":"phaser-creature.min.js"} \ No newline at end of file diff --git a/build/custom/phaser-creature.min.js b/build/custom/phaser-creature.min.js index 4b40ea3eb..94fc7ef4d 100644 --- a/build/custom/phaser-creature.min.js +++ b/build/custom/phaser-creature.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.9.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.9.1 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.9.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,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,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,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||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var o=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,o)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var o=Math.ceil((n=e-t.length)/2),r=n-o;t=new Array(r+1).join(i)+t+new Array(o+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,o,r,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(e),r=n*Math.sin(e);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,o){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),o||(o=[]);for(var r=0;r0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,o=s-e.halfHeight;return n*n+o*o<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,o=t.y,r=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-r*e.end.x,h=t.radius,l=t.radius,c=a+r*n,u=(n*(l*l)-r*(h*h)*(a-o)+h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),d=(n*(l*l)-r*(h*h)*(a-o)-h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),p=r*u+a,f=r*d+a,m=new i.Point(u,p),g=new i.Point(d,f),y=e.pointOnSegment(m.x,m.y,.01),v=e.pointOnSegment(g.x,g.y,.01);return y&&v?!s||[m,g]:y?!s||[m]:v?!s||[g]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=o&&e<=r},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),o=Math.round(this.end.y),r=Math.abs(n-i),a=Math.abs(o-s),h=i-a&&(c-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?r:null}return r},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,o=t.end.y,r=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=r&&i<=h&&s>=a&&s<=l||n>=r&&n<=h&&o>=a&&o<=l)return!0;if(i=r){if((c=s+(o-s)*(r-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(o-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(o-s))>=r&&c<=h)return!0}else if(s>l&&o<=l&&(c=i+(n-i)*(l-s)/(o-s))>=r&&c<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var o=n.edges,r=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,c=e.bottom,u=1/0;o[0].setTo(a,h,l,h),o[1].setTo(a,c,l,c),o[2].setTo(a,h,a,c),o[3].setTo(l,h,l,c);for(var d,p=0;d=o[p];p++)if(t.intersects(d,!0,r)){var f=t.start.distance(r);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,o){return i.Point.rotate(this,t,e,s,n,o)},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(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.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+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.equalsXY=function(t,e,i){return t.x===e&&t.y===i},i.Point.fuzzyEquals=function(t,e,s){return i.Math.fuzzyEquals(t.x,e.x,s)&&i.Math.fuzzyEquals(t.y,e.y,s)},i.Point.fuzzyEqualsXY=function(t,e,s,n){return i.Math.fuzzyEquals(t.x,e,n)&&i.Math.fuzzyEquals(t.y,s,n)},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,o,r){if(o&&(n=i.Math.degToRad(n)),void 0===r){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,c=a*t.x+h*t.y;t.x=l+e,t.y=c+s}else{var u=n+Math.atan2(t.y-s,t.x-e);t.x=e+r*Math.cos(u),t.y=s+r*Math.sin(u)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&oe.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,o){return void 0===o&&(o=0),!(e>t.right+o||it.bottom+o||ns&&(s=t.x),t.xo&&(o=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,o,r),this.bounds=new i.Rectangle(s,n,o,r),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.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(e){case i.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case i.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,o){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.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.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.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(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(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[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),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&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(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: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&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(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.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._clearWorld=!0,this._clearCache=!0,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=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else r=new i.SignalBinding(this,t,e,s,n,o),this._addBinding(r);return this.memorize&&this._prevParams&&r.execute(this._prevParams),r},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,o){void 0===n&&(n=!0);var r=new this.classType(this.game,t,e,i,s);return r.exists=n,r.visible=n,r.alive=n,this.add(r,!1,o)},i.Group.prototype.createMultiple=function(t,e,i,s,n,o){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var r=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var o=e.length;return 1===o?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===o?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===o?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===o&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=i.Utils.getProperty(t,e);return!(void 0===o&&n||o!==s)},i.Group.prototype.set=function(t,e,i,s,n,o,r){if(void 0===r&&(r=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,o,r)},i.Group.prototype.setAll=function(t,e,i,s,n,o){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===o&&(o=!1),t=t.split("."),n=n||0;for(var r=0;r2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,o,r){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!e||e.call(s,h,o))&&(n=o,r=h)}return r},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],o=i;o0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var o=this.removeChild(this.children[n]);this.removeFromHash(o),i&&o&&o.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!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 e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=r&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=r&&this._localPoint.x=a&&this._localPoint.y=r&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),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(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(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(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],o=0;ot||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),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));else{var o=this.game.camera.x-this._pointerData[t.id].camX,r=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+o),this.allowVerticalDrag&&(this.sprite.y=n+r),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))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,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 i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,o=!0,r=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,o=!this.animations.loadFrameData(h.frameData,e)}o&&(this._frame=i.Rectangle.clone(this.texture.frame)),r||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.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,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),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=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,o){var r=this.game.plugins.add(i.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,e,s,n),r},image:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,o){void 0===o&&(o=this.world);var r=new i.Creature(this.game,t,e,s,n);return o.add(r),r},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,o,r))},rope:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.Rope(this.game,t,e,s,n,o))},text:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,o,r,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.BitmapText(this.game,t,e,s,n,o))},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,o,r){return new i.TileSprite(this.game,t,e,s,n,o,r)},rope:function(t,e,s,n,o){return new i.Rope(this.game,t,e,s,n,o)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,o,r,a,h,l){return new i.Button(this.game,t,e,s,n,o,r,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return new i.BitmapText(this.game,t,e,s,n,o,r)},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,o,r,a,h,l,c){e=e||0,s=s||0,n=n||null,o=o||null,r=r||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==o&&this.onInputUp.add(o,r),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)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,o,r,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,o),this.setStateSound("Down",i,s),this.setStateSound("Up",r,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|o<<8|r,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,o){return this.setPixel32(t,e,i,s,n,255,o)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,o){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,o)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,o=1,r=!1;1===t?(o=-1,n=this.height):3===t&&(o=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=o)>=this.height||n<=0)&&(r=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=o)>=this.width||s<=0)&&(r=!0))}while(0===e.a&&!r);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,o){n=n||1,o=o||1;var r=this.game.add.image(t,e,this);return r.anchor.set(i,s),r.scale.set(n,o),r},copy:function(t,e,s,n,o,r,a,h,l,c,u,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==r&&null!==r||(r=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(r|=0,a|=0),v.translate(r,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var o=n.tx,r=n.ty;t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,r+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(o|=0,r|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,o,r),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,o,r){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,o,r)},draw:function(t,e,i,s,n,o,r){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,o,r)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var o=this.context;return o.fillStyle=o.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),o.save(),o.translate(this._pos.x,this._pos.y),o.rotate(t.angle),o.fillRect(0,0,n,e.height),o.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.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},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var m=s;mc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(r,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,o){var r,a,h,l=0;for(r=e,a=s-n;r0)for(r=e;r=e;r-=n)h=i.EarCut.insertNode(r,t[r],t[r+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,o,r,a){if(t){!a&&r&&i.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?i.EarCut.isEarHashed(t,n,o,r):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,o,r,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,o,r):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,o,r,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,o.x,o.y)&&i.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var o=t.prev,r=t,a=t.next;if(i.EarCut.area(o,r,a)>=0)return!1;for(var h=o.xr.x?o.x>a.x?o.x:a.x:r.x>a.x?r.x:a.x,u=o.y>r.y?o.y>a.y?o.y:a.y:r.y>a.y?r.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var o=n.prev,r=n.next.next;i.EarCut.intersects(o,n,n.next,r)&&i.EarCut.locallyInside(o,r)&&i.EarCut.locallyInside(r,o)&&(e.push(o.i/s),e.push(n.i/s),e.push(r.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,o,r),void i.EarCut.earcutLinked(l,e,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var o,r,a,h,l,c=[];for(o=0,r=e.length;o=n.next.y){var h=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=o&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(rs.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var o=t;do{null===o.z&&(o.z=i.EarCut.zOrder(o.x,o.y,e,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,i.EarCut.sortLinked(o)},i.EarCut.sortLinked=function(t){var e,i,s,n,o,r,a,h,l=1;do{for(i=t,t=null,o=null,r=0;i;){for(r++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;i=s}o.nextZ=null,l*=2}while(r>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-r)*(s-a)-(i-r)*(e-a)>=0&&(i-r)*(o-a)-(n-r)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do{i.y>o!=i.next.y>o&&n<(i.next.x-i.x)*(o-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),o=t.next,r=e.prev;return t.next=e,e.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},i.EarCut.insertNode=function(t,e,s,n){var o=new i.EarCut.Node(t,e,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,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(t,e){var s,n=e.gl,o=e.projection,r=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,r)||(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))),a.lineWidth>0&&(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,r)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=O=Math.sqrt(_*_+w*w),w/=O,_*=B,w*=B,I.push(p-_,f-w),I.push(G,N,X,U),I.push(p+_,f+w),I.push(G,N,X,U),I.push(p-_,f-w),I.push(G,N,X,U),L++):(I.push(l,c),I.push(G,N,X,U),I.push(p-(l-p),f-(c-f)),I.push(G,N,X,U));for(u=n[2*(E-2)],d=n[2*(E-2)+1],p=n[2*(E-1)],y=-(d-(f=n[2*(E-1)+1])),v=u-p,y/=O=Math.sqrt(y*y+v*v),v/=O,y*=B,v*=B,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),R.push(D),s=0;sh?o:h,l=rc?r:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(o.fillColor||0===o.fillColor)&&(e.globalAlpha=o.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),o.lineWidth&&(e.globalAlpha=o.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((r>>8&255)/255*i*255<<8)+(255&r)/255*s*255,o._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,o,r){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=o,this.shape=r,this.type=r.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,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 i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,o=new i.Point,r=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,o,r){if(s===n)return this;void 0===o&&(o=!1),void 0===r&&(r=40),!o&&n<=s?n+=2*Math.PI:o&&s<=n&&(s+=2*Math.PI);var a=o?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*r;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;o&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),m=Math.sin(d),g=h-1,y=g%1/g,v=0;v<=g;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+m*_)*i+t,(f*-_+m*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,o){return this.drawShape(new i.RoundedRectangle(t,e,s,n,o)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?g:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{r=o.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,o,r,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=i.scaleModes.DEFAULT),void 0===r&&(r=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=r,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.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=o,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=o.fontSize+this.style.strokeThickness+this.padding.y,f=p*r,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*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 g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),o=this.style.tabs,r=0;if(Array.isArray(o))for(var a=0,h=0;h0&&(a+=o[h-1]),r=e+a,s?this.context.fillText(n[h],r,i):this.context.strokeText(n[h],r,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var o=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(o.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(o.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(o)}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(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),o=n.length,r=0;rl){if(0===u){for(var m=p;m.length&&(m=m.slice(0,-1),!((f=e.measureText(m).width)<=l)););if(!m.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var g=d.substr(m.length);c[u]=g,h+=m}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[r+1]=v+" "+(n[r+1]||""),o=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(r>0&&(e+="\n"),e+=o[r]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=o[r]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var o=this.textBounds.x,r=this.textBounds.y;"right"===this.style.boundsAlignH?o+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(o+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?r+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(r+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-o,this.pivot.y=-r}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var o=Math.ceil(n.measureText("|MÉq").width),r=Math.ceil(n.measureText("|MÉq").width),a=2*r;if(r=1.4*r|0,s.width=o,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,o,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,r),!n.getImageData(0,0,o,a))return e.ascent=r,e.descent=r+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,o,a).data,u=c.length,d=4*o,p=0,f=!1;for(h=0;hr;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:u,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),o=0;othis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var o=0,r=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=r,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,o){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!o,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),o=n.length;o--;)n[o].x+=i,n[o].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,o,r){this.points=[],this.points=r,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.ROPE,this.points=r,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),r&&(this.vertices=new Float32Array(4*r.length),this.uvs=new Float32Array(4*r.length),this.colors=new Float32Array(2*r.length),this.indices=new Uint16Array(2*r.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,o),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,o,r=t.length,a=1;a1&&1,r=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=r,s.y/=r,s.x*=a,s.y*=a,h[o]=n.x+s.x,h[o+1]=n.y+s.y,h[o+2]=n.x-s.x,h[o+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,o=t.shaderManager.stripShader,r=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(o.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(o.projectionVector,s.x,-s.y),e.uniform2f(o.offsetVector,-n.x,-n.y),e.uniform1f(o.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(r,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,o=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|o):e.setTransform(s.a,s.b,s.c,s.d,n,o),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,A=Math.sqrt(C*C+S*S);l=T+C/A*(A+_),d=P+S/A*(A+w),S=p-P,c=T+(C=c-T)/(A=Math.sqrt(C*C+S*S))*(A+_),p=P+S/A*(A+w),S=f-P,u=T+(C=u-T)/(A=Math.sqrt(C*C+S*S))*(A+_),f=P+S/A*(A+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var k=m*x+v*y+g*b-x*y-v*g-m*b,M=l*x+v*u+c*b-x*u-v*c-l*b,O=m*c+l*y+g*u-c*y-l*g-m*u,I=m*x*u+v*c*y+l*g*b-l*x*y-v*g*u-m*c*b,R=d*x+v*f+p*b-x*f-v*p-d*b,E=m*p+d*y+g*f-p*y-d*g-m*f,L=m*x*f+v*p*y+d*g*b-d*x*y-v*g*f-m*p*b;t.transform(M/k,R/k,O/k,E/k,I/k,L/k),t.drawImage(r,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,o,r,a,h,l=[],c=0;c(_=y>(_=m>(_=p>_?p:_)?m:_)?y:_)?x:_,w=b>(w=v>(w=g>(w=f>w?f:w)?g:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,o=i.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(r),n=r.canvas}else i.CanvasPool.pool[o].parent=t,n=i.CanvasPool.pool[o].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var o=e.getImageData(1,0,1,1);s.canHandleAlpha=o.data[0]===n.data[0]&&o.data[1]===n.data[1]&&o.data[2]===n.data[2]&&o.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,o){e=e||256,s=s||256;var r=o?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=e,r.height=s,r.style.display="block",r},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,o,r){return t.setTransform(s,o,r,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,o=i,r=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>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(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,o,r){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,o,r)},i.QuadTree.prototype={reset:function(t,e,i,s,n,o,r){this.maxObjects=n||10,this.maxLevels=o||4,this.level=r||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",o=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(o.test(s))n=void 0!==e&&null!==e?s.replace(o,"$1"+t+"="+e+"$2$3"):s.replace(o,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var r=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+r+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t){return this._tweens.some(function(e){return e.target===t})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,o,r,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,o,r,a)),n&&this.start(),this)},from:function(t,e,s,n,o,r,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,o,r,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,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 t=0;t0?(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(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.yoyoCounter=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*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 s in this.vEnd){var n=this.vStart[s],o=this.vEnd[s];Array.isArray(o)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,o,this.value):this.parent.target[s]=n+(o-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var o in this.vEnd){var r=this.vStart[o],a=this.vEnd[o];Array.isArray(a)?n[o]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[o]=r+(a-r)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];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,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=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 t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,o,r){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,o,r);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.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(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},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(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,o,r,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=o,this.callbackContext=r,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,o){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,o,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(o),this.delay=1e3/r,this.loop=a,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),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=this.isReversed?this._frames.length-1: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)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=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._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),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)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,o){void 0===n&&(n="");var r=[],a="";if(e=s;h--)a=t+(a="number"==typeof o?i.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},i.Frame=function(t,e,s,n,o,r){this.index=t,this.x=e,this.y=s,this.width=n,this.height=o,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=r,this.centerX=Math.floor(n/2),this.centerY=Math.floor(o/2),this.distance=i.Math.distance(0,0,n,o),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=o,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,o,r){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=o,this.spriteSourceSizeH=r)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==o&&(d=h+o),0===c||0===u||cc&&(f=r,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,o=e.frames,r=0;r tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in i.LoaderParser?i.LoaderParser[s](n):n,r={key:t,url:e,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new i.Frame(0,0,0,o.width,o.height,t),frameData:new i.FrameData,fileFormat:s};return r.frameData.addFrame(new i.Frame(0,0,0,o.width,o.height,e)),this._cache.image[t]=r,this._resolveURL(e,r),r},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var o=!1;n&&(o=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:o,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,o,r,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===r&&(r=0),void 0===a&&(a=0),h.font="json"===o?i.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,o,r,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,r,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,o,r,a,h,l){void 0===r&&(r=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,o){var r={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===i.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=i.AnimationParser.XMLData(this.game,n,t):o===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=i.AnimationParser.JSONData(this.game,n,t):r.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(e,r)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var o=n[e];if(!o||!s)return o;for(var r in o)if((r=o[r]).fixtureKey===s)return r;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(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,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,o){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!o)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+o}var r={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)r[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(r),this._totalFileCount++):this._fileList[h]=r}else-1===h&&(this._fileList.push(r),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var o=0;o=e||t&&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 n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,o.send()}},xhrLoadWithXDR:function(t,e,i,s,n){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 o=new window.XDomainRequest;o.open("GET",e,!0),o.responseType=i,o.timeout=3e3,n=n||this.fileError;var r=this;o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.ontimeout=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.onprogress=function(){},o.onload=function(){try{return 4===o.readyState&&o.status>=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,setTimeout(function(){o.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":o=JSON.parse(e.responseText);t.data=o||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,o,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e: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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,o){return this.xmlBitmapFont(t,e,i,s,n,o)},xmlBitmapFont:function(t,e,i,s,n,o){null==o&&(o=1);var r={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];r.font=a.getAttribute("face"),r.size=parseInt(a.getAttribute("size"),10),r.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,r.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;d=0){switch(o>=0&&o<=3?e="PVRTC":o>=7&&o<=11?e="S3TC":6===o&&(e="ETC1"),o){case 0:r=35841;break;case 1:r=35843;break;case 2:r=35840;break;case 3:r=35842;break;case 6:r=36196;break;case 7:r=33777;break;case 9:r=33778;break;case 11:r=33779;break;default:r=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:o,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:r}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,o=i[n],r=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(r)>=0){switch(r){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:o,textureData:e.subarray(4*(n+1),o+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,o){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===o&&(o=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,o&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?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()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(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.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;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&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(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&&""===t?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)&&!1===this.game.cache.getSound(this.key).isDecoding&&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.game.sound.mute?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(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,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 e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,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(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&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 t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?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())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(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(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)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(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){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.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.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 t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==e||n.height!==s,r=this.updateOrientationState();(o||r)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(o)):(t.width=Math.floor(r),t.height=Math.floor(a)),t},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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},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(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},o=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:o}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,o=e;o0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;o--)s[n][o]=t[o][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var o=Math.min(t,e,s),r=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(r+o)/2,r!==o){var a=r-o;n.s=n.l>.5?a/(2-r-o):a/(r+o),r===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,o,r,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:o||0,s:r||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),o=parseInt(s[2],16),r=parseInt(s[3],16);e?(e.r=n,e.g=o,e.b=r):e=i.Color.createColor(n,o,r)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,o,r){void 0===o&&(o=255),void 0===r&&(r=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===r)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===r){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),m=f.h-p.h;if(p.h>f.h){var g=f.h;f.h=p.h,p.h=g,m=-m,n=s-n}m>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),m<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return i.Color.getColor32(o,l,c,u)},interpolateColorWithRGB:function(t,e,s,n,o,r){var a=i.Color.getRGB(t),h=(e-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-e)*h/a+e,u=(r-s)*h/a+s;return i.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],o=t[Math.ceil(s)];return this.linear(n,o,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,o,r)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},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}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.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=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.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()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,o){return void 0===o&&(o=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>o?i=o:i<-o&&(i=-o),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,o){if(!Array.isArray(t)&&Array.isArray(e))for(r=0;ra.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,o,r)}}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(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,o)}}}}},collideGroupVsGroup:function(t,e,s,n,o,r){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,o=e.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(r)+t.velocity.y*Math.sin(r),y:t.velocity.x*Math.sin(r)-t.velocity.y*Math.cos(r)},u={x:e.velocity.x*Math.cos(r)+e.velocity.y*Math.sin(r),y:e.velocity.x*Math.sin(r)-e.velocity.y*Math.cos(r)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(r)-c.y*Math.sin(r))*t.bounce.x,t.velocity.y=(c.y*Math.cos(r)+d*Math.sin(r))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*e.bounce.x,e.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*e.bounce.y),Math.abs(r)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(r),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(r)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(r),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,o=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-o*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=o-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.x=h+r*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,o=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-o*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=o-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.y=h+r*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,o,r){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(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var o=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleBetween(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToXY:function(t,e,i,s,n,o){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===o&&(o=1e3);var r=this.angleToXY(t,e,i);return t.body.acceleration.setTo(r,s),t.body.maxVelocity.setTo(n,o),r},distanceBetween:function(t,e,i){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,o=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+o*o)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i){for(var s=1/0,n=null,o=0,r=e.length;os&&(n=a,s=h)}return n},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.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=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,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={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){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.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),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.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.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.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var o;return void 0===s?(o=this.angle,s=this.game.math.radToDeg(o)):o=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,o,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(o)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(o)*n):this.velocity.setToPolar(o,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,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(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,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(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},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},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,o){if(t.body){var r=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==r.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,o,r,a,h){void 0===n&&(n=this._boundsLeft),void 0===o&&(o=this._boundsRight),void 0===r&&(r=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(o,"right",t+i,e,-1.5707963267948966,h),this.setupWall(r,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=o,this._boundsTop=r,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,o){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),o&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},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 i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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 t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);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=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,o,r,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,o,r,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var o=[this.pxmi(t.x),this.pxmi(t.y)],r=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?r.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?r.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&r.push(e[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(o=u.x*u.width,r=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(o,r,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,o){e=e||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.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,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(o=0;o-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var o=this.data.shapes.length-1;o>=0;o--)this.data.shapes[o].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(o=0;o=0;o--)this.data.shapes[o].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},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(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},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.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,o,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1),t.beginFill(a),t.drawRect(e-n/2,i-o/2,n,o)},drawCircle:function(t,e,i,s,n,o,r){void 0===r&&(r=1),void 0===o&&(o=16777215),t.lineStyle(r,0,1),t.beginFill(o,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,o,r,a){var h,l,c,u,d,p,f,m,g,y,v;if(void 0===o&&(o=1),void 0===s&&(s=0),r){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],m=d[0],v=d[1],t.lineStyle(o,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(m,-v),t.drawCircle(f,-y,2*o),l++;return t.lineStyle(o,0,1),t.drawCircle(a[0],a[1],2*o)}for(t.lineStyle(o,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],g=c[1],0===l?t.moveTo(p,-g):t.lineTo(p,-g),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var o,r,a,h,l,c,u,d,p,f,m;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),r=null,a=null,o=0;o2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,o,r,a,h,l){var c,u;void 0===o&&(o=1),void 0===s&&(s=16777215),t.lineStyle(o,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-o),t.drawCircle(n/2*l+e,n/2*c+i,2*-o),t.endFill(),t.lineStyle(h,r,0),t.beginFill(a,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i),t.lineTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.endFill(),t.lineStyle(h,r,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.moveTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,o,r,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===o&&(o=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:o};void 0!==r&&null!==r&&(c.worldAnchorA=[t.pxm(r[0]),t.pxm(r[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,o){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===o&&(o=1),s&&(s=t.pxm(s));var r={restAngle:s,stiffness:n,damping:o};this.data=new p2.RotationalSpring(e,i,r),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,o,r){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],maxForce:r};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var o={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,o)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,o){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var r={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:o};p2.LockConstraint.call(this,e,i,r)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,o,r,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],localAxisA:r,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,o,r){void 0===o&&(o=Number.MAX_VALUE),void 0===r&&(r=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],r&&(r=[t.pxmi(r[0]),t.pxmi(r[1])]);var a={worldPivot:r,localPivotA:i,localPivotB:n,maxForce:o};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,o,r){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===o&&(o=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|o,this.properties=r||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},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(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,o,r){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,o,r);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,o){return void 0===o&&(o=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,o)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,o,r,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,o,r,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=o,p=o,f=0,m=0,g=0,y=a;y1)for(u=0;uthis.layers.length)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[o].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[o].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[o].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new i.TilemapLayer(this.game,this,o,e,s));return this.enableDebug&&console.groupEnd(),r}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,s,n,o,r){void 0===r&&(r=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*o,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,r.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var o=t;o<=e;o++)this.setCollisionByIndex(o,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,o=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var o=0;o0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,o){return o=this.getLayer(o),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,o)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(o=this.layers[s].height-1;o>=0;o--)for(r=this.layers[s].width-1;r>=0;r--)if(this.layers[s].data[o][r].index===t){if(n===e)return this.layers[s].data[o][r];n++}}else for(var o=0;o=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var o=e;o1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,o){n|=0,o|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,o),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,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:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var o=t.coordinatesOnLine(e),r=[],a=0;a=0;g++,v--,f+=c){g>=h&&(g-=h);var _=this.layer.data[g];for(m=b,y=n-i,p=x;y>=0;m++,y--,p+=l){m>=a&&(m-=a);var w=_[m];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(r.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(r.save(),r.translate(p+w.centerX,f+w.centerY),r.rotate(w.rotation),w.flipped&&r.scale(-1,1),P.draw(r,-w.centerX,-w.centerY,T),r.restore()):P.draw(r,p,f,T):this.debugSettings.missingImageFill&&(r.fillStyle=this.debugSettings.missingImageFill,r.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(r.fillStyle=this.debugSettings.debuggedTileOverfill,r.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,o=this.canvas.height,r=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-r,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=o+e,u=o-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/r),l=Math.floor((l+i)/r),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*r-i,0,(l-h+1)*r,o);var d=Math.floor((0+s)/a),p=Math.floor((o-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/r),m=Math.floor((n-1+i)/r);this.renderRegion(i,s,f,c,m,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,o=this._mc.tileHeight,r=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/o),l=Math.floor((s-1+e)/o);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,r,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,o=this._mc,r=o.scrollX-s,a=o.scrollY-n;if(t||0!==r||0!==a||o.renderWidth!==e||o.renderHeight!==i)return this.context.save(),o.scrollX=s,o.scrollY=n,o.renderWidth===e&&o.renderHeight===i||(o.renderWidth=e,o.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(r)+Math.abs(a)=0;s++,o--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=g-m,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,o,r){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===o&&(o=10),void 0===r&&(r=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var o=this.getEmptyData(),r=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;o.data=h,delete o.encoding}else if(o.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+o.name+"'");continue}D={name:o.name,x:o.x,y:o.y,width:o.width,height:o.height,widthInPixels:o.width*t.tilewidth,heightInPixels:o.height*t.tileheight,alpha:o.opacity,offsetX:o.offsetx,offsetY:o.offsety,visible:o.visible,properties:{},indexes:[],callbacks:[],bodies:[]};o.properties&&(D.properties=o.properties);for(var c,u,d,p=0,f=[],m=[],g=0,a=o.data.length;g536870912)switch(A>2147483648&&(A-=2147483648,d+=4),A>1073741824&&(A-=1073741824,d+=2),A>536870912&&(A-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}A>0?((B=new i.Tile(D,A,p,m.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(D,-1,p,m.length,t.tilewidth,t.tileheight)),++p===o.width&&(m.push(f),p=0,f=[])}D.data=m,s.push(D)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=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._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,o){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===o&&(o=null);var r,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var o=0;o1&&(r=o.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=o.between(this.top,this.bottom)),this.resetParticle(n,r,a),!0},i.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,o){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var r={v:t},a=this.game.make.tween(r).to({v:e},s,n);a.yoyo(o),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,o,r,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,o>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,o){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(r+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==o&&(this.fireFrom.y+=o);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*r:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*r:(c=Math.cos(this.game.math.degToRad(l))*r,u=Math.sin(this.game.math.degToRad(l))*r);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var m=this.fireRate;(m+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(m=0),f=this.game.time.now+m}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,r),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,o){i.Sprite.call(this,t,e,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},PIXI.CreatureShader=function(t){this._UID=i._UID++,this.gl=t,this.program=null,this.fragmentSrc=["//CreatureShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","varying vec4 vColor;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"],this.vertexSrc=["//CreatureShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform float alpha;","uniform vec3 tint;","varying vec2 vTextureCoord;","varying float vTextureIndex;","varying vec4 vColor;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = vec4(tint[0], tint[1], tint[2], 1.0) * alpha;","}"],this.init()},PIXI.CreatureShader.prototype.constructor=PIXI.CreatureShader,PIXI.CreatureShader.prototype.init=function(){var t=this.gl,e=PIXI.compileProgram(t,this.vertexSrc,this.fragmentSrc);t.useProgram(e),this.uSampler=PIXI._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),this.projectionVector=t.getUniformLocation(e,"projectionVector"),this.offsetVector=t.getUniformLocation(e,"offsetVector"),this.colorAttribute=t.getAttribLocation(e,"aColor"),this.aTextureIndex=t.getAttribLocation(e,"aTextureIndex"),this.aVertexPosition=t.getAttribLocation(e,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(e,"aTextureCoord"),this.attributes=[this.aVertexPosition,this.aTextureCoord,this.aTextureIndex],this.translationMatrix=t.getUniformLocation(e,"translationMatrix"),this.alpha=t.getUniformLocation(e,"alpha"),this.tintColor=t.getUniformLocation(e,"tint"),this.program=e},PIXI.CreatureShader.prototype.destroy=function(){this.gl.deleteProgram(this.program),this.uniforms=null,this.gl=null,this.attribute=null},i.Creature=function(t,e,s,n,o,r,a){if(this.game=t,void 0===r&&(r="default"),this.type=i.CREATURE,t.cache.checkJSONKey(o)){var h=t.cache.getJSON(o);if(this._creature=new Creature(h,a),this.animation=new CreatureAnimation(h,r,this._creature),this.manager=new CreatureManager(this._creature),this.timeDelta=.05,"string"==typeof n)l=new PIXI.Texture(t.cache.getBaseTexture(n));else var l=n;this.texture=l,PIXI.DisplayObjectContainer.call(this),this.dirty=!0,this.blendMode=PIXI.blendModes.NORMAL,this.creatureBoundsMin=new i.Point,this.creatureBoundsMax=new i.Point;var c=this.manager.target_creature;this.vertices=new Float32Array(2*c.total_num_pts),this.uvs=new Float32Array(2*c.total_num_pts),this.indices=new Uint16Array(c.global_indices.length);for(var u=0;u0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=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),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,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,t,e)),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.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?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.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 t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&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,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},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(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}).call(this); +(function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.9.1",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,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,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,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||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var o=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,o)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var o=Math.ceil((n=e-t.length)/2),r=n-o;t=new Array(r+1).join(i)+t+new Array(o+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,o,r,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(e),r=n*Math.sin(e);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,o){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),o||(o=[]);for(var r=0;r0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,o=s-e.halfHeight;return n*n+o*o<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,o=t.y,r=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-r*e.end.x,h=t.radius,l=t.radius,c=a+r*n,u=(n*(l*l)-r*(h*h)*(a-o)+h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),d=(n*(l*l)-r*(h*h)*(a-o)-h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),p=r*u+a,f=r*d+a,m=new i.Point(u,p),g=new i.Point(d,f),y=e.pointOnSegment(m.x,m.y,.01),v=e.pointOnSegment(g.x,g.y,.01);return y&&v?!s||[m,g]:y?!s||[m]:v?!s||[g]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=o&&e<=r},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),o=Math.round(this.end.y),r=Math.abs(n-i),a=Math.abs(o-s),h=i-a&&(c-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?r:null}return r},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,o=t.end.y,r=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=r&&i<=h&&s>=a&&s<=l||n>=r&&n<=h&&o>=a&&o<=l)return!0;if(i=r){if((c=s+(o-s)*(r-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(o-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(o-s))>=r&&c<=h)return!0}else if(s>l&&o<=l&&(c=i+(n-i)*(l-s)/(o-s))>=r&&c<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var o=n.edges,r=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,c=e.bottom,u=1/0;o[0].setTo(a,h,l,h),o[1].setTo(a,c,l,c),o[2].setTo(a,h,a,c),o[3].setTo(l,h,l,c);for(var d,p=0;d=o[p];p++)if(t.intersects(d,!0,r)){var f=t.start.distance(r);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,o){return i.Point.rotate(this,t,e,s,n,o)},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(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.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+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.equalsXY=function(t,e,i){return t.x===e&&t.y===i},i.Point.fuzzyEquals=function(t,e,s){return i.Math.fuzzyEquals(t.x,e.x,s)&&i.Math.fuzzyEquals(t.y,e.y,s)},i.Point.fuzzyEqualsXY=function(t,e,s,n){return i.Math.fuzzyEquals(t.x,e,n)&&i.Math.fuzzyEquals(t.y,s,n)},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,o,r){if(o&&(n=i.Math.degToRad(n)),void 0===r){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,c=a*t.x+h*t.y;t.x=l+e,t.y=c+s}else{var u=n+Math.atan2(t.y-s,t.x-e);t.x=e+r*Math.cos(u),t.y=s+r*Math.sin(u)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&oe.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,o){return void 0===o&&(o=0),!(e>t.right+o||it.bottom+o||ns&&(s=t.x),t.xo&&(o=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,o,r),this.bounds=new i.Rectangle(s,n,o,r),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.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(e){case i.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case i.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,o){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.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.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.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(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(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[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),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&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(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: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&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(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.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._clearWorld=!0,this._clearCache=!0,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=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else r=new i.SignalBinding(this,t,e,s,n,o),this._addBinding(r);return this.memorize&&this._prevParams&&r.execute(this._prevParams),r},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,o){void 0===n&&(n=!0);var r=new this.classType(this.game,t,e,i,s);return r.exists=n,r.visible=n,r.alive=n,this.add(r,!1,o)},i.Group.prototype.createMultiple=function(t,e,i,s,n,o){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var r=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var o=e.length;return 1===o?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===o?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===o?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===o&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=i.Utils.getProperty(t,e);return!(void 0===o&&n||o!==s)},i.Group.prototype.set=function(t,e,i,s,n,o,r){if(void 0===r&&(r=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,o,r)},i.Group.prototype.setAll=function(t,e,i,s,n,o){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===o&&(o=!1),t=t.split("."),n=n||0;for(var r=0;r2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,o,r){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!e||e.call(s,h,o))&&(n=o,r=h)}return r},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],o=i;o0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var o=this.removeChild(this.children[n]);this.removeFromHash(o),i&&o&&o.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!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 e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=r&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=r&&this._localPoint.x=a&&this._localPoint.y=r&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),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(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(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(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],o=0;ot||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),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));else{var o=this.game.camera.x-this._pointerData[t.id].camX,r=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+o),this.allowVerticalDrag&&(this.sprite.y=n+r),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))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,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 i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,o=!0,r=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,o=!this.animations.loadFrameData(h.frameData,e)}o&&(this._frame=i.Rectangle.clone(this.texture.frame)),r||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.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,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),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=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,o){var r=this.game.plugins.add(i.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,e,s,n),r},image:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,o){void 0===o&&(o=this.world);var r=new i.Creature(this.game,t,e,s,n);return o.add(r),r},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,o,r))},rope:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.Rope(this.game,t,e,s,n,o))},text:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,o,r,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.BitmapText(this.game,t,e,s,n,o))},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,o,r){return new i.TileSprite(this.game,t,e,s,n,o,r)},rope:function(t,e,s,n,o){return new i.Rope(this.game,t,e,s,n,o)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,o,r,a,h,l){return new i.Button(this.game,t,e,s,n,o,r,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return new i.BitmapText(this.game,t,e,s,n,o,r)},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,o,r,a,h,l,c){e=e||0,s=s||0,n=n||null,o=o||null,r=r||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==o&&this.onInputUp.add(o,r),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)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,o,r,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,o),this.setStateSound("Down",i,s),this.setStateSound("Up",r,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|o<<8|r,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,o){return this.setPixel32(t,e,i,s,n,255,o)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,o){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,o)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,o=1,r=!1;1===t?(o=-1,n=this.height):3===t&&(o=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=o)>=this.height||n<=0)&&(r=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=o)>=this.width||s<=0)&&(r=!0))}while(0===e.a&&!r);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,o){n=n||1,o=o||1;var r=this.game.add.image(t,e,this);return r.anchor.set(i,s),r.scale.set(n,o),r},copy:function(t,e,s,n,o,r,a,h,l,c,u,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==r&&null!==r||(r=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(r|=0,a|=0),v.translate(r,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var o=n.tx,r=n.ty;t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,r+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(o|=0,r|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,o,r),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,o,r){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,o,r)},draw:function(t,e,i,s,n,o,r){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,o,r)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var o=this.context;return o.fillStyle=o.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),o.save(),o.translate(this._pos.x,this._pos.y),o.rotate(t.angle),o.fillRect(0,0,n,e.height),o.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.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},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var m=s;mc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(r,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,o){var r,a,h,l=0;for(r=e,a=s-n;r0)for(r=e;r=e;r-=n)h=i.EarCut.insertNode(r,t[r],t[r+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,o,r,a){if(t){!a&&r&&i.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?i.EarCut.isEarHashed(t,n,o,r):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,o,r,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,o,r):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,o,r,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,o.x,o.y)&&i.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var o=t.prev,r=t,a=t.next;if(i.EarCut.area(o,r,a)>=0)return!1;for(var h=o.xr.x?o.x>a.x?o.x:a.x:r.x>a.x?r.x:a.x,u=o.y>r.y?o.y>a.y?o.y:a.y:r.y>a.y?r.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var o=n.prev,r=n.next.next;i.EarCut.intersects(o,n,n.next,r)&&i.EarCut.locallyInside(o,r)&&i.EarCut.locallyInside(r,o)&&(e.push(o.i/s),e.push(n.i/s),e.push(r.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,o,r),void i.EarCut.earcutLinked(l,e,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var o,r,a,h,l,c=[];for(o=0,r=e.length;o=n.next.y){var h=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=o&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(rs.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var o=t;do{null===o.z&&(o.z=i.EarCut.zOrder(o.x,o.y,e,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,i.EarCut.sortLinked(o)},i.EarCut.sortLinked=function(t){var e,i,s,n,o,r,a,h,l=1;do{for(i=t,t=null,o=null,r=0;i;){for(r++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;i=s}o.nextZ=null,l*=2}while(r>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-r)*(s-a)-(i-r)*(e-a)>=0&&(i-r)*(o-a)-(n-r)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do{i.y>o!=i.next.y>o&&n<(i.next.x-i.x)*(o-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),o=t.next,r=e.prev;return t.next=e,e.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},i.EarCut.insertNode=function(t,e,s,n){var o=new i.EarCut.Node(t,e,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,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(t,e){var s,n=e.gl,o=e.projection,r=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,r)||(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))),a.lineWidth>0&&(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,r)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=O=Math.sqrt(_*_+w*w),w/=O,_*=B,w*=B,I.push(p-_,f-w),I.push(G,N,X,U),I.push(p+_,f+w),I.push(G,N,X,U),I.push(p-_,f-w),I.push(G,N,X,U),L++):(I.push(l,c),I.push(G,N,X,U),I.push(p-(l-p),f-(c-f)),I.push(G,N,X,U));for(u=n[2*(E-2)],d=n[2*(E-2)+1],p=n[2*(E-1)],y=-(d-(f=n[2*(E-1)+1])),v=u-p,y/=O=Math.sqrt(y*y+v*v),v/=O,y*=B,v*=B,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),R.push(D),s=0;sh?o:h,l=rc?r:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(o.fillColor||0===o.fillColor)&&(e.globalAlpha=o.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),o.lineWidth&&(e.globalAlpha=o.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((r>>8&255)/255*i*255<<8)+(255&r)/255*s*255,o._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,o,r){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=o,this.shape=r,this.type=r.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,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 i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,o=new i.Point,r=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,o,r){if(s===n)return this;void 0===o&&(o=!1),void 0===r&&(r=40),!o&&n<=s?n+=2*Math.PI:o&&s<=n&&(s+=2*Math.PI);var a=o?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*r;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;o&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),m=Math.sin(d),g=h-1,y=g%1/g,v=0;v<=g;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+m*_)*i+t,(f*-_+m*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,o){return this.drawShape(new i.RoundedRectangle(t,e,s,n,o)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?g:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{r=o.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,o,r,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=i.scaleModes.DEFAULT),void 0===r&&(r=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=r,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.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=o,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=o.fontSize+this.style.strokeThickness+this.padding.y,f=p*r,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*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 g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),o=this.style.tabs,r=0;if(Array.isArray(o))for(var a=0,h=0;h0&&(a+=o[h-1]),r=e+a,s?this.context.fillText(n[h],r,i):this.context.strokeText(n[h],r,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var o=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(o.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(o.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(o)}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(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),o=n.length,r=0;rl){if(0===u){for(var m=p;m.length&&(m=m.slice(0,-1),!((f=e.measureText(m).width)<=l)););if(!m.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var g=d.substr(m.length);c[u]=g,h+=m}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[r+1]=v+" "+(n[r+1]||""),o=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(r>0&&(e+="\n"),e+=o[r]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=o[r]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var o=this.textBounds.x,r=this.textBounds.y;"right"===this.style.boundsAlignH?o+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(o+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?r+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(r+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-o,this.pivot.y=-r}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var o=Math.ceil(n.measureText("|MÉq").width),r=Math.ceil(n.measureText("|MÉq").width),a=2*r;if(r=1.4*r|0,s.width=o,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,o,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,r),!n.getImageData(0,0,o,a))return e.ascent=r,e.descent=r+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,o,a).data,u=c.length,d=4*o,p=0,f=!1;for(h=0;hr;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:u,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),o=0;othis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var o=0,r=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=r,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,o){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!o,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),o=n.length;o--;)n[o].x+=i,n[o].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,o,r){this.points=[],this.points=r,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.ROPE,this.points=r,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),r&&(this.vertices=new Float32Array(4*r.length),this.uvs=new Float32Array(4*r.length),this.colors=new Float32Array(2*r.length),this.indices=new Uint16Array(2*r.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,o),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,o,r=t.length,a=1;a1&&1,r=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=r,s.y/=r,s.x*=a,s.y*=a,h[o]=n.x+s.x,h[o+1]=n.y+s.y,h[o+2]=n.x-s.x,h[o+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,o=t.shaderManager.stripShader,r=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(o.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(o.projectionVector,s.x,-s.y),e.uniform2f(o.offsetVector,-n.x,-n.y),e.uniform1f(o.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(r,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,o=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|o):e.setTransform(s.a,s.b,s.c,s.d,n,o),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,A=Math.sqrt(C*C+S*S);l=T+C/A*(A+_),d=P+S/A*(A+w),S=p-P,c=T+(C=c-T)/(A=Math.sqrt(C*C+S*S))*(A+_),p=P+S/A*(A+w),S=f-P,u=T+(C=u-T)/(A=Math.sqrt(C*C+S*S))*(A+_),f=P+S/A*(A+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var k=m*x+v*y+g*b-x*y-v*g-m*b,M=l*x+v*u+c*b-x*u-v*c-l*b,O=m*c+l*y+g*u-c*y-l*g-m*u,I=m*x*u+v*c*y+l*g*b-l*x*y-v*g*u-m*c*b,R=d*x+v*f+p*b-x*f-v*p-d*b,E=m*p+d*y+g*f-p*y-d*g-m*f,L=m*x*f+v*p*y+d*g*b-d*x*y-v*g*f-m*p*b;t.transform(M/k,R/k,O/k,E/k,I/k,L/k),t.drawImage(r,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,o,r,a,h,l=[],c=0;c(_=y>(_=m>(_=p>_?p:_)?m:_)?y:_)?x:_,w=b>(w=v>(w=g>(w=f>w?f:w)?g:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,o=i.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(r),n=r.canvas}else i.CanvasPool.pool[o].parent=t,n=i.CanvasPool.pool[o].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var o=e.getImageData(1,0,1,1);s.canHandleAlpha=o.data[0]===n.data[0]&&o.data[1]===n.data[1]&&o.data[2]===n.data[2]&&o.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,o){e=e||256,s=s||256;var r=o?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=e,r.height=s,r.style.display="block",r},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,o,r){return t.setTransform(s,o,r,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,o=i,r=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>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(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,o,r){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,o,r)},i.QuadTree.prototype={reset:function(t,e,i,s,n,o,r){this.maxObjects=n||10,this.maxLevels=o||4,this.level=r||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",o=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(o.test(s))n=void 0!==e&&null!==e?s.replace(o,"$1"+t+"="+e+"$2$3"):s.replace(o,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var r=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+r+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t){return this._tweens.some(function(e){return e.target===t})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,o,r,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,o,r,a)),n&&this.start(),this)},from:function(t,e,s,n,o,r,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,o,r,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,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 t=0;t0?(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(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.yoyoCounter=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*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 s in this.vEnd){var n=this.vStart[s],o=this.vEnd[s];Array.isArray(o)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,o,this.value):this.parent.target[s]=n+(o-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var o in this.vEnd){var r=this.vStart[o],a=this.vEnd[o];Array.isArray(a)?n[o]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[o]=r+(a-r)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];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,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=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 t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,o,r){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,o,r);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.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(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},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(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,o,r,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=o,this.callbackContext=r,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,o){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,o,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(o),this.delay=1e3/r,this.loop=a,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),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=this.isReversed?this._frames.length-1: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)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=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._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),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)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,o){void 0===n&&(n="");var r=[],a="";if(e=s;h--)a=t+(a="number"==typeof o?i.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},i.Frame=function(t,e,s,n,o,r){this.index=t,this.x=e,this.y=s,this.width=n,this.height=o,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=r,this.centerX=Math.floor(n/2),this.centerY=Math.floor(o/2),this.distance=i.Math.distance(0,0,n,o),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=o,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,o,r){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=o,this.spriteSourceSizeH=r)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==o&&(d=h+o),0===c||0===u||cc&&(f=r,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,o=e.frames,r=0;r tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in i.LoaderParser?i.LoaderParser[s](n):n,r={key:t,url:e,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new i.Frame(0,0,0,o.width,o.height,t),frameData:new i.FrameData,fileFormat:s};return r.frameData.addFrame(new i.Frame(0,0,0,o.width,o.height,e)),this._cache.image[t]=r,this._resolveURL(e,r),r},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var o=!1;n&&(o=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:o,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,o,r,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===r&&(r=0),void 0===a&&(a=0),h.font="json"===o?i.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,o,r,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,r,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,o,r,a,h,l){void 0===r&&(r=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,o){var r={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===i.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=i.AnimationParser.XMLData(this.game,n,t):o===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=i.AnimationParser.JSONData(this.game,n,t):r.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(e,r)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var o=n[e];if(!o||!s)return o;for(var r in o)if((r=o[r]).fixtureKey===s)return r;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(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,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,o){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!o)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+o}var r={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)r[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(r),this._totalFileCount++):this._fileList[h]=r}else-1===h&&(this._fileList.push(r),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var o=0;o=e||t&&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 n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,o.send()}},xhrLoadWithXDR:function(t,e,i,s,n){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 o=new window.XDomainRequest;o.open("GET",e,!0),o.responseType=i,o.timeout=3e3,n=n||this.fileError;var r=this;o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.ontimeout=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.onprogress=function(){},o.onload=function(){try{return 4===o.readyState&&o.status>=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,setTimeout(function(){o.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":o=JSON.parse(e.responseText);t.data=o||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,o,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e: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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,o){return this.xmlBitmapFont(t,e,i,s,n,o)},xmlBitmapFont:function(t,e,i,s,n,o){null==o&&(o=1);var r={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];r.font=a.getAttribute("face"),r.size=parseInt(a.getAttribute("size"),10),r.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,r.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;d=0){switch(o>=0&&o<=3?e="PVRTC":o>=7&&o<=11?e="S3TC":6===o&&(e="ETC1"),o){case 0:r=35841;break;case 1:r=35843;break;case 2:r=35840;break;case 3:r=35842;break;case 6:r=36196;break;case 7:r=33777;break;case 9:r=33778;break;case 11:r=33779;break;default:r=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:o,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:r}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,o=i[n],r=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(r)>=0){switch(r){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:o,textureData:e.subarray(4*(n+1),o+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,o){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===o&&(o=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,o&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?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()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(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.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;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&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(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&&""===t?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)&&!1===this.game.cache.getSound(this.key).isDecoding&&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.game.sound.mute?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(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,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 e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,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(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&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 t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?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())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(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(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)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(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){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.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.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 t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==e||n.height!==s,r=this.updateOrientationState();(o||r)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(o)):(t.width=Math.floor(r),t.height=Math.floor(a)),t},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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},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(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},o=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:o}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,o=e;o0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;o--)s[n][o]=t[o][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var o=Math.min(t,e,s),r=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(r+o)/2,r!==o){var a=r-o;n.s=n.l>.5?a/(2-r-o):a/(r+o),r===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,o,r,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:o||0,s:r||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),o=parseInt(s[2],16),r=parseInt(s[3],16);e?(e.r=n,e.g=o,e.b=r):e=i.Color.createColor(n,o,r)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,o,r){void 0===o&&(o=255),void 0===r&&(r=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===r)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===r){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),m=f.h-p.h;if(p.h>f.h){var g=f.h;f.h=p.h,p.h=g,m=-m,n=s-n}m>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),m<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return i.Color.getColor32(o,l,c,u)},interpolateColorWithRGB:function(t,e,s,n,o,r){var a=i.Color.getRGB(t),h=(e-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-e)*h/a+e,u=(r-s)*h/a+s;return i.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],o=t[Math.ceil(s)];return this.linear(n,o,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,o,r)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},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}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.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=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.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()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,o){return void 0===o&&(o=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>o?i=o:i<-o&&(i=-o),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,o){if(!Array.isArray(t)&&Array.isArray(e))for(r=0;ra.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,o,r)}}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(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,o)}}}}},collideGroupVsGroup:function(t,e,s,n,o,r){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,o=e.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(r)+t.velocity.y*Math.sin(r),y:t.velocity.x*Math.sin(r)-t.velocity.y*Math.cos(r)},u={x:e.velocity.x*Math.cos(r)+e.velocity.y*Math.sin(r),y:e.velocity.x*Math.sin(r)-e.velocity.y*Math.cos(r)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(r)-c.y*Math.sin(r))*t.bounce.x,t.velocity.y=(c.y*Math.cos(r)+d*Math.sin(r))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*e.bounce.x,e.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*e.bounce.y),Math.abs(r)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(r),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(r)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(r),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,o=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-o*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=o-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.x=h+r*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,o=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-o*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=o-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.y=h+r*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,o,r){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(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var o=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleBetween(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToXY:function(t,e,i,s,n,o){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===o&&(o=1e3);var r=this.angleToXY(t,e,i);return t.body.acceleration.setTo(r,s),t.body.maxVelocity.setTo(n,o),r},distanceBetween:function(t,e,i){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,o=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+o*o)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i){for(var s=1/0,n=null,o=0,r=e.length;os&&(n=a,s=h)}return n},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.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=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,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={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){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.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),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.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.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.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var o;return void 0===s?(o=this.angle,s=this.game.math.radToDeg(o)):o=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,o,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(o)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(o)*n):this.velocity.setToPolar(o,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,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(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,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(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},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},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,o){if(t.body){var r=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==r.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,o,r,a,h){void 0===n&&(n=this._boundsLeft),void 0===o&&(o=this._boundsRight),void 0===r&&(r=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(o,"right",t+i,e,-1.5707963267948966,h),this.setupWall(r,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=o,this._boundsTop=r,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,o){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),o&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},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 i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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 t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);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=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,o,r,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,o,r,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var o=[this.pxmi(t.x),this.pxmi(t.y)],r=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?r.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?r.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&r.push(e[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(o=u.x*u.width,r=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(o,r,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,o){e=e||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.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,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(o=0;o-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var o=this.data.shapes.length-1;o>=0;o--)this.data.shapes[o].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(o=0;o=0;o--)this.data.shapes[o].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},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(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},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.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,o,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1),t.beginFill(a),t.drawRect(e-n/2,i-o/2,n,o)},drawCircle:function(t,e,i,s,n,o,r){void 0===r&&(r=1),void 0===o&&(o=16777215),t.lineStyle(r,0,1),t.beginFill(o,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,o,r,a){var h,l,c,u,d,p,f,m,g,y,v;if(void 0===o&&(o=1),void 0===s&&(s=0),r){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],m=d[0],v=d[1],t.lineStyle(o,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(m,-v),t.drawCircle(f,-y,2*o),l++;return t.lineStyle(o,0,1),t.drawCircle(a[0],a[1],2*o)}for(t.lineStyle(o,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],g=c[1],0===l?t.moveTo(p,-g):t.lineTo(p,-g),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var o,r,a,h,l,c,u,d,p,f,m;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),r=null,a=null,o=0;o2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,o,r,a,h,l){var c,u;void 0===o&&(o=1),void 0===s&&(s=16777215),t.lineStyle(o,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-o),t.drawCircle(n/2*l+e,n/2*c+i,2*-o),t.endFill(),t.lineStyle(h,r,0),t.beginFill(a,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i),t.lineTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.endFill(),t.lineStyle(h,r,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.moveTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,o,r,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===o&&(o=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:o};void 0!==r&&null!==r&&(c.worldAnchorA=[t.pxm(r[0]),t.pxm(r[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,o){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===o&&(o=1),s&&(s=t.pxm(s));var r={restAngle:s,stiffness:n,damping:o};this.data=new p2.RotationalSpring(e,i,r),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,o,r){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],maxForce:r};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var o={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,o)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,o){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var r={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:o};p2.LockConstraint.call(this,e,i,r)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,o,r,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],localAxisA:r,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,o,r){void 0===o&&(o=Number.MAX_VALUE),void 0===r&&(r=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],r&&(r=[t.pxmi(r[0]),t.pxmi(r[1])]);var a={worldPivot:r,localPivotA:i,localPivotB:n,maxForce:o};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,o,r){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===o&&(o=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|o,this.properties=r||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},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(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,o,r){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,o,r);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,o){return void 0===o&&(o=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,o)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,o,r,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,o,r,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=o,p=o,f=0,m=0,g=0,y=a;y1)for(u=0;uthis.layers.length)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[o].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[o].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[o].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new i.TilemapLayer(this.game,this,o,e,s));return this.enableDebug&&console.groupEnd(),r}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,s,n,o,r){void 0===r&&(r=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*o,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,r.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var o=t;o<=e;o++)this.setCollisionByIndex(o,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,o=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var o=0;o0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,o){return o=this.getLayer(o),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,o)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(o=this.layers[s].height-1;o>=0;o--)for(r=this.layers[s].width-1;r>=0;r--)if(this.layers[s].data[o][r].index===t){if(n===e)return this.layers[s].data[o][r];n++}}else for(var o=0;o=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var o=e;o1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,o){n|=0,o|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,o),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,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:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var o=t.coordinatesOnLine(e),r=[],a=0;a=0;g++,v--,f+=c){g>=h&&(g-=h);var _=this.layer.data[g];for(m=b,y=n-i,p=x;y>=0;m++,y--,p+=l){m>=a&&(m-=a);var w=_[m];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(r.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(r.save(),r.translate(p+w.centerX,f+w.centerY),r.rotate(w.rotation),w.flipped&&r.scale(-1,1),P.draw(r,-w.centerX,-w.centerY,T),r.restore()):P.draw(r,p,f,T):this.debugSettings.missingImageFill&&(r.fillStyle=this.debugSettings.missingImageFill,r.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(r.fillStyle=this.debugSettings.debuggedTileOverfill,r.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,o=this.canvas.height,r=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-r,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=o+e,u=o-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/r),l=Math.floor((l+i)/r),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*r-i,0,(l-h+1)*r,o);var d=Math.floor((0+s)/a),p=Math.floor((o-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/r),m=Math.floor((n-1+i)/r);this.renderRegion(i,s,f,c,m,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,o=this._mc.tileHeight,r=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/o),l=Math.floor((s-1+e)/o);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,r,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,o=this._mc,r=o.scrollX-s,a=o.scrollY-n;if(t||0!==r||0!==a||o.renderWidth!==e||o.renderHeight!==i)return this.context.save(),o.scrollX=s,o.scrollY=n,o.renderWidth===e&&o.renderHeight===i||(o.renderWidth=e,o.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(r)+Math.abs(a)=0;s++,o--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=g-m,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,o,r){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===o&&(o=10),void 0===r&&(r=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var o=this.getEmptyData(),r=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;o.data=h,delete o.encoding}else if(o.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+o.name+"'");continue}D={name:o.name,x:o.x,y:o.y,width:o.width,height:o.height,widthInPixels:o.width*t.tilewidth,heightInPixels:o.height*t.tileheight,alpha:o.opacity,offsetX:o.offsetx,offsetY:o.offsety,visible:o.visible,properties:{},indexes:[],callbacks:[],bodies:[]};o.properties&&(D.properties=o.properties);for(var c,u,d,p=0,f=[],m=[],g=0,a=o.data.length;g536870912)switch(A>2147483648&&(A-=2147483648,d+=4),A>1073741824&&(A-=1073741824,d+=2),A>536870912&&(A-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}A>0?((B=new i.Tile(D,A,p,m.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(D,-1,p,m.length,t.tilewidth,t.tileheight)),++p===o.width&&(m.push(f),p=0,f=[])}D.data=m,s.push(D)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=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._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,o){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===o&&(o=null);var r,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var o=0;o1&&(r=o.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=o.between(this.top,this.bottom)),this.resetParticle(n,r,a),!0},i.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,o){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var r={v:t},a=this.game.make.tween(r).to({v:e},s,n);a.yoyo(o),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,o,r,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,o>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,o){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(r+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==o&&(this.fireFrom.y+=o);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*r:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*r:(c=Math.cos(this.game.math.degToRad(l))*r,u=Math.sin(this.game.math.degToRad(l))*r);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var m=this.fireRate;(m+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(m=0),f=this.game.time.now+m}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,r),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,o){i.Sprite.call(this,t,e,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},PIXI.CreatureShader=function(t){this._UID=i._UID++,this.gl=t,this.program=null,this.fragmentSrc=["//CreatureShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","varying vec4 vColor;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"],this.vertexSrc=["//CreatureShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform float alpha;","uniform vec3 tint;","varying vec2 vTextureCoord;","varying float vTextureIndex;","varying vec4 vColor;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = vec4(tint[0], tint[1], tint[2], 1.0) * alpha;","}"],this.init()},PIXI.CreatureShader.prototype.constructor=PIXI.CreatureShader,PIXI.CreatureShader.prototype.init=function(){var t=this.gl,e=PIXI.compileProgram(t,this.vertexSrc,this.fragmentSrc);t.useProgram(e),this.uSampler=PIXI._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),this.projectionVector=t.getUniformLocation(e,"projectionVector"),this.offsetVector=t.getUniformLocation(e,"offsetVector"),this.colorAttribute=t.getAttribLocation(e,"aColor"),this.aTextureIndex=t.getAttribLocation(e,"aTextureIndex"),this.aVertexPosition=t.getAttribLocation(e,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(e,"aTextureCoord"),this.attributes=[this.aVertexPosition,this.aTextureCoord,this.aTextureIndex],this.translationMatrix=t.getUniformLocation(e,"translationMatrix"),this.alpha=t.getUniformLocation(e,"alpha"),this.tintColor=t.getUniformLocation(e,"tint"),this.program=e},PIXI.CreatureShader.prototype.destroy=function(){this.gl.deleteProgram(this.program),this.uniforms=null,this.gl=null,this.attribute=null},i.Creature=function(t,e,s,n,o,r,a){if(this.game=t,void 0===r&&(r="default"),this.type=i.CREATURE,t.cache.checkJSONKey(o)){var h=t.cache.getJSON(o);if(this._creature=new Creature(h,a),this.animation=new CreatureAnimation(h,r,this._creature),this.manager=new CreatureManager(this._creature),this.timeDelta=.05,"string"==typeof n)l=new PIXI.Texture(t.cache.getBaseTexture(n));else var l=n;this.texture=l,PIXI.DisplayObjectContainer.call(this),this.dirty=!0,this.blendMode=PIXI.blendModes.NORMAL,this.creatureBoundsMin=new i.Point,this.creatureBoundsMax=new i.Point;var c=this.manager.target_creature;this.vertices=new Float32Array(2*c.total_num_pts),this.uvs=new Float32Array(2*c.total_num_pts),this.indices=new Uint16Array(c.global_indices.length);for(var u=0;u0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=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),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,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,t,e)),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.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?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.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 t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&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,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},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(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}).call(this); //# sourceMappingURL=phaser-creature.map \ No newline at end of file diff --git a/build/custom/phaser-minimum.js b/build/custom/phaser-minimum.js index ce47ece5f..ef02ca13c 100644 --- a/build/custom/phaser-minimum.js +++ b/build/custom/phaser-minimum.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.9.0 "2017-10-08" - Built: Sun Oct 08 2017 19:21:16 +* v2.9.1 "2017-10-10" - Built: Tue Oct 10 2017 11:18:10 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -7594,7 +7594,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.9.0', + VERSION: '2.9.1', /** * An array of Phaser game instances. diff --git a/build/custom/phaser-minimum.min.js b/build/custom/phaser-minimum.min.js index 05777b5a1..e70a0aa4b 100644 --- a/build/custom/phaser-minimum.min.js +++ b/build/custom/phaser-minimum.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.9.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.9.1 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),u=null,l=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),u=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,u,0),(l=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[l]),a.width=i,a.height=s,a.targetTexture=u,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,u=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),u.a=i*h.a+s*h.c,u.b=i*h.b+s*h.d,u.c=n*h.a+r*h.c,u.d=n*h.b+r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,u.a=i*h.a,u.b=i*h.b,u.c=r*h.c,u.d=r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty),i=u.a,s=u.b,n=u.c;var l=i*(r=u.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=l/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=l/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=u.tx,this.worldPosition.y=u.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,u,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var m=(f=new s.Rectangle).x,g=f.width+f.x,v=f.y,y=f.height+f.y,x=this.worldTransform,_=x.a,b=x.b,T=x.c,w=x.d,S=x.tx,C=x.ty,P=_*g+T*y+S,E=w*y+b*g+C,M=_*m+T*y+S,R=w*y+b*m+C,A=_*m+T*v+S,O=w*v+b*m+C,L=_*g+T*v+S,I=w*v+b*g+C;c=P,d=E,l=E,u=L<(u=A<(u=M<(u=P)?M:u)?A:u)?L:u,l=I<(l=O<(l=R(c=A>(c=M>c?M:c)?A:c)?L:c,d=I>(d=O>(d=R>d?R:d)?O:d)?I:d}if(f.x=u,f.y=l,f.width=c-u,f.height=d-l,e)for(t.worldTransform=r,n=0;n(f=w>(f=b>(f=x>f?x:f)?b:f)?w:f)?C:f,m=P>(m=S>(m=T>(m=_>m?_:m)?T:m)?S:m)?P:m}var E=this._bounds;return E.x=g,E.width=f-g,E.y=v,E.height=m-v,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,u,l,c,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(u=f.x-d*f.width)+i.crop.width,l=(c=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),u=i.frame.width*-d,l=i.frame.height*(1-p),c=i.frame.height*-p;var m=this.currentBatchSize*this.vertexSize,g=(this.currentBatchSize,i.baseTexture.resolution),v=i.baseTexture.textureIndex,y=o.a/g,x=o.b/g,_=o.c/g,b=o.d/g,T=o.tx,w=o.ty,S=(i.crop.width,i.crop.height);if(i.rotated){var C=o.a,P=o.b,E=o.c,M=o.d,R=u,A=h;T=o.c*S+T,w=o.d*S+w,y=6.123233995736766e-17*C-E,x=6.123233995736766e-17*P-M,_=C+6.123233995736766e-17*E,b=P+6.123233995736766e-17*M,i._updateUvsInverted(),h=l,u=c,l=A,c=R}var O=this.colors,L=this.positions,I=t.tint,D=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(L[m++]=y*u+_*c+T|0,L[m++]=b*c+x*u+w|0,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+_*c+T|0,L[m++]=b*c+x*h+w|0,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+_*l+T|0,L[m++]=b*l+x*h+w|0,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+_*l+T|0,L[m++]=b*l+x*u+w|0,L[m++]=a.x3,L[m++]=a.y3,O[m++]=D,L[m++]=v):(L[m++]=y*u+_*c+T,L[m++]=b*c+x*u+w,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+_*c+T,L[m++]=b*c+x*h+w,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+_*l+T,L[m++]=b*l+x*h+w,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+_*l+T,L[m++]=b*l+x*u+w,L[m++]=a.x3,L[m++]=a.y3,O[m++]=D,L[m++]=v),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var u=t.tilePosition.x/(a*t.tileScaleOffset.x),l=t.tilePosition.y/(h*t.tileScaleOffset.y),c=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-u,o.y0=0-l,o.x1=1*c-u,o.y1=0-l,o.x2=1*c-u,o.y2=1*d-l,o.x3=0-u,o.y3=1*d-l;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),m=this.positions,g=this.colors,v=t.width,y=t.height,x=t.anchor.x,_=t.anchor.y,b=v*(1-x),T=v*-x,w=y*(1-_),S=y*-_,C=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,M=E.a/P,R=E.b/P,A=E.c/P,O=E.d/P,L=E.tx,I=E.ty;m[C++]=M*T+A*S+L,m[C++]=O*S+R*T+I,m[C++]=o.x0,m[C++]=o.y0,g[C++]=f,m[C++]=r,m[C++]=M*b+A*S+L,m[C++]=O*S+R*b+I,m[C++]=o.x1,m[C++]=o.y1,g[C++]=f,m[C++]=r,m[C++]=M*b+A*w+L,m[C++]=O*w+R*b+I,m[C++]=o.x2,m[C++]=o.y2,g[C++]=f,m[C++]=r,m[C++]=M*T+A*w+L,m[C++]=O*w+R*T+I,m[C++]=o.x3,m[C++]=o.y3,g[C++]=f,m[C++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,u=0,l=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,m=!1,g=0,v=this.currentBatchSize;g0&&(y=!1),(f||m)&&(this.renderBatch(c,u,l),l=g,u=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),m)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.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},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var u=0;u0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.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},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.9.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,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,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,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||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[1]||{},h=2),u===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,u=t.radius,l=a+o*n,c=(n*(u*u)-o*(h*h)*(a-r)+h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),d=(n*(u*u)-o*(h*h)*(a-r)-h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),p=o*c+a,f=o*d+a,m=new i.Point(c,p),g=new i.Point(d,f),v=e.pointOnSegment(m.x,m.y,.01),y=e.pointOnSegment(g.x,g.y,.01);return v&&y?!s||[m,g]:v?!s||[m]:y?!s||[g]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(l-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,u=e.bottom,l=0;if(i>=o&&i<=h&&s>=a&&s<=u||n>=o&&n<=h&&r>=a&&r<=u)return!0;if(i=o){if((l=s+(r-s)*(o-i)/(n-i))>a&&l<=u)return!0}else if(i>h&&n<=h&&(l=s+(r-s)*(h-i)/(n-i))>=a&&l<=u)return!0;if(s=a){if((l=i+(n-i)*(a-s)/(r-s))>=o&&l<=h)return!0}else if(s>u&&r<=u&&(l=i+(n-i)*(u-s)/(r-s))>=o&&l<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,u=e.right,l=e.bottom,c=1/0;r[0].setTo(a,h,u,h),r[1].setTo(a,l,u,l),r[2].setTo(a,h,a,l),r[3].setTo(u,h,u,l);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},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(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.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+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.equalsXY=function(t,e,i){return t.x===e&&t.y===i},i.Point.fuzzyEquals=function(t,e,s){return i.Math.fuzzyEquals(t.x,e.x,s)&&i.Math.fuzzyEquals(t.y,e.y,s)},i.Point.fuzzyEqualsXY=function(t,e,s,n){return i.Math.fuzzyEquals(t.x,e,n)&&i.Math.fuzzyEquals(t.y,s,n)},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),u=h*t.x-a*t.y,l=a*t.x+h*t.y;t.x=u+e,t.y=l+s}else{var c=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(c),t.y=s+o*Math.sin(c)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),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.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.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.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.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(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(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[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),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&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(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: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&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(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.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._clearWorld=!0,this._clearCache=!0,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=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,u=e*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!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 e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),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(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(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(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),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));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),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))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Component=function(){},i.Component.Angle=function(){},i.Component.Angle.prototype={angle:{get:function(){return i.Math.wrapAngle(i.Math.radToDeg(this.rotation))},set:function(t){this.rotation=i.Math.degToRad(i.Math.wrapAngle(t))}}},i.Component.Animation=function(){},i.Component.Animation.prototype={play:function(t,e,i,s){if(this.animations)return this.animations.play(t,e,i,s)}},i.Component.AutoCull=function(){},i.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)}}},i.Component.Bounds=function(){},i.Component.Bounds.prototype={offsetX:{get:function(){return this.anchor.x*this.width}},offsetY:{get:function(){return this.anchor.y*this.height}},centerX:{get:function(){return this.x-this.offsetX+.5*this.width},set:function(t){this.x=t+this.offsetX-.5*this.width}},centerY:{get:function(){return this.y-this.offsetY+.5*this.height},set:function(t){this.y=t+this.offsetY-.5*this.height}},left:{get:function(){return this.x-this.offsetX},set:function(t){this.x=t+this.offsetX}},right:{get:function(){return this.x+this.width-this.offsetX},set:function(t){this.x=t-this.width+this.offsetX}},top:{get:function(){return this.y-this.offsetY},set:function(t){this.y=t+this.offsetY}},bottom:{get:function(){return this.y+this.height-this.offsetY},set:function(t){this.y=t-this.height+this.offsetY}},alignIn:function(t,e,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),e){default:case i.TOP_LEFT:this.left=t.left-s,this.top=t.top-n;break;case i.TOP_CENTER:this.centerX=t.centerX+s,this.top=t.top-n;break;case i.TOP_RIGHT:this.right=t.right+s,this.top=t.top-n;break;case i.LEFT_CENTER:this.left=t.left-s,this.centerY=t.centerY+n;break;case i.CENTER:this.centerX=t.centerX+s,this.centerY=t.centerY+n;break;case i.RIGHT_CENTER:this.right=t.right+s,this.centerY=t.centerY+n;break;case i.BOTTOM_LEFT:this.left=t.left-s,this.bottom=t.bottom+n;break;case i.BOTTOM_CENTER:this.centerX=t.centerX+s,this.bottom=t.bottom+n;break;case i.BOTTOM_RIGHT:this.right=t.right+s,this.bottom=t.bottom+n}return this},alignTo:function(t,e,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),e){default:case i.TOP_LEFT:this.left=t.left-s,this.bottom=t.top-n;break;case i.TOP_CENTER:this.centerX=t.centerX+s,this.bottom=t.top-n;break;case i.TOP_RIGHT:this.right=t.right+s,this.bottom=t.top-n;break;case i.LEFT_TOP:this.right=t.left-s,this.top=t.top-n;break;case i.LEFT_CENTER:this.right=t.left-s,this.centerY=t.centerY+n;break;case i.LEFT_BOTTOM:this.right=t.left-s,this.bottom=t.bottom+n;break;case i.RIGHT_TOP:this.left=t.right+s,this.top=t.top-n;break;case i.RIGHT_CENTER:this.left=t.right+s,this.centerY=t.centerY+n;break;case i.RIGHT_BOTTOM:this.left=t.right+s,this.bottom=t.bottom+n;break;case i.BOTTOM_LEFT:this.left=t.left-s,this.top=t.bottom+n;break;case i.BOTTOM_CENTER:this.centerX=t.centerX+s,this.top=t.bottom+n;break;case i.BOTTOM_RIGHT:this.right=t.right+s,this.top=t.bottom+n}return this}},i.Group.prototype.alignIn=i.Component.Bounds.prototype.alignIn,i.Group.prototype.alignTo=i.Component.Bounds.prototype.alignTo,i.Component.BringToTop=function(){},i.Component.BringToTop.prototype.bringToTop=function(){return this.parent&&this.parent.bringToTop(this),this},i.Component.BringToTop.prototype.sendToBack=function(){return this.parent&&this.parent.sendToBack(this),this},i.Component.BringToTop.prototype.moveUp=function(){return this.parent&&this.parent.moveUp(this),this},i.Component.BringToTop.prototype.moveDown=function(){return this.parent&&this.parent.moveDown(this),this},i.Component.Core=function(){},i.Component.Core.skipTypeChecks=!1,i.Component.Core.install=function(t){i.Utils.mixinPrototype(this,i.Component.Core.prototype),this.components={};for(var e=0;ethis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.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,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),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=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new i.Button(this.game,t,e,s,n,r,o,a,h,u))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,u){return new i.Button(this.game,t,e,s,n,r,o,a,h,u)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,u,l){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,u,l),null!==r&&this.onInputUp.add(r,o),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)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],u=0;u0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>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(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree;var r=function(){};i.Net=r,i.Net.prototype={isDisabled:!0,getHostName:r,checkDomainName:r,updateQueryString:r,getQueryString:r,decodeURI:r},i.Net.prototype.constructor=i.Net,i.TweenManager=function(){},i.TweenManager.prototype.update=function(){},i.TweenManager.prototype.removeAll=function(){},i.TweenManager.prototype.removeFrom=function(){},i.TweenManager.prototype.constructor=i.TweenManager,i.Time=function(t){this.game=t,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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=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 t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.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(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},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(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),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=this.isReversed?this._frames.length-1: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)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=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._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),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)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===l||0===c||ll&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var u={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=i.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=i.LoaderParser.xmlBitmapFont(l,u.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=u}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,u){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var l={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(e,l)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(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,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var u=this._fileList[h];u.loading||u.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&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 n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()}},xhrLoadWithXDR:function(t,e,i,s,n){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 r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e: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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var u=t.getElementsByTagName("char"),l=n?n.x:0,c=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.SoundManager=function(){this.muteOnPause=!1},i.SoundManager.prototype.boot=function(){},i.SoundManager.prototype.update=function(){},i.SoundManager.prototype.destroy=function(){},i.SoundManager.prototype.setMute=function(){},i.SoundManager.prototype.unsetMute=function(){},i.SoundManager.prototype.constructor=i.SoundManager,i.ScaleManager=function(t,e,s){this.game=t,this.dom=i.DOM,this.grid=null,this.width=0,this.height=0,this.minWidth=null,this.maxWidth=null,this.minHeight=null,this.maxHeight=null,this.offset=new i.Point,this.forceLandscape=!1,this.forcePortrait=!1,this.incorrectOrientation=!1,this._pageAlignHorizontally=!1,this._pageAlignVertically=!1,this.onOrientationChange=new i.Signal,this.enterIncorrectOrientation=new i.Signal,this.leaveIncorrectOrientation=new i.Signal,this.hasPhaserSetFullScreen=!1,this.fullScreenTarget=null,this._createdFullScreenTarget=null,this.onFullScreenInit=new i.Signal,this.onFullScreenChange=new i.Signal,this.onFullScreenError=new i.Signal,this.screenOrientation=this.dom.getScreenOrientation(),this.scaleFactor=new i.Point(1,1),this.scaleFactorInversed=new i.Point(1,1),this.margin={left:0,top:0,right:0,bottom:0,x:0,y:0},this.bounds=new i.Rectangle,this.aspectRatio=0,this.sourceAspectRatio=0,this.event=null,this.windowConstraints={right:"layout",bottom:""},this.compatibility={supportsFullScreen:!1,orientationFallback:null,noMargins:!1,scrollTo:null,forceMinimumDocumentHeight:!1,canExpandParent:!0,clickTrampoline:""},this._scaleMode=i.ScaleManager.NO_SCALE,this._fullScreenScaleMode=i.ScaleManager.NO_SCALE,this.parentIsWindow=!1,this.parentNode=null,this.parentScaleFactor=new i.Point(1,1),this.trackParentInterval=2e3,this.onSizeChange=new i.Signal,this.onResize=null,this.onResizeContext=null,this._pendingScaleMode=null,this._fullScreenRestore=null,this._gameSize=new i.Rectangle,this._userScaleFactor=new i.Point(1,1),this._userScaleTrim=new i.Point(0,0),this._lastUpdate=0,this._updateThrottle=0,this._updateThrottleReset=100,this._parentBounds=new i.Rectangle,this._tempBounds=new i.Rectangle,this._lastReportedCanvasSize=new i.Rectangle,this._lastReportedGameSize=new i.Rectangle,this._booted=!1,t.config&&this.parseConfig(t.config),this.setupScale(e,s)},i.ScaleManager.EXACT_FIT=0,i.ScaleManager.NO_SCALE=1,i.ScaleManager.SHOW_ALL=2,i.ScaleManager.RESIZE=3,i.ScaleManager.USER_SCALE=4,i.ScaleManager.prototype={boot:function(){var t=this.compatibility;t.supportsFullScreen=this.game.device.fullscreen&&!this.game.device.cocoonJS,this.game.device.iPad||this.game.device.webApp||this.game.device.desktop||(this.game.device.android&&!this.game.device.chrome?t.scrollTo=new i.Point(0,1):t.scrollTo=new i.Point(0,0)),this.game.device.desktop?(t.orientationFallback="screen",t.clickTrampoline="when-not-mouse"):(t.orientationFallback="",t.clickTrampoline="");var e=this;this._orientationChange=function(t){return e.orientationChange(t)},this._windowResize=function(t){return e.windowResize(t)},window.addEventListener("orientationchange",this._orientationChange,!1),window.addEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(this._fullScreenChange=function(t){return e.fullScreenChange(t)},this._fullScreenError=function(t){return e.fullScreenError(t)},document.addEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.addEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.addEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.addEventListener("fullscreenchange",this._fullScreenChange,!1),document.addEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.addEventListener("mozfullscreenerror",this._fullScreenError,!1),document.addEventListener("MSFullscreenError",this._fullScreenError,!1),document.addEventListener("fullscreenerror",this._fullScreenError,!1)),this.game.onResume.add(this._gameResumed,this),this.dom.getOffset(this.game.canvas,this.offset),this.bounds.setTo(this.offset.x,this.offset.y,this.width,this.height),this.setGameSize(this.game.width,this.game.height),this.screenOrientation=this.dom.getScreenOrientation(this.compatibility.orientationFallback),i.FlexGrid&&(this.grid=new i.FlexGrid(this,this.width,this.height)),this._booted=!0,null!==this._pendingScaleMode&&(this.scaleMode=this._pendingScaleMode,this._pendingScaleMode=null)},parseConfig:function(t){void 0!==t.scaleMode&&(this._booted?this.scaleMode=t.scaleMode:this._pendingScaleMode=t.scaleMode),void 0!==t.fullScreenScaleMode&&(this.fullScreenScaleMode=t.fullScreenScaleMode),t.fullScreenTarget&&(this.fullScreenTarget=t.fullScreenTarget)},setupScale:function(t,e){var s,n=new i.Rectangle;""!==this.game.parent&&("string"==typeof this.game.parent?s=document.getElementById(this.game.parent):this.game.parent&&1===this.game.parent.nodeType&&(s=this.game.parent)),s?(this.parentNode=s,this.parentIsWindow=!1,this.getParentBounds(this._parentBounds),n.width=this._parentBounds.width,n.height=this._parentBounds.height,this.offset.set(this._parentBounds.x,this._parentBounds.y)):(this.parentNode=null,this.parentIsWindow=!0,n.width=this.dom.visualBounds.width,n.height=this.dom.visualBounds.height,this.offset.set(0,0));var r=0,o=0;"number"==typeof t?r=t:(this.parentScaleFactor.x=parseInt(t,10)/100,r=n.width*this.parentScaleFactor.x),"number"==typeof e?o=e:(this.parentScaleFactor.y=parseInt(e,10)/100,o=n.height*this.parentScaleFactor.y),r=Math.floor(r),o=Math.floor(o),this._gameSize.setTo(0,0,r,o),this.updateDimensions(r,o,!1)},_gameResumed:function(){this.queueUpdate(!0)},setGameSize:function(t,e){this._gameSize.setTo(0,0,t,e),this.currentScaleMode!==i.ScaleManager.RESIZE&&this.updateDimensions(t,e,!0),this.queueUpdate(!0)},setUserScale:function(t,e,i,s,n,r){this._userScaleFactor.setTo(t,e),this._userScaleTrim.setTo(0|i,0|s),void 0===n&&(n=!0),void 0===r&&(r=!0),n&&this.queueUpdate(r)},setResizeCallback:function(t,e){this.onResize=t,this.onResizeContext=e},signalSizeChange:function(){if(!i.Rectangle.sameDimensions(this,this._lastReportedCanvasSize)||!i.Rectangle.sameDimensions(this.game,this._lastReportedGameSize)){var t=this.width,e=this.height;this._lastReportedCanvasSize.setTo(0,0,t,e),this._lastReportedGameSize.setTo(0,0,this.game.width,this.game.height),this.grid&&this.grid.onResize(t,e),this.onSizeChange.dispatch(this,t,e),this.currentScaleMode===i.ScaleManager.RESIZE&&(this.game.state.resize(t,e),this.game.load.resize(t,e))}},setMinMax:function(t,e,i,s){this.minWidth=t,this.minHeight=e,void 0!==i&&(this.maxWidth=i),void 0!==s&&(this.maxHeight=s)},preUpdate:function(){if(!(this.game.time.time=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}});var o=function(){};return i.Utils.Debug=o,i.Utils.Debug.prototype={isDisabled:!0,boot:o,preUpdate:o,reset:o,start:o,stop:o,line:o,soundInfo:o,cameraInfo:o,timer:o,pointer:o,spriteInputInfo:o,key:o,inputInfo:o,spriteBounds:o,ropeSegments:o,spriteInfo:o,spriteCoords:o,lineInfo:o,pixel:o,geom:o,rectangle:o,text:o,quadTree:o,body:o,bodyInfo:o,box2dWorld:o,box2dBody:o},i.Utils.Debug.prototype.constructor=i.Utils.Debug,i.DOM={getOffset:function(t,e){e=e||new i.Point;var s=t.getBoundingClientRect(),n=i.DOM.scrollY,r=i.DOM.scrollX,o=document.documentElement.clientTop,a=document.documentElement.clientLeft;return e.x=s.left+r-a,e.y=s.top+n-o,e},getBounds:function(t,e){return void 0===e&&(e=0),!(!(t=t&&!t.nodeType?t[0]:t)||1!==t.nodeType)&&this.calibrate(t.getBoundingClientRect(),e)},calibrate:function(t,e){e=+e||0;var i={width:0,height:0,left:0,right:0,top:0,bottom:0};return i.width=(i.right=t.right+e)-(i.left=t.left-e),i.height=(i.bottom=t.bottom+e)-(i.top=t.top-e),i},getAspectRatio:function(t){var e=(t=null==t?this.visualBounds:1===t.nodeType?this.getBounds(t):t).width,i=t.height;return"function"==typeof e&&(e=e.call(t)),"function"==typeof i&&(i=i.call(t)),e/i},inLayoutViewport:function(t,e){var i=this.getBounds(t,e);return!!i&&i.bottom>=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var u={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var u=(h.red-a.red)*n/s+a.red,l=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),m=f.h-p.h;if(p.h>f.h){var g=f.h;f.h=p.h,p.h=g,m=-m,n=s-n}m>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),m<=.5&&(d=(f.h-p.h)*n/s+p.h);var v=(f.s-p.s)*n/s+p.s,y=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,v,y,x),u=x.r,l=x.g,c=x.b}return i.Color.getColor32(r,u,l,c)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,u,l)},interpolateRGB:function(t,e,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(u,l,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},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}},i.Physics.prototype.constructor=i.Physics,i.Particles=function(t){this.game=t,this.emitters={},this.ID=0},i.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]},update:function(){for(var t in this.emitters)this.emitters[t].exists&&this.emitters[t].update()}},i.Particles.prototype.constructor=i.Particles,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); +(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),u=null,l=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),u=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,u,0),(l=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[l]),a.width=i,a.height=s,a.targetTexture=u,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,u=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),u.a=i*h.a+s*h.c,u.b=i*h.b+s*h.d,u.c=n*h.a+r*h.c,u.d=n*h.b+r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,u.a=i*h.a,u.b=i*h.b,u.c=r*h.c,u.d=r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty),i=u.a,s=u.b,n=u.c;var l=i*(r=u.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=l/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=l/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=u.tx,this.worldPosition.y=u.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,u,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var m=(f=new s.Rectangle).x,g=f.width+f.x,v=f.y,y=f.height+f.y,x=this.worldTransform,_=x.a,b=x.b,T=x.c,w=x.d,S=x.tx,C=x.ty,P=_*g+T*y+S,E=w*y+b*g+C,M=_*m+T*y+S,R=w*y+b*m+C,A=_*m+T*v+S,O=w*v+b*m+C,L=_*g+T*v+S,I=w*v+b*g+C;c=P,d=E,l=E,u=L<(u=A<(u=M<(u=P)?M:u)?A:u)?L:u,l=I<(l=O<(l=R(c=A>(c=M>c?M:c)?A:c)?L:c,d=I>(d=O>(d=R>d?R:d)?O:d)?I:d}if(f.x=u,f.y=l,f.width=c-u,f.height=d-l,e)for(t.worldTransform=r,n=0;n(f=w>(f=b>(f=x>f?x:f)?b:f)?w:f)?C:f,m=P>(m=S>(m=T>(m=_>m?_:m)?T:m)?S:m)?P:m}var E=this._bounds;return E.x=g,E.width=f-g,E.y=v,E.height=m-v,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,u,l,c,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(u=f.x-d*f.width)+i.crop.width,l=(c=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),u=i.frame.width*-d,l=i.frame.height*(1-p),c=i.frame.height*-p;var m=this.currentBatchSize*this.vertexSize,g=(this.currentBatchSize,i.baseTexture.resolution),v=i.baseTexture.textureIndex,y=o.a/g,x=o.b/g,_=o.c/g,b=o.d/g,T=o.tx,w=o.ty,S=(i.crop.width,i.crop.height);if(i.rotated){var C=o.a,P=o.b,E=o.c,M=o.d,R=u,A=h;T=o.c*S+T,w=o.d*S+w,y=6.123233995736766e-17*C-E,x=6.123233995736766e-17*P-M,_=C+6.123233995736766e-17*E,b=P+6.123233995736766e-17*M,i._updateUvsInverted(),h=l,u=c,l=A,c=R}var O=this.colors,L=this.positions,I=t.tint,D=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(L[m++]=y*u+_*c+T|0,L[m++]=b*c+x*u+w|0,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+_*c+T|0,L[m++]=b*c+x*h+w|0,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+_*l+T|0,L[m++]=b*l+x*h+w|0,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+_*l+T|0,L[m++]=b*l+x*u+w|0,L[m++]=a.x3,L[m++]=a.y3,O[m++]=D,L[m++]=v):(L[m++]=y*u+_*c+T,L[m++]=b*c+x*u+w,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+_*c+T,L[m++]=b*c+x*h+w,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+_*l+T,L[m++]=b*l+x*h+w,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+_*l+T,L[m++]=b*l+x*u+w,L[m++]=a.x3,L[m++]=a.y3,O[m++]=D,L[m++]=v),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var u=t.tilePosition.x/(a*t.tileScaleOffset.x),l=t.tilePosition.y/(h*t.tileScaleOffset.y),c=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-u,o.y0=0-l,o.x1=1*c-u,o.y1=0-l,o.x2=1*c-u,o.y2=1*d-l,o.x3=0-u,o.y3=1*d-l;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),m=this.positions,g=this.colors,v=t.width,y=t.height,x=t.anchor.x,_=t.anchor.y,b=v*(1-x),T=v*-x,w=y*(1-_),S=y*-_,C=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,M=E.a/P,R=E.b/P,A=E.c/P,O=E.d/P,L=E.tx,I=E.ty;m[C++]=M*T+A*S+L,m[C++]=O*S+R*T+I,m[C++]=o.x0,m[C++]=o.y0,g[C++]=f,m[C++]=r,m[C++]=M*b+A*S+L,m[C++]=O*S+R*b+I,m[C++]=o.x1,m[C++]=o.y1,g[C++]=f,m[C++]=r,m[C++]=M*b+A*w+L,m[C++]=O*w+R*b+I,m[C++]=o.x2,m[C++]=o.y2,g[C++]=f,m[C++]=r,m[C++]=M*T+A*w+L,m[C++]=O*w+R*T+I,m[C++]=o.x3,m[C++]=o.y3,g[C++]=f,m[C++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,u=0,l=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,m=!1,g=0,v=this.currentBatchSize;g0&&(y=!1),(f||m)&&(this.renderBatch(c,u,l),l=g,u=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),m)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.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},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var u=0;u0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.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},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.9.1",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,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,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,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||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[1]||{},h=2),u===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,u=t.radius,l=a+o*n,c=(n*(u*u)-o*(h*h)*(a-r)+h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),d=(n*(u*u)-o*(h*h)*(a-r)-h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),p=o*c+a,f=o*d+a,m=new i.Point(c,p),g=new i.Point(d,f),v=e.pointOnSegment(m.x,m.y,.01),y=e.pointOnSegment(g.x,g.y,.01);return v&&y?!s||[m,g]:v?!s||[m]:y?!s||[g]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(l-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,u=e.bottom,l=0;if(i>=o&&i<=h&&s>=a&&s<=u||n>=o&&n<=h&&r>=a&&r<=u)return!0;if(i=o){if((l=s+(r-s)*(o-i)/(n-i))>a&&l<=u)return!0}else if(i>h&&n<=h&&(l=s+(r-s)*(h-i)/(n-i))>=a&&l<=u)return!0;if(s=a){if((l=i+(n-i)*(a-s)/(r-s))>=o&&l<=h)return!0}else if(s>u&&r<=u&&(l=i+(n-i)*(u-s)/(r-s))>=o&&l<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,u=e.right,l=e.bottom,c=1/0;r[0].setTo(a,h,u,h),r[1].setTo(a,l,u,l),r[2].setTo(a,h,a,l),r[3].setTo(u,h,u,l);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},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(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.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+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.equalsXY=function(t,e,i){return t.x===e&&t.y===i},i.Point.fuzzyEquals=function(t,e,s){return i.Math.fuzzyEquals(t.x,e.x,s)&&i.Math.fuzzyEquals(t.y,e.y,s)},i.Point.fuzzyEqualsXY=function(t,e,s,n){return i.Math.fuzzyEquals(t.x,e,n)&&i.Math.fuzzyEquals(t.y,s,n)},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),u=h*t.x-a*t.y,l=a*t.x+h*t.y;t.x=u+e,t.y=l+s}else{var c=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(c),t.y=s+o*Math.sin(c)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),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.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.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.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.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(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(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[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),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&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(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: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&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(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.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._clearWorld=!0,this._clearCache=!0,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=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,u=e*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!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 e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),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(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(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(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),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));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),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))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Component=function(){},i.Component.Angle=function(){},i.Component.Angle.prototype={angle:{get:function(){return i.Math.wrapAngle(i.Math.radToDeg(this.rotation))},set:function(t){this.rotation=i.Math.degToRad(i.Math.wrapAngle(t))}}},i.Component.Animation=function(){},i.Component.Animation.prototype={play:function(t,e,i,s){if(this.animations)return this.animations.play(t,e,i,s)}},i.Component.AutoCull=function(){},i.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)}}},i.Component.Bounds=function(){},i.Component.Bounds.prototype={offsetX:{get:function(){return this.anchor.x*this.width}},offsetY:{get:function(){return this.anchor.y*this.height}},centerX:{get:function(){return this.x-this.offsetX+.5*this.width},set:function(t){this.x=t+this.offsetX-.5*this.width}},centerY:{get:function(){return this.y-this.offsetY+.5*this.height},set:function(t){this.y=t+this.offsetY-.5*this.height}},left:{get:function(){return this.x-this.offsetX},set:function(t){this.x=t+this.offsetX}},right:{get:function(){return this.x+this.width-this.offsetX},set:function(t){this.x=t-this.width+this.offsetX}},top:{get:function(){return this.y-this.offsetY},set:function(t){this.y=t+this.offsetY}},bottom:{get:function(){return this.y+this.height-this.offsetY},set:function(t){this.y=t-this.height+this.offsetY}},alignIn:function(t,e,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),e){default:case i.TOP_LEFT:this.left=t.left-s,this.top=t.top-n;break;case i.TOP_CENTER:this.centerX=t.centerX+s,this.top=t.top-n;break;case i.TOP_RIGHT:this.right=t.right+s,this.top=t.top-n;break;case i.LEFT_CENTER:this.left=t.left-s,this.centerY=t.centerY+n;break;case i.CENTER:this.centerX=t.centerX+s,this.centerY=t.centerY+n;break;case i.RIGHT_CENTER:this.right=t.right+s,this.centerY=t.centerY+n;break;case i.BOTTOM_LEFT:this.left=t.left-s,this.bottom=t.bottom+n;break;case i.BOTTOM_CENTER:this.centerX=t.centerX+s,this.bottom=t.bottom+n;break;case i.BOTTOM_RIGHT:this.right=t.right+s,this.bottom=t.bottom+n}return this},alignTo:function(t,e,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),e){default:case i.TOP_LEFT:this.left=t.left-s,this.bottom=t.top-n;break;case i.TOP_CENTER:this.centerX=t.centerX+s,this.bottom=t.top-n;break;case i.TOP_RIGHT:this.right=t.right+s,this.bottom=t.top-n;break;case i.LEFT_TOP:this.right=t.left-s,this.top=t.top-n;break;case i.LEFT_CENTER:this.right=t.left-s,this.centerY=t.centerY+n;break;case i.LEFT_BOTTOM:this.right=t.left-s,this.bottom=t.bottom+n;break;case i.RIGHT_TOP:this.left=t.right+s,this.top=t.top-n;break;case i.RIGHT_CENTER:this.left=t.right+s,this.centerY=t.centerY+n;break;case i.RIGHT_BOTTOM:this.left=t.right+s,this.bottom=t.bottom+n;break;case i.BOTTOM_LEFT:this.left=t.left-s,this.top=t.bottom+n;break;case i.BOTTOM_CENTER:this.centerX=t.centerX+s,this.top=t.bottom+n;break;case i.BOTTOM_RIGHT:this.right=t.right+s,this.top=t.bottom+n}return this}},i.Group.prototype.alignIn=i.Component.Bounds.prototype.alignIn,i.Group.prototype.alignTo=i.Component.Bounds.prototype.alignTo,i.Component.BringToTop=function(){},i.Component.BringToTop.prototype.bringToTop=function(){return this.parent&&this.parent.bringToTop(this),this},i.Component.BringToTop.prototype.sendToBack=function(){return this.parent&&this.parent.sendToBack(this),this},i.Component.BringToTop.prototype.moveUp=function(){return this.parent&&this.parent.moveUp(this),this},i.Component.BringToTop.prototype.moveDown=function(){return this.parent&&this.parent.moveDown(this),this},i.Component.Core=function(){},i.Component.Core.skipTypeChecks=!1,i.Component.Core.install=function(t){i.Utils.mixinPrototype(this,i.Component.Core.prototype),this.components={};for(var e=0;ethis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.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,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),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=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new i.Button(this.game,t,e,s,n,r,o,a,h,u))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,u){return new i.Button(this.game,t,e,s,n,r,o,a,h,u)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,u,l){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,u,l),null!==r&&this.onInputUp.add(r,o),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)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],u=0;u0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>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(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree;var r=function(){};i.Net=r,i.Net.prototype={isDisabled:!0,getHostName:r,checkDomainName:r,updateQueryString:r,getQueryString:r,decodeURI:r},i.Net.prototype.constructor=i.Net,i.TweenManager=function(){},i.TweenManager.prototype.update=function(){},i.TweenManager.prototype.removeAll=function(){},i.TweenManager.prototype.removeFrom=function(){},i.TweenManager.prototype.constructor=i.TweenManager,i.Time=function(t){this.game=t,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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=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 t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.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(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},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(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),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=this.isReversed?this._frames.length-1: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)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=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._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),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)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===l||0===c||ll&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var u={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=i.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=i.LoaderParser.xmlBitmapFont(l,u.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=u}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,u){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var l={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(e,l)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(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,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var u=this._fileList[h];u.loading||u.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&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 n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()}},xhrLoadWithXDR:function(t,e,i,s,n){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 r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e: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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var u=t.getElementsByTagName("char"),l=n?n.x:0,c=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.SoundManager=function(){this.muteOnPause=!1},i.SoundManager.prototype.boot=function(){},i.SoundManager.prototype.update=function(){},i.SoundManager.prototype.destroy=function(){},i.SoundManager.prototype.setMute=function(){},i.SoundManager.prototype.unsetMute=function(){},i.SoundManager.prototype.constructor=i.SoundManager,i.ScaleManager=function(t,e,s){this.game=t,this.dom=i.DOM,this.grid=null,this.width=0,this.height=0,this.minWidth=null,this.maxWidth=null,this.minHeight=null,this.maxHeight=null,this.offset=new i.Point,this.forceLandscape=!1,this.forcePortrait=!1,this.incorrectOrientation=!1,this._pageAlignHorizontally=!1,this._pageAlignVertically=!1,this.onOrientationChange=new i.Signal,this.enterIncorrectOrientation=new i.Signal,this.leaveIncorrectOrientation=new i.Signal,this.hasPhaserSetFullScreen=!1,this.fullScreenTarget=null,this._createdFullScreenTarget=null,this.onFullScreenInit=new i.Signal,this.onFullScreenChange=new i.Signal,this.onFullScreenError=new i.Signal,this.screenOrientation=this.dom.getScreenOrientation(),this.scaleFactor=new i.Point(1,1),this.scaleFactorInversed=new i.Point(1,1),this.margin={left:0,top:0,right:0,bottom:0,x:0,y:0},this.bounds=new i.Rectangle,this.aspectRatio=0,this.sourceAspectRatio=0,this.event=null,this.windowConstraints={right:"layout",bottom:""},this.compatibility={supportsFullScreen:!1,orientationFallback:null,noMargins:!1,scrollTo:null,forceMinimumDocumentHeight:!1,canExpandParent:!0,clickTrampoline:""},this._scaleMode=i.ScaleManager.NO_SCALE,this._fullScreenScaleMode=i.ScaleManager.NO_SCALE,this.parentIsWindow=!1,this.parentNode=null,this.parentScaleFactor=new i.Point(1,1),this.trackParentInterval=2e3,this.onSizeChange=new i.Signal,this.onResize=null,this.onResizeContext=null,this._pendingScaleMode=null,this._fullScreenRestore=null,this._gameSize=new i.Rectangle,this._userScaleFactor=new i.Point(1,1),this._userScaleTrim=new i.Point(0,0),this._lastUpdate=0,this._updateThrottle=0,this._updateThrottleReset=100,this._parentBounds=new i.Rectangle,this._tempBounds=new i.Rectangle,this._lastReportedCanvasSize=new i.Rectangle,this._lastReportedGameSize=new i.Rectangle,this._booted=!1,t.config&&this.parseConfig(t.config),this.setupScale(e,s)},i.ScaleManager.EXACT_FIT=0,i.ScaleManager.NO_SCALE=1,i.ScaleManager.SHOW_ALL=2,i.ScaleManager.RESIZE=3,i.ScaleManager.USER_SCALE=4,i.ScaleManager.prototype={boot:function(){var t=this.compatibility;t.supportsFullScreen=this.game.device.fullscreen&&!this.game.device.cocoonJS,this.game.device.iPad||this.game.device.webApp||this.game.device.desktop||(this.game.device.android&&!this.game.device.chrome?t.scrollTo=new i.Point(0,1):t.scrollTo=new i.Point(0,0)),this.game.device.desktop?(t.orientationFallback="screen",t.clickTrampoline="when-not-mouse"):(t.orientationFallback="",t.clickTrampoline="");var e=this;this._orientationChange=function(t){return e.orientationChange(t)},this._windowResize=function(t){return e.windowResize(t)},window.addEventListener("orientationchange",this._orientationChange,!1),window.addEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(this._fullScreenChange=function(t){return e.fullScreenChange(t)},this._fullScreenError=function(t){return e.fullScreenError(t)},document.addEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.addEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.addEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.addEventListener("fullscreenchange",this._fullScreenChange,!1),document.addEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.addEventListener("mozfullscreenerror",this._fullScreenError,!1),document.addEventListener("MSFullscreenError",this._fullScreenError,!1),document.addEventListener("fullscreenerror",this._fullScreenError,!1)),this.game.onResume.add(this._gameResumed,this),this.dom.getOffset(this.game.canvas,this.offset),this.bounds.setTo(this.offset.x,this.offset.y,this.width,this.height),this.setGameSize(this.game.width,this.game.height),this.screenOrientation=this.dom.getScreenOrientation(this.compatibility.orientationFallback),i.FlexGrid&&(this.grid=new i.FlexGrid(this,this.width,this.height)),this._booted=!0,null!==this._pendingScaleMode&&(this.scaleMode=this._pendingScaleMode,this._pendingScaleMode=null)},parseConfig:function(t){void 0!==t.scaleMode&&(this._booted?this.scaleMode=t.scaleMode:this._pendingScaleMode=t.scaleMode),void 0!==t.fullScreenScaleMode&&(this.fullScreenScaleMode=t.fullScreenScaleMode),t.fullScreenTarget&&(this.fullScreenTarget=t.fullScreenTarget)},setupScale:function(t,e){var s,n=new i.Rectangle;""!==this.game.parent&&("string"==typeof this.game.parent?s=document.getElementById(this.game.parent):this.game.parent&&1===this.game.parent.nodeType&&(s=this.game.parent)),s?(this.parentNode=s,this.parentIsWindow=!1,this.getParentBounds(this._parentBounds),n.width=this._parentBounds.width,n.height=this._parentBounds.height,this.offset.set(this._parentBounds.x,this._parentBounds.y)):(this.parentNode=null,this.parentIsWindow=!0,n.width=this.dom.visualBounds.width,n.height=this.dom.visualBounds.height,this.offset.set(0,0));var r=0,o=0;"number"==typeof t?r=t:(this.parentScaleFactor.x=parseInt(t,10)/100,r=n.width*this.parentScaleFactor.x),"number"==typeof e?o=e:(this.parentScaleFactor.y=parseInt(e,10)/100,o=n.height*this.parentScaleFactor.y),r=Math.floor(r),o=Math.floor(o),this._gameSize.setTo(0,0,r,o),this.updateDimensions(r,o,!1)},_gameResumed:function(){this.queueUpdate(!0)},setGameSize:function(t,e){this._gameSize.setTo(0,0,t,e),this.currentScaleMode!==i.ScaleManager.RESIZE&&this.updateDimensions(t,e,!0),this.queueUpdate(!0)},setUserScale:function(t,e,i,s,n,r){this._userScaleFactor.setTo(t,e),this._userScaleTrim.setTo(0|i,0|s),void 0===n&&(n=!0),void 0===r&&(r=!0),n&&this.queueUpdate(r)},setResizeCallback:function(t,e){this.onResize=t,this.onResizeContext=e},signalSizeChange:function(){if(!i.Rectangle.sameDimensions(this,this._lastReportedCanvasSize)||!i.Rectangle.sameDimensions(this.game,this._lastReportedGameSize)){var t=this.width,e=this.height;this._lastReportedCanvasSize.setTo(0,0,t,e),this._lastReportedGameSize.setTo(0,0,this.game.width,this.game.height),this.grid&&this.grid.onResize(t,e),this.onSizeChange.dispatch(this,t,e),this.currentScaleMode===i.ScaleManager.RESIZE&&(this.game.state.resize(t,e),this.game.load.resize(t,e))}},setMinMax:function(t,e,i,s){this.minWidth=t,this.minHeight=e,void 0!==i&&(this.maxWidth=i),void 0!==s&&(this.maxHeight=s)},preUpdate:function(){if(!(this.game.time.time=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}});var o=function(){};return i.Utils.Debug=o,i.Utils.Debug.prototype={isDisabled:!0,boot:o,preUpdate:o,reset:o,start:o,stop:o,line:o,soundInfo:o,cameraInfo:o,timer:o,pointer:o,spriteInputInfo:o,key:o,inputInfo:o,spriteBounds:o,ropeSegments:o,spriteInfo:o,spriteCoords:o,lineInfo:o,pixel:o,geom:o,rectangle:o,text:o,quadTree:o,body:o,bodyInfo:o,box2dWorld:o,box2dBody:o},i.Utils.Debug.prototype.constructor=i.Utils.Debug,i.DOM={getOffset:function(t,e){e=e||new i.Point;var s=t.getBoundingClientRect(),n=i.DOM.scrollY,r=i.DOM.scrollX,o=document.documentElement.clientTop,a=document.documentElement.clientLeft;return e.x=s.left+r-a,e.y=s.top+n-o,e},getBounds:function(t,e){return void 0===e&&(e=0),!(!(t=t&&!t.nodeType?t[0]:t)||1!==t.nodeType)&&this.calibrate(t.getBoundingClientRect(),e)},calibrate:function(t,e){e=+e||0;var i={width:0,height:0,left:0,right:0,top:0,bottom:0};return i.width=(i.right=t.right+e)-(i.left=t.left-e),i.height=(i.bottom=t.bottom+e)-(i.top=t.top-e),i},getAspectRatio:function(t){var e=(t=null==t?this.visualBounds:1===t.nodeType?this.getBounds(t):t).width,i=t.height;return"function"==typeof e&&(e=e.call(t)),"function"==typeof i&&(i=i.call(t)),e/i},inLayoutViewport:function(t,e){var i=this.getBounds(t,e);return!!i&&i.bottom>=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var u={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var u=(h.red-a.red)*n/s+a.red,l=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),m=f.h-p.h;if(p.h>f.h){var g=f.h;f.h=p.h,p.h=g,m=-m,n=s-n}m>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),m<=.5&&(d=(f.h-p.h)*n/s+p.h);var v=(f.s-p.s)*n/s+p.s,y=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,v,y,x),u=x.r,l=x.g,c=x.b}return i.Color.getColor32(r,u,l,c)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,u,l)},interpolateRGB:function(t,e,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(u,l,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},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}},i.Physics.prototype.constructor=i.Physics,i.Particles=function(t){this.game=t,this.emitters={},this.ID=0},i.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]},update:function(){for(var t in this.emitters)this.emitters[t].exists&&this.emitters[t].update()}},i.Particles.prototype.constructor=i.Particles,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.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 a9bf78513..678294a52 100644 --- a/build/custom/phaser-no-physics.js +++ b/build/custom/phaser-no-physics.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.9.0 "2017-10-08" - Built: Sun Oct 08 2017 19:21:10 +* v2.9.1 "2017-10-10" - Built: Tue Oct 10 2017 11:18:04 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -7594,7 +7594,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.9.0', + VERSION: '2.9.1', /** * An array of Phaser game instances. diff --git a/build/custom/phaser-no-physics.min.js b/build/custom/phaser-no-physics.min.js index a817220d6..d8b1f9998 100644 --- a/build/custom/phaser-no-physics.min.js +++ b/build/custom/phaser-no-physics.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.9.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.9.1 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),u=null,l=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),u=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,u,0),(l=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[l]),a.width=i,a.height=s,a.targetTexture=u,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,u=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),u.a=i*h.a+s*h.c,u.b=i*h.b+s*h.d,u.c=n*h.a+r*h.c,u.d=n*h.b+r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,u.a=i*h.a,u.b=i*h.b,u.c=r*h.c,u.d=r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty),i=u.a,s=u.b,n=u.c;var l=i*(r=u.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=l/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=l/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=u.tx,this.worldPosition.y=u.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,u,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var m=(f=new s.Rectangle).x,g=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,_=x.a,b=x.b,T=x.c,w=x.d,C=x.tx,S=x.ty,P=_*g+T*v+C,E=w*v+b*g+S,A=_*m+T*v+C,R=w*v+b*m+S,M=_*m+T*y+C,I=w*y+b*m+S,L=_*g+T*y+C,O=w*y+b*g+S;c=P,d=E,l=E,u=L<(u=M<(u=A<(u=P)?A:u)?M:u)?L:u,l=O<(l=I<(l=R(c=M>(c=A>c?A:c)?M:c)?L:c,d=O>(d=I>(d=R>d?R:d)?I:d)?O:d}if(f.x=u,f.y=l,f.width=c-u,f.height=d-l,e)for(t.worldTransform=r,n=0;n(f=w>(f=b>(f=x>f?x:f)?b:f)?w:f)?S:f,m=P>(m=C>(m=T>(m=_>m?_:m)?T:m)?C:m)?P:m}var E=this._bounds;return E.x=g,E.width=f-g,E.y=y,E.height=m-y,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,u,l,c,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(u=f.x-d*f.width)+i.crop.width,l=(c=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),u=i.frame.width*-d,l=i.frame.height*(1-p),c=i.frame.height*-p;var m=this.currentBatchSize*this.vertexSize,g=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/g,x=o.b/g,_=o.c/g,b=o.d/g,T=o.tx,w=o.ty,C=(i.crop.width,i.crop.height);if(i.rotated){var S=o.a,P=o.b,E=o.c,A=o.d,R=u,M=h;T=o.c*C+T,w=o.d*C+w,v=6.123233995736766e-17*S-E,x=6.123233995736766e-17*P-A,_=S+6.123233995736766e-17*E,b=P+6.123233995736766e-17*A,i._updateUvsInverted(),h=l,u=c,l=M,c=R}var I=this.colors,L=this.positions,O=t.tint,k=(O>>16)+(65280&O)+((255&O)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(L[m++]=v*u+_*c+T|0,L[m++]=b*c+x*u+w|0,L[m++]=a.x0,L[m++]=a.y0,I[m++]=k,L[m++]=y,L[m++]=v*h+_*c+T|0,L[m++]=b*c+x*h+w|0,L[m++]=a.x1,L[m++]=a.y1,I[m++]=k,L[m++]=y,L[m++]=v*h+_*l+T|0,L[m++]=b*l+x*h+w|0,L[m++]=a.x2,L[m++]=a.y2,I[m++]=k,L[m++]=y,L[m++]=v*u+_*l+T|0,L[m++]=b*l+x*u+w|0,L[m++]=a.x3,L[m++]=a.y3,I[m++]=k,L[m++]=y):(L[m++]=v*u+_*c+T,L[m++]=b*c+x*u+w,L[m++]=a.x0,L[m++]=a.y0,I[m++]=k,L[m++]=y,L[m++]=v*h+_*c+T,L[m++]=b*c+x*h+w,L[m++]=a.x1,L[m++]=a.y1,I[m++]=k,L[m++]=y,L[m++]=v*h+_*l+T,L[m++]=b*l+x*h+w,L[m++]=a.x2,L[m++]=a.y2,I[m++]=k,L[m++]=y,L[m++]=v*u+_*l+T,L[m++]=b*l+x*u+w,L[m++]=a.x3,L[m++]=a.y3,I[m++]=k,L[m++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var u=t.tilePosition.x/(a*t.tileScaleOffset.x),l=t.tilePosition.y/(h*t.tileScaleOffset.y),c=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-u,o.y0=0-l,o.x1=1*c-u,o.y1=0-l,o.x2=1*c-u,o.y2=1*d-l,o.x3=0-u,o.y3=1*d-l;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),m=this.positions,g=this.colors,y=t.width,v=t.height,x=t.anchor.x,_=t.anchor.y,b=y*(1-x),T=y*-x,w=v*(1-_),C=v*-_,S=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,A=E.a/P,R=E.b/P,M=E.c/P,I=E.d/P,L=E.tx,O=E.ty;m[S++]=A*T+M*C+L,m[S++]=I*C+R*T+O,m[S++]=o.x0,m[S++]=o.y0,g[S++]=f,m[S++]=r,m[S++]=A*b+M*C+L,m[S++]=I*C+R*b+O,m[S++]=o.x1,m[S++]=o.y1,g[S++]=f,m[S++]=r,m[S++]=A*b+M*w+L,m[S++]=I*w+R*b+O,m[S++]=o.x2,m[S++]=o.y2,g[S++]=f,m[S++]=r,m[S++]=A*T+M*w+L,m[S++]=I*w+R*T+O,m[S++]=o.x3,m[S++]=o.y3,g[S++]=f,m[S++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,u=0,l=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,m=!1,g=0,y=this.currentBatchSize;g0&&(v=!1),(f||m)&&(this.renderBatch(c,u,l),l=g,u=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),m)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.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},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var u=0;u0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.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},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.9.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,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,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,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||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[1]||{},h=2),u===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,u=t.radius,l=a+o*n,c=(n*(u*u)-o*(h*h)*(a-r)+h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),d=(n*(u*u)-o*(h*h)*(a-r)-h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),p=o*c+a,f=o*d+a,m=new i.Point(c,p),g=new i.Point(d,f),y=e.pointOnSegment(m.x,m.y,.01),v=e.pointOnSegment(g.x,g.y,.01);return y&&v?!s||[m,g]:y?!s||[m]:v?!s||[g]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(l-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,u=e.bottom,l=0;if(i>=o&&i<=h&&s>=a&&s<=u||n>=o&&n<=h&&r>=a&&r<=u)return!0;if(i=o){if((l=s+(r-s)*(o-i)/(n-i))>a&&l<=u)return!0}else if(i>h&&n<=h&&(l=s+(r-s)*(h-i)/(n-i))>=a&&l<=u)return!0;if(s=a){if((l=i+(n-i)*(a-s)/(r-s))>=o&&l<=h)return!0}else if(s>u&&r<=u&&(l=i+(n-i)*(u-s)/(r-s))>=o&&l<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,u=e.right,l=e.bottom,c=1/0;r[0].setTo(a,h,u,h),r[1].setTo(a,l,u,l),r[2].setTo(a,h,a,l),r[3].setTo(u,h,u,l);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},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(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.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+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.equalsXY=function(t,e,i){return t.x===e&&t.y===i},i.Point.fuzzyEquals=function(t,e,s){return i.Math.fuzzyEquals(t.x,e.x,s)&&i.Math.fuzzyEquals(t.y,e.y,s)},i.Point.fuzzyEqualsXY=function(t,e,s,n){return i.Math.fuzzyEquals(t.x,e,n)&&i.Math.fuzzyEquals(t.y,s,n)},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),u=h*t.x-a*t.y,l=a*t.x+h*t.y;t.x=u+e,t.y=l+s}else{var c=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(c),t.y=s+o*Math.sin(c)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),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.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.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.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.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(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(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[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),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&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(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: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&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(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.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._clearWorld=!0,this._clearCache=!0,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=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,u=e*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!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 e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),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(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(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(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),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));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),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))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,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 i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.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,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),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=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new i.Button(this.game,t,e,s,n,r,o,a,h,u))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,u){return new i.Button(this.game,t,e,s,n,r,o,a,h,u)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,u,l){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,u,l),null!==r&&this.onInputUp.add(r,o),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)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,u,l,c,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==u&&null!==u||(u=this._size.y),"number"==typeof l&&(this._rotate=l),"number"==typeof c&&(this._anchor.x=c),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-u*this._anchor.y,h,u),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.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},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=l=t[0],u=c=t[1];for(var m=s;ml&&(l=d),p>c&&(c=p);f=Math.max(l-h,c-u)}return i.EarCut.earcutLinked(o,a,s,h,u,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,u=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,u,l=t;t.prev!==t.next;)if(h=t.prev,u=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(u.i/s),i.EarCut.removeNode(t),t=u.next,l=u.next;else if((t=u)===l){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,c=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,u,e,s,n),p=i.EarCut.zOrder(l,c,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var u=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),u=i.EarCut.filterPoints(u,u.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(u,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,u,l=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,c=u),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,u=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,u*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,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(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var u=0;u=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(b=y-x,T=v-_,b/=M=Math.sqrt(b*b+T*T),T/=M,b*=F,T*=F,I.push(p-b,f-T),I.push(G,N,X,U),I.push(p+b,f+T),I.push(G,N,X,U),I.push(p-b,f-T),I.push(G,N,X,U),k++):(I.push(u,l),I.push(G,N,X,U),I.push(p-(u-p),f-(l-f)),I.push(G,N,X,U));for(c=n[2*(O-2)],d=n[2*(O-2)+1],p=n[2*(O-1)],y=-(d-(f=n[2*(O-1)+1])),v=c-p,y/=M=Math.sqrt(y*y+v*v),v/=M,y*=F,v*=F,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),L.push(D),s=0;sh?r:h,u=ol?o:l;s.push(a,u,h,u,h,l,a,l);var d=s.length/2;for(c=0;cP?P:S,e.beginPath(),e.moveTo(b,T+S),e.lineTo(b,T+C-S),e.quadraticCurveTo(b,T+C,b+S,T+C),e.lineTo(b+w-S,T+C),e.quadraticCurveTo(b+w,T+C,b+w,T+C-S),e.lineTo(b+w,T+S),e.quadraticCurveTo(b+w,T,b+w-S,T),e.lineTo(b+S,T),e.quadraticCurveTo(b,T,b,T+S),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nC?C:w,e.moveTo(x,_+w),e.lineTo(x,_+T-w),e.quadraticCurveTo(x,_+T,x+w,_+T),e.lineTo(x+b-w,_+T),e.quadraticCurveTo(x+b,_+T,x+b,_+T-w),e.lineTo(x+b,_+w),e.quadraticCurveTo(x+b,_,x+b-w,_),e.lineTo(x+w,_),e.quadraticCurveTo(x,_,x,_+w),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,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 i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nl*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var u=t+Math.cos(s)*i,l=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(u,l);for(var c=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),m=Math.sin(d),g=h-1,y=g%1/g,v=0;v<=g;v++){var x=d+s+p*(v+y*v),_=Math.cos(x),b=-Math.sin(x);c.push((f*_+m*b)*i+t,(f*-b+m*_)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sT?g:T,T=v>T?v:T,T=_>T?_:T,w=y>w?y:w,w=x>w?x:w,w=b>w?b:w,this._bounds.x=C,this._bounds.width=T-C,this._bounds.y=S,this._bounds.height=w-S,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+u:e,s=hn?h+l:n;else if(p===i.CIRCLE)a=r.x,h=r.y,u=r.radius+f/2,l=r.radius+f/2,t=a-ue?a+u:e,s=h-ln?h+l:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,u=r.width+f/2,l=r.height+f/2,t=a-ue?a+u:e,s=h-ln?h+l:n;else{o=r.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.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=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var u=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[u.id]=!1,this.textureBuffer=new PIXI.FilterTexture(u,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[u.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?u+=this.measureLine(e[a]):u+=this.context.measureText(e[a]).width,this.style.wordWrap&&(u-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),u=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var l=0,c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[c]):Math.ceil(this.context.measureText(h[c]).width),c>0&&(l+=i[c-1]),u=l+d}else for(c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?u+=this.measureLine(h[c]):u+=Math.ceil(this.context.measureText(h[c]).width),u+=this.game.math.snapToCeil(u,i)-u}s[a]=Math.ceil(u),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*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 g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}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(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ou){if(0===c){for(var m=p;m.length&&(m=m.slice(0,-1),!((f=e.measureText(m).width)<=u)););if(!m.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var g=d.substr(m.length);l[c]=g,h+=m}var y=l[c].length?c:c+1,v=l.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,u-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,u,l=n.getImageData(0,0,r,a).data,c=l.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(u=0;u0?this._maxWidth:null,u=[],l=0;l=h&&r>-1)return{width:o||n,text:i.substr(0,l-(l-r)),end:c,chars:u};n+=(p.xAdvance+m)*e,u.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:c,chars:u}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=l.width),n+=t.lineHeight*i,e=e.substr(l.text.length+1)}while(!1===l.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,u=0;u0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,u,l){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=u||0,this.offsetY=l||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=[],this.points=o,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,this.points=o,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var b=this.canvasPadding/this.worldTransform.a,T=this.canvasPadding/this.worldTransform.d,w=(u+l+c)/3,C=(d+p+f)/3,S=u-w,P=d-C,E=Math.sqrt(S*S+P*P);u=w+S/E*(E+b),d=C+P/E*(E+T),P=p-C,l=w+(S=l-w)/(E=Math.sqrt(S*S+P*P))*(E+b),p=C+P/E*(E+T),P=f-C,c=w+(S=c-w)/(E=Math.sqrt(S*S+P*P))*(E+b),f=C+P/E*(E+T)}t.save(),t.beginPath(),t.moveTo(u,d),t.lineTo(l,p),t.lineTo(c,f),t.closePath(),t.clip();var A=m*x+v*y+g*_-x*y-v*g-m*_,R=u*x+v*c+l*_-x*c-v*l-u*_,M=m*l+u*y+g*c-l*y-u*g-m*c,I=m*x*c+v*l*y+u*g*_-u*x*y-v*g*c-m*l*_,L=d*x+v*f+p*_-x*f-v*p-d*_,O=m*p+d*y+g*f-p*y-d*g-m*f,k=m*x*f+v*p*y+d*g*_-d*x*y-v*g*f-m*p*_;t.transform(R/A,L/A,M/A,O/A,I/A,k/A),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,u=y>u?y:u}if(l===-1/0||u===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=l,v.width=h-l,v.y=c,v.height=u-c,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,u=[],l=0;l(b=y>(b=m>(b=p>b?p:b)?m:b)?y:b)?x:b,T=_>(T=v>(T=g>(T=f>T?f:T)?g:T)?v:T)?_:T;var S=this._bounds;return S.x=w,S.width=b-w,S.y=C,S.height=T-C,this._currentBounds=S,S},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],u=0;u0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>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(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t){return this._tweens.some(function(e){return e.target===t})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,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 t=0;t0?(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(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.yoyoCounter=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*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 s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];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,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=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 t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.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(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},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(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),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=this.isReversed?this._frames.length-1: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)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=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._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),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)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===l||0===c||ll&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var u={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=i.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=i.LoaderParser.xmlBitmapFont(l,u.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=u}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,u){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var l={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(e,l)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(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,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var u=this._fileList[h];u.loading||u.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&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 n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()}},xhrLoadWithXDR:function(t,e,i,s,n){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 r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e: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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var u=t.getElementsByTagName("char"),l=n?n.x:0,c=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?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()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(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.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;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&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(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&&""===t?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)&&!1===this.game.cache.getSound(this.key).isDecoding&&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.game.sound.mute?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(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,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 e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,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(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&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 t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?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())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(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(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)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(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){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.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.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 t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},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(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var u={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var u=(h.red-a.red)*n/s+a.red,l=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),m=f.h-p.h;if(p.h>f.h){var g=f.h;f.h=p.h,p.h=g,m=-m,n=s-n}m>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),m<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),u=x.r,l=x.g,c=x.b}return i.Color.getColor32(r,u,l,c)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,u,l)},interpolateRGB:function(t,e,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(u,l,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},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}},i.Physics.prototype.constructor=i.Physics,i.Particles=function(t){this.game=t,this.emitters={},this.ID=0},i.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]},update:function(){for(var t in this.emitters)this.emitters[t].exists&&this.emitters[t].update()}},i.Particles.prototype.constructor=i.Particles,i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.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._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=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!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=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),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,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,t,e)),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.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?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.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 t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&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,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},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(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); +(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),u=null,l=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),u=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,u,0),(l=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[l]),a.width=i,a.height=s,a.targetTexture=u,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,u=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),u.a=i*h.a+s*h.c,u.b=i*h.b+s*h.d,u.c=n*h.a+r*h.c,u.d=n*h.b+r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,u.a=i*h.a,u.b=i*h.b,u.c=r*h.c,u.d=r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty),i=u.a,s=u.b,n=u.c;var l=i*(r=u.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=l/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=l/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=u.tx,this.worldPosition.y=u.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,u,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var m=(f=new s.Rectangle).x,g=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,_=x.a,b=x.b,T=x.c,w=x.d,C=x.tx,S=x.ty,P=_*g+T*v+C,E=w*v+b*g+S,A=_*m+T*v+C,R=w*v+b*m+S,M=_*m+T*y+C,I=w*y+b*m+S,L=_*g+T*y+C,O=w*y+b*g+S;c=P,d=E,l=E,u=L<(u=M<(u=A<(u=P)?A:u)?M:u)?L:u,l=O<(l=I<(l=R(c=M>(c=A>c?A:c)?M:c)?L:c,d=O>(d=I>(d=R>d?R:d)?I:d)?O:d}if(f.x=u,f.y=l,f.width=c-u,f.height=d-l,e)for(t.worldTransform=r,n=0;n(f=w>(f=b>(f=x>f?x:f)?b:f)?w:f)?S:f,m=P>(m=C>(m=T>(m=_>m?_:m)?T:m)?C:m)?P:m}var E=this._bounds;return E.x=g,E.width=f-g,E.y=y,E.height=m-y,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,u,l,c,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(u=f.x-d*f.width)+i.crop.width,l=(c=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),u=i.frame.width*-d,l=i.frame.height*(1-p),c=i.frame.height*-p;var m=this.currentBatchSize*this.vertexSize,g=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/g,x=o.b/g,_=o.c/g,b=o.d/g,T=o.tx,w=o.ty,C=(i.crop.width,i.crop.height);if(i.rotated){var S=o.a,P=o.b,E=o.c,A=o.d,R=u,M=h;T=o.c*C+T,w=o.d*C+w,v=6.123233995736766e-17*S-E,x=6.123233995736766e-17*P-A,_=S+6.123233995736766e-17*E,b=P+6.123233995736766e-17*A,i._updateUvsInverted(),h=l,u=c,l=M,c=R}var I=this.colors,L=this.positions,O=t.tint,k=(O>>16)+(65280&O)+((255&O)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(L[m++]=v*u+_*c+T|0,L[m++]=b*c+x*u+w|0,L[m++]=a.x0,L[m++]=a.y0,I[m++]=k,L[m++]=y,L[m++]=v*h+_*c+T|0,L[m++]=b*c+x*h+w|0,L[m++]=a.x1,L[m++]=a.y1,I[m++]=k,L[m++]=y,L[m++]=v*h+_*l+T|0,L[m++]=b*l+x*h+w|0,L[m++]=a.x2,L[m++]=a.y2,I[m++]=k,L[m++]=y,L[m++]=v*u+_*l+T|0,L[m++]=b*l+x*u+w|0,L[m++]=a.x3,L[m++]=a.y3,I[m++]=k,L[m++]=y):(L[m++]=v*u+_*c+T,L[m++]=b*c+x*u+w,L[m++]=a.x0,L[m++]=a.y0,I[m++]=k,L[m++]=y,L[m++]=v*h+_*c+T,L[m++]=b*c+x*h+w,L[m++]=a.x1,L[m++]=a.y1,I[m++]=k,L[m++]=y,L[m++]=v*h+_*l+T,L[m++]=b*l+x*h+w,L[m++]=a.x2,L[m++]=a.y2,I[m++]=k,L[m++]=y,L[m++]=v*u+_*l+T,L[m++]=b*l+x*u+w,L[m++]=a.x3,L[m++]=a.y3,I[m++]=k,L[m++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var u=t.tilePosition.x/(a*t.tileScaleOffset.x),l=t.tilePosition.y/(h*t.tileScaleOffset.y),c=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-u,o.y0=0-l,o.x1=1*c-u,o.y1=0-l,o.x2=1*c-u,o.y2=1*d-l,o.x3=0-u,o.y3=1*d-l;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),m=this.positions,g=this.colors,y=t.width,v=t.height,x=t.anchor.x,_=t.anchor.y,b=y*(1-x),T=y*-x,w=v*(1-_),C=v*-_,S=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,A=E.a/P,R=E.b/P,M=E.c/P,I=E.d/P,L=E.tx,O=E.ty;m[S++]=A*T+M*C+L,m[S++]=I*C+R*T+O,m[S++]=o.x0,m[S++]=o.y0,g[S++]=f,m[S++]=r,m[S++]=A*b+M*C+L,m[S++]=I*C+R*b+O,m[S++]=o.x1,m[S++]=o.y1,g[S++]=f,m[S++]=r,m[S++]=A*b+M*w+L,m[S++]=I*w+R*b+O,m[S++]=o.x2,m[S++]=o.y2,g[S++]=f,m[S++]=r,m[S++]=A*T+M*w+L,m[S++]=I*w+R*T+O,m[S++]=o.x3,m[S++]=o.y3,g[S++]=f,m[S++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,u=0,l=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,m=!1,g=0,y=this.currentBatchSize;g0&&(v=!1),(f||m)&&(this.renderBatch(c,u,l),l=g,u=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),m)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.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},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var u=0;u0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.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},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.9.1",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,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,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,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||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[1]||{},h=2),u===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,u=t.radius,l=a+o*n,c=(n*(u*u)-o*(h*h)*(a-r)+h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),d=(n*(u*u)-o*(h*h)*(a-r)-h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),p=o*c+a,f=o*d+a,m=new i.Point(c,p),g=new i.Point(d,f),y=e.pointOnSegment(m.x,m.y,.01),v=e.pointOnSegment(g.x,g.y,.01);return y&&v?!s||[m,g]:y?!s||[m]:v?!s||[g]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(l-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,u=e.bottom,l=0;if(i>=o&&i<=h&&s>=a&&s<=u||n>=o&&n<=h&&r>=a&&r<=u)return!0;if(i=o){if((l=s+(r-s)*(o-i)/(n-i))>a&&l<=u)return!0}else if(i>h&&n<=h&&(l=s+(r-s)*(h-i)/(n-i))>=a&&l<=u)return!0;if(s=a){if((l=i+(n-i)*(a-s)/(r-s))>=o&&l<=h)return!0}else if(s>u&&r<=u&&(l=i+(n-i)*(u-s)/(r-s))>=o&&l<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,u=e.right,l=e.bottom,c=1/0;r[0].setTo(a,h,u,h),r[1].setTo(a,l,u,l),r[2].setTo(a,h,a,l),r[3].setTo(u,h,u,l);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},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(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.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+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.equalsXY=function(t,e,i){return t.x===e&&t.y===i},i.Point.fuzzyEquals=function(t,e,s){return i.Math.fuzzyEquals(t.x,e.x,s)&&i.Math.fuzzyEquals(t.y,e.y,s)},i.Point.fuzzyEqualsXY=function(t,e,s,n){return i.Math.fuzzyEquals(t.x,e,n)&&i.Math.fuzzyEquals(t.y,s,n)},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),u=h*t.x-a*t.y,l=a*t.x+h*t.y;t.x=u+e,t.y=l+s}else{var c=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(c),t.y=s+o*Math.sin(c)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),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.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.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.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.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(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(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[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),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&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(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: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&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(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.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._clearWorld=!0,this._clearCache=!0,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=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,u=e*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!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 e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),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(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(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(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),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));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),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))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,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 i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.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,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),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=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new i.Button(this.game,t,e,s,n,r,o,a,h,u))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,u){return new i.Button(this.game,t,e,s,n,r,o,a,h,u)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,u,l){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,u,l),null!==r&&this.onInputUp.add(r,o),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)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,u,l,c,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==u&&null!==u||(u=this._size.y),"number"==typeof l&&(this._rotate=l),"number"==typeof c&&(this._anchor.x=c),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-u*this._anchor.y,h,u),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.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},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=l=t[0],u=c=t[1];for(var m=s;ml&&(l=d),p>c&&(c=p);f=Math.max(l-h,c-u)}return i.EarCut.earcutLinked(o,a,s,h,u,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,u=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,u,l=t;t.prev!==t.next;)if(h=t.prev,u=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(u.i/s),i.EarCut.removeNode(t),t=u.next,l=u.next;else if((t=u)===l){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,c=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,u,e,s,n),p=i.EarCut.zOrder(l,c,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var u=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),u=i.EarCut.filterPoints(u,u.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(u,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,u,l=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,c=u),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,u=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,u*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,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(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var u=0;u=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(b=y-x,T=v-_,b/=M=Math.sqrt(b*b+T*T),T/=M,b*=F,T*=F,I.push(p-b,f-T),I.push(G,N,X,U),I.push(p+b,f+T),I.push(G,N,X,U),I.push(p-b,f-T),I.push(G,N,X,U),k++):(I.push(u,l),I.push(G,N,X,U),I.push(p-(u-p),f-(l-f)),I.push(G,N,X,U));for(c=n[2*(O-2)],d=n[2*(O-2)+1],p=n[2*(O-1)],y=-(d-(f=n[2*(O-1)+1])),v=c-p,y/=M=Math.sqrt(y*y+v*v),v/=M,y*=F,v*=F,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),L.push(D),s=0;sh?r:h,u=ol?o:l;s.push(a,u,h,u,h,l,a,l);var d=s.length/2;for(c=0;cP?P:S,e.beginPath(),e.moveTo(b,T+S),e.lineTo(b,T+C-S),e.quadraticCurveTo(b,T+C,b+S,T+C),e.lineTo(b+w-S,T+C),e.quadraticCurveTo(b+w,T+C,b+w,T+C-S),e.lineTo(b+w,T+S),e.quadraticCurveTo(b+w,T,b+w-S,T),e.lineTo(b+S,T),e.quadraticCurveTo(b,T,b,T+S),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nC?C:w,e.moveTo(x,_+w),e.lineTo(x,_+T-w),e.quadraticCurveTo(x,_+T,x+w,_+T),e.lineTo(x+b-w,_+T),e.quadraticCurveTo(x+b,_+T,x+b,_+T-w),e.lineTo(x+b,_+w),e.quadraticCurveTo(x+b,_,x+b-w,_),e.lineTo(x+w,_),e.quadraticCurveTo(x,_,x,_+w),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,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 i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nl*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var u=t+Math.cos(s)*i,l=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(u,l);for(var c=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),m=Math.sin(d),g=h-1,y=g%1/g,v=0;v<=g;v++){var x=d+s+p*(v+y*v),_=Math.cos(x),b=-Math.sin(x);c.push((f*_+m*b)*i+t,(f*-b+m*_)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sT?g:T,T=v>T?v:T,T=_>T?_:T,w=y>w?y:w,w=x>w?x:w,w=b>w?b:w,this._bounds.x=C,this._bounds.width=T-C,this._bounds.y=S,this._bounds.height=w-S,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+u:e,s=hn?h+l:n;else if(p===i.CIRCLE)a=r.x,h=r.y,u=r.radius+f/2,l=r.radius+f/2,t=a-ue?a+u:e,s=h-ln?h+l:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,u=r.width+f/2,l=r.height+f/2,t=a-ue?a+u:e,s=h-ln?h+l:n;else{o=r.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.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=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var u=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[u.id]=!1,this.textureBuffer=new PIXI.FilterTexture(u,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[u.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?u+=this.measureLine(e[a]):u+=this.context.measureText(e[a]).width,this.style.wordWrap&&(u-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),u=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var l=0,c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[c]):Math.ceil(this.context.measureText(h[c]).width),c>0&&(l+=i[c-1]),u=l+d}else for(c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?u+=this.measureLine(h[c]):u+=Math.ceil(this.context.measureText(h[c]).width),u+=this.game.math.snapToCeil(u,i)-u}s[a]=Math.ceil(u),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*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 g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}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(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ou){if(0===c){for(var m=p;m.length&&(m=m.slice(0,-1),!((f=e.measureText(m).width)<=u)););if(!m.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var g=d.substr(m.length);l[c]=g,h+=m}var y=l[c].length?c:c+1,v=l.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,u-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,u,l=n.getImageData(0,0,r,a).data,c=l.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(u=0;u0?this._maxWidth:null,u=[],l=0;l=h&&r>-1)return{width:o||n,text:i.substr(0,l-(l-r)),end:c,chars:u};n+=(p.xAdvance+m)*e,u.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:c,chars:u}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=l.width),n+=t.lineHeight*i,e=e.substr(l.text.length+1)}while(!1===l.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,u=0;u0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,u,l){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=u||0,this.offsetY=l||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=[],this.points=o,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,this.points=o,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var b=this.canvasPadding/this.worldTransform.a,T=this.canvasPadding/this.worldTransform.d,w=(u+l+c)/3,C=(d+p+f)/3,S=u-w,P=d-C,E=Math.sqrt(S*S+P*P);u=w+S/E*(E+b),d=C+P/E*(E+T),P=p-C,l=w+(S=l-w)/(E=Math.sqrt(S*S+P*P))*(E+b),p=C+P/E*(E+T),P=f-C,c=w+(S=c-w)/(E=Math.sqrt(S*S+P*P))*(E+b),f=C+P/E*(E+T)}t.save(),t.beginPath(),t.moveTo(u,d),t.lineTo(l,p),t.lineTo(c,f),t.closePath(),t.clip();var A=m*x+v*y+g*_-x*y-v*g-m*_,R=u*x+v*c+l*_-x*c-v*l-u*_,M=m*l+u*y+g*c-l*y-u*g-m*c,I=m*x*c+v*l*y+u*g*_-u*x*y-v*g*c-m*l*_,L=d*x+v*f+p*_-x*f-v*p-d*_,O=m*p+d*y+g*f-p*y-d*g-m*f,k=m*x*f+v*p*y+d*g*_-d*x*y-v*g*f-m*p*_;t.transform(R/A,L/A,M/A,O/A,I/A,k/A),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,u=y>u?y:u}if(l===-1/0||u===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=l,v.width=h-l,v.y=c,v.height=u-c,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,u=[],l=0;l(b=y>(b=m>(b=p>b?p:b)?m:b)?y:b)?x:b,T=_>(T=v>(T=g>(T=f>T?f:T)?g:T)?v:T)?_:T;var S=this._bounds;return S.x=w,S.width=b-w,S.y=C,S.height=T-C,this._currentBounds=S,S},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],u=0;u0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>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(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t){return this._tweens.some(function(e){return e.target===t})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,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 t=0;t0?(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(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.yoyoCounter=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*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 s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];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,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=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 t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.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(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},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(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),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=this.isReversed?this._frames.length-1: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)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=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._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),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)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===l||0===c||ll&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var u={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=i.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=i.LoaderParser.xmlBitmapFont(l,u.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=u}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,u){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var l={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(e,l)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(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,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var u=this._fileList[h];u.loading||u.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&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 n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()}},xhrLoadWithXDR:function(t,e,i,s,n){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 r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e: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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var u=t.getElementsByTagName("char"),l=n?n.x:0,c=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?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()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(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.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;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&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(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&&""===t?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)&&!1===this.game.cache.getSound(this.key).isDecoding&&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.game.sound.mute?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(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,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 e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,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(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&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 t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?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())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(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(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)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(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){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.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.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 t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},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(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var u={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var u=(h.red-a.red)*n/s+a.red,l=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),m=f.h-p.h;if(p.h>f.h){var g=f.h;f.h=p.h,p.h=g,m=-m,n=s-n}m>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),m<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),u=x.r,l=x.g,c=x.b}return i.Color.getColor32(r,u,l,c)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,u,l)},interpolateRGB:function(t,e,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(u,l,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},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}},i.Physics.prototype.constructor=i.Physics,i.Particles=function(t){this.game=t,this.emitters={},this.ID=0},i.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]},update:function(){for(var t in this.emitters)this.emitters[t].exists&&this.emitters[t].update()}},i.Particles.prototype.constructor=i.Particles,i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.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._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=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!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=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),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,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,t,e)),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.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?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.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 t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&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,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},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(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); //# sourceMappingURL=phaser-no-physics.map \ No newline at end of file diff --git a/build/custom/phaser-split.js b/build/custom/phaser-split.js index 56245f937..395a5facb 100644 --- a/build/custom/phaser-split.js +++ b/build/custom/phaser-split.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.9.0 "2017-10-08" - Built: Sun Oct 08 2017 19:21:22 +* v2.9.1 "2017-10-10" - Built: Tue Oct 10 2017 11:18:15 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -53,7 +53,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.9.0', + VERSION: '2.9.1', /** * An array of Phaser game instances. @@ -77770,15 +77770,29 @@ Phaser.Tilemap.prototype = { if (typeof indexes === 'number') { - // This may seem a bit wasteful, because it will cause empty array elements to be created, but the look-up cost is much - // less than having to iterate through the callbacks array hunting down tile indexes each frame, so I'll take the small memory hit. - this.layers[layer].callbacks[indexes] = { callback: callback, callbackContext: callbackContext }; + if (callback === null) + { + delete this.layers[layer].callbacks[indexes]; + } + else + { + // This may seem a bit wasteful, because it will cause empty array elements to be created, but the look-up cost is much + // less than having to iterate through the callbacks array hunting down tile indexes each frame, so I'll take the small memory hit. + this.layers[layer].callbacks[indexes] = { callback: callback, callbackContext: callbackContext }; + } } else { for (var i = 0, len = indexes.length; i < len; i++) { - this.layers[layer].callbacks[indexes[i]] = { callback: callback, callbackContext: callbackContext }; + if (callback === null) + { + delete this.layers[layer].callbacks[indexes[i]]; + } + else + { + this.layers[layer].callbacks[indexes[i]] = { callback: callback, callbackContext: callbackContext }; + } } } @@ -81942,8 +81956,8 @@ Phaser.Particles.Arcade.Emitter.prototype.constructor = Phaser.Particles.Arcade. */ Phaser.Particles.Arcade.Emitter.prototype.update = function () { - this.count.emitted = 0; - this.count.failed = 0; + this.counts.emitted = 0; + this.counts.failed = 0; if (this.on && this.game.time.time >= this._timer) { @@ -82269,14 +82283,14 @@ Phaser.Particles.Arcade.Emitter.prototype.emitParticle = function (x, y, key, fr if (particle === null) { - this.count.failed++; - this.count.totalFailed++; + this.counts.failed++; + this.counts.totalFailed++; return false; } - this.count.emitted++; - this.count.totalEmitted++; + this.counts.emitted++; + this.counts.totalEmitted++; var rnd = this.game.rnd; diff --git a/build/custom/phaser-split.map b/build/custom/phaser-split.map index d87ef8134..afeb65d63 100644 --- a/build/custom/phaser-split.map +++ b/build/custom/phaser-split.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-split.js"],"names":["WheelEventProxy","scaleFactor","deltaMode","this","_scaleFactor","_deltaMode","originalEvent","root","Phaser","VERSION","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","WEBGL_MULTI","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","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","blendModes","NORMAL","ADD","MULTIPLY","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","scaleModes","DEFAULT","LINEAR","NEAREST","PIXI","_UID","Math","trunc","x","ceil","floor","Function","prototype","bind","slice","Array","thisArg","bound","args","boundArgs","concat","call","arguments","target","apply","TypeError","F","proto","isArray","arg","Object","toString","forEach","fun","t","len","length","i","window","Uint32Array","CheapArray","type","constructor","console","log","assert","warn","assign","varArgs","to","hasOwn","hasOwnProperty","index","nextSource","nextKey","Utils","reverseString","string","split","reverse","join","getProperty","obj","prop","parts","val","key","setProperties","props","name","setProperty","value","_setProperty","currentObj","chanceRoll","chance","undefined","random","randomChoice","choice1","choice2","parseDimension","size","dimension","f","px","substr","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","e","extend","options","src","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","get","set","defineProperty","from","o","childNodes","cloneNode","Circle","y","diameter","_diameter","_radius","circumference","PI","out","Point","u","r","cos","sin","radius","getBounds","Rectangle","setTo","copyFrom","source","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","PI2","linear","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","h","k","m","end","start","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","normx","normy","Line","x2","y2","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","Infinity","edge","normalAngle","Matrix","d","fromArray","array","matrix","toArray","transpose","Float32Array","pos","newPos","applyInverse","id","translate","scale","tx1","append","d1","identity","identityMatrix","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","clip","equalsXY","fuzzyEquals","fuzzyEqualsXY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","game","world","view","bounds","deadzone","visible","roundPx","atLimit","displayObject","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","_shake","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","camera","Graphics","stage","addChild","preUpdate","follow","style","lerpX","lerpY","helper","w","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","color","alpha","clear","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","worldPosition","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","preRender","render","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","context","save","setTransform","restore","_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","uniforms","fragmentSrc","passes","shaders","dirty","padding","prevPoint","Date","resolution","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","textureData","repeat","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","image","Cache","anchor","filters","syncUniforms","Plugin","parent","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","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","z","physicsType","alive","ignoreDestroy","pendingDestroy","classType","Sprite","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","addChildAt","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","count","countLiving","countDead","getRandom","startIndex","ArrayUtils","getRandomItem","getRandomExists","endIndex","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","removed","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","rotation","World","_definedSize","_width","_height","stateChange","setBounds","sprite","useBounds","_currentBounds","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","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","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","webGL","CanvasRenderer","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","refresh","timeStep","enableStep","disableStep","step","stop","removeFromDOM","defaultRenderer","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","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","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","wt","hitTest","localPoint","worldVisible","hitArea","Creature","TileSprite","texture","baseTexture","graphicsData","data","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","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","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","startStop","condition","padFloat","justPressed","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","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","ignoreChildInput","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","worldScale","checkPixel","trim","crop","_dx","_dy","clearRect","drawImage","getImageData","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","offsetX","offsetY","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","navigator","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","_rawPad","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","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","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","ONE","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","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","cw","ch","_updateUvs","tint","requiresReTint","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","setFrame","scaleMode","RenderTexture","setTexture","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","valid","Tilemap","TilemapLayer","Texture","fromCanvas","img","getImage","base","skipRender","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","rotated","tilingTexture","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","minX","minY","maxX","maxY","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","spriteBatch","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","graphics","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","renderTexture","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","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","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","fastSpriteBatch","ready","_renderWebGL","renderSession","WebGLFastSpriteBatch","gl","setContext","shaderManager","setShader","fastShader","begin","_renderCanvas","globalAlpha","displayObjectUpdateTransform","transform","isRotated","shakeX","shakeY","childTransform","roundPixels","skipPool","ctx","smoothProperty","getSmoothingPrefix","imageData","pixels","buffer","ArrayBuffer","BaseTexture","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","fillStyle","fillRect","generateTexture","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","putImageData","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","scan","scaleX","scaleY","newWidth","newHeight","blendMode","getCanvas","cachedTint","tintedTexture","CanvasTinter","getTintedTexture","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","CanvasGraphics","renderGraphics","worldRotation","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","globalCompositeOperation","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","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","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","WebGLGraphics","stencilBufferLimit","webGLData","projection","shader","primitiveShader","updateGraphics","_webGL","mode","stencilManager","pushStencil","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","indices","popStencil","uniformMatrix3fv","translationMatrix","uniform1f","flipY","uniform2f","projectionVector","offsetVector","uniform3fv","tintColor","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","aVertexPosition","FLOAT","colorAttribute","ELEMENT_ARRAY_BUFFER","indexBuffer","TRIANGLE_STRIP","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","pop","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","createBuffer","glPoints","bufferData","STATIC_DRAW","glIndicies","Uint16Array","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","renderGraphicsMask","tintR","tintG","tintB","GraphicsData","currentPath","isMask","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","vertices","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","CanvasBuffer","_cacheAsBitmap","_generateCachedSprite","updateCachedSpriteTexture","_cachedSprite","blendModeManager","setBlendMode","maskManager","pushMask","_filters","filterManager","pushFilter","_filterBlock","currentBlendMode","blendModeWebGL","blendModesWebGL","blendFunc","popFilter","popMask","drawCount","_prevTint","blendModesCanvas","w0","w1","h0","h1","x3","y3","x4","y4","getLocalBounds","matrixCache","tempPoint","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","isCocoonJS","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","updateTexture","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","pivot","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","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","uvs","canvasPadding","drawMode","TRIANGLES","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","stripShader","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","DYNAMIC_DRAW","aTextureCoord","activeTexture","TEXTURE0","bindTexture","TEXTURE_2D","bufferSubData","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","index1","index2","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","flush","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","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","item","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","error","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","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","HALF_PI","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","isPowerOfTwo","temp","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","range","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","level","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","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","pendingDelete","_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","complete","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","yoyoCounter","ms","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","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","attributes","autoResolveURL","_cache","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","format","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","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","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","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","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","exkey","compression","extensions","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","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","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","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","pvr","compressionAlgorithm","uintArray","byteArray","pvrHeader","pixelFormat","glExtensionFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","subarray","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","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","hasPhaserSetFullScreen","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","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","pageAlignHorizontally","pageAlignVertically","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","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","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","currentBatchedTextures","maxTextures","maxTextureSize","maxTextureAvailableSpace","canvasPool","phaser","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","row","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","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","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","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","center","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","Spring","broadphase","SAPBroadphase","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","on","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","removeBody","setImpactEvents","impactHandler","off","setPostBroadphaseCallback","postBroadphaseHandler","pairs","bodyA","bodyB","_bodyCallbacks","_bodyCallbackContext","shapeA","shapeB","_groupCallbacks","collisionGroup","_groupCallbackContext","contactEquations","setCollisionGroup","setWorldMaterial","material","shapes","updateBoundsCollisionGroup","setupWall","wall","addShape","Plane","addBody","fixedStepTime","solver","equations","removeAllEquations","cs","constraints","removeConstraint","bodies","springs","removeSpring","cms","contactMaterials","removeContactMaterial","impactCallback","addSpring","spring","RotationalSpring","createDistanceConstraint","localAnchorA","localAnchorB","maxForce","getBody","addConstraint","DistanceConstraint","createGearConstraint","ratio","GearConstraint","createRevoluteConstraint","pivotA","pivotB","worldPivot","RevoluteConstraint","createLockConstraint","LockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","PrismaticConstraint","constraint","addContactMaterial","getContactMaterial","materialA","materialB","setMaterial","createMaterial","Material","createContactMaterial","contact","ContactMaterial","getBodies","getSprings","getConstraints","worldPoint","precision","filterStatic","physicsPosition","query","STATIC","toJSON","createCollisionGroup","bitmask","collisionMask","createSpring","restLength","stiffness","damping","worldA","worldB","localA","localB","createRotationalSpring","restAngle","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","polygon","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","defaultContactMaterial","restitution","applySpringForces","applyDamping","applyGravity","solveConstraints","emitImpactEvent","sleepMode","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","sensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","adjustCenterOfMass","shapeChanged","getVelocityAtPoint","relativePoint","applyImpulse","impulse","applyImpulseLocal","localX","localY","applyForce","setZeroForce","setZeroRotation","setZeroVelocity","setZeroDamping","angularDamping","toLocalFrame","toWorldFrame","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","fixedRotation","updateSpriteTransform","resetDamping","resetMass","clearShapes","removeShape","addCircle","Box","addPlane","addParticle","Particle","addLine","addCapsule","Capsule","fromPolygon","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","aabbNeedsUpdate","generatedShapes","categoryBits","maskBits","isSensor","vec2","polygons","cm","Convex","sub","centerOfMass","updateTriangles","updateCenterOfMass","updateBoundingRadius","loadPolygon","DYNAMIC","KINEMATIC","allowSleep","angularForce","inertia","updateMassProperties","sleepSpeedLimit","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","worldAnchorA","worldAnchorB","LinearSpring","localOffsetB","localAngleB","localAxisA","disableRotationalLock","localPivotA","localPivotB","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","version","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","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","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","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","requiresUpdate","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","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","positions","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","emptyTexture","DisplayObject","TextureSilentFail","canUseNewCanvasBlendModes","exports","module","define","amd"],"mappings":"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","file":"phaser-split.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser-split.js"],"names":["WheelEventProxy","scaleFactor","deltaMode","this","_scaleFactor","_deltaMode","originalEvent","root","Phaser","VERSION","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","WEBGL_MULTI","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","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","blendModes","NORMAL","ADD","MULTIPLY","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","scaleModes","DEFAULT","LINEAR","NEAREST","PIXI","_UID","Math","trunc","x","ceil","floor","Function","prototype","bind","slice","Array","thisArg","bound","args","boundArgs","concat","call","arguments","target","apply","TypeError","F","proto","isArray","arg","Object","toString","forEach","fun","t","len","length","i","window","Uint32Array","CheapArray","type","constructor","console","log","assert","warn","assign","varArgs","to","hasOwn","hasOwnProperty","index","nextSource","nextKey","Utils","reverseString","string","split","reverse","join","getProperty","obj","prop","parts","val","key","setProperties","props","name","setProperty","value","_setProperty","currentObj","chanceRoll","chance","undefined","random","randomChoice","choice1","choice2","parseDimension","size","dimension","f","px","substr","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","e","extend","options","src","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","get","set","defineProperty","from","o","childNodes","cloneNode","Circle","y","diameter","_diameter","_radius","circumference","PI","out","Point","u","r","cos","sin","radius","getBounds","Rectangle","setTo","copyFrom","source","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","PI2","linear","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","h","k","m","end","start","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","normx","normy","Line","x2","y2","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","Infinity","edge","normalAngle","Matrix","d","fromArray","array","matrix","toArray","transpose","Float32Array","pos","newPos","applyInverse","id","translate","scale","tx1","append","d1","identity","identityMatrix","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","clip","equalsXY","fuzzyEquals","fuzzyEqualsXY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","game","world","view","bounds","deadzone","visible","roundPx","atLimit","displayObject","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","_shake","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","camera","Graphics","stage","addChild","preUpdate","follow","style","lerpX","lerpY","helper","w","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","color","alpha","clear","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","worldPosition","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","preRender","render","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","context","save","setTransform","restore","_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","uniforms","fragmentSrc","passes","shaders","dirty","padding","prevPoint","Date","resolution","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","textureData","repeat","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","image","Cache","anchor","filters","syncUniforms","Plugin","parent","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","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","z","physicsType","alive","ignoreDestroy","pendingDestroy","classType","Sprite","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","addChildAt","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","count","countLiving","countDead","getRandom","startIndex","ArrayUtils","getRandomItem","getRandomExists","endIndex","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","removed","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","rotation","World","_definedSize","_width","_height","stateChange","setBounds","sprite","useBounds","_currentBounds","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","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","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","webGL","CanvasRenderer","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","refresh","timeStep","enableStep","disableStep","step","stop","removeFromDOM","defaultRenderer","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","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","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","wt","hitTest","localPoint","worldVisible","hitArea","Creature","TileSprite","texture","baseTexture","graphicsData","data","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","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","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","startStop","condition","padFloat","justPressed","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","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","ignoreChildInput","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","worldScale","checkPixel","trim","crop","_dx","_dy","clearRect","drawImage","getImageData","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","offsetX","offsetY","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","navigator","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","_rawPad","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","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","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","ONE","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","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","cw","ch","_updateUvs","tint","requiresReTint","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","setFrame","scaleMode","RenderTexture","setTexture","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","valid","Tilemap","TilemapLayer","Texture","fromCanvas","img","getImage","base","skipRender","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","rotated","tilingTexture","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","minX","minY","maxX","maxY","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","spriteBatch","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","graphics","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","renderTexture","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","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","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","fastSpriteBatch","ready","_renderWebGL","renderSession","WebGLFastSpriteBatch","gl","setContext","shaderManager","setShader","fastShader","begin","_renderCanvas","globalAlpha","displayObjectUpdateTransform","transform","isRotated","shakeX","shakeY","childTransform","roundPixels","skipPool","ctx","smoothProperty","getSmoothingPrefix","imageData","pixels","buffer","ArrayBuffer","BaseTexture","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","fillStyle","fillRect","generateTexture","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","putImageData","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","scan","scaleX","scaleY","newWidth","newHeight","blendMode","getCanvas","cachedTint","tintedTexture","CanvasTinter","getTintedTexture","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","CanvasGraphics","renderGraphics","worldRotation","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","globalCompositeOperation","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","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","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","WebGLGraphics","stencilBufferLimit","webGLData","projection","shader","primitiveShader","updateGraphics","_webGL","mode","stencilManager","pushStencil","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","indices","popStencil","uniformMatrix3fv","translationMatrix","uniform1f","flipY","uniform2f","projectionVector","offsetVector","uniform3fv","tintColor","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","aVertexPosition","FLOAT","colorAttribute","ELEMENT_ARRAY_BUFFER","indexBuffer","TRIANGLE_STRIP","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","pop","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","createBuffer","glPoints","bufferData","STATIC_DRAW","glIndicies","Uint16Array","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","renderGraphicsMask","tintR","tintG","tintB","GraphicsData","currentPath","isMask","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","vertices","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","CanvasBuffer","_cacheAsBitmap","_generateCachedSprite","updateCachedSpriteTexture","_cachedSprite","blendModeManager","setBlendMode","maskManager","pushMask","_filters","filterManager","pushFilter","_filterBlock","currentBlendMode","blendModeWebGL","blendModesWebGL","blendFunc","popFilter","popMask","drawCount","_prevTint","blendModesCanvas","w0","w1","h0","h1","x3","y3","x4","y4","getLocalBounds","matrixCache","tempPoint","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","isCocoonJS","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","updateTexture","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","pivot","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","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","uvs","canvasPadding","drawMode","TRIANGLES","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","stripShader","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","DYNAMIC_DRAW","aTextureCoord","activeTexture","TEXTURE0","bindTexture","TEXTURE_2D","bufferSubData","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","index1","index2","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","flush","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","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","item","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","error","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","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","HALF_PI","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","isPowerOfTwo","temp","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","range","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","level","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","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","pendingDelete","_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","complete","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","yoyoCounter","ms","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","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","attributes","autoResolveURL","_cache","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","format","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","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","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","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","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","exkey","compression","extensions","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","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","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","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","pvr","compressionAlgorithm","uintArray","byteArray","pvrHeader","pixelFormat","glExtensionFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","subarray","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","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","hasPhaserSetFullScreen","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","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","pageAlignHorizontally","pageAlignVertically","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","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","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","currentBatchedTextures","maxTextures","maxTextureSize","maxTextureAvailableSpace","canvasPool","phaser","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","row","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","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","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","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","center","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","Spring","broadphase","SAPBroadphase","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","on","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","removeBody","setImpactEvents","impactHandler","off","setPostBroadphaseCallback","postBroadphaseHandler","pairs","bodyA","bodyB","_bodyCallbacks","_bodyCallbackContext","shapeA","shapeB","_groupCallbacks","collisionGroup","_groupCallbackContext","contactEquations","setCollisionGroup","setWorldMaterial","material","shapes","updateBoundsCollisionGroup","setupWall","wall","addShape","Plane","addBody","fixedStepTime","solver","equations","removeAllEquations","cs","constraints","removeConstraint","bodies","springs","removeSpring","cms","contactMaterials","removeContactMaterial","impactCallback","addSpring","spring","RotationalSpring","createDistanceConstraint","localAnchorA","localAnchorB","maxForce","getBody","addConstraint","DistanceConstraint","createGearConstraint","ratio","GearConstraint","createRevoluteConstraint","pivotA","pivotB","worldPivot","RevoluteConstraint","createLockConstraint","LockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","PrismaticConstraint","constraint","addContactMaterial","getContactMaterial","materialA","materialB","setMaterial","createMaterial","Material","createContactMaterial","contact","ContactMaterial","getBodies","getSprings","getConstraints","worldPoint","precision","filterStatic","physicsPosition","query","STATIC","toJSON","createCollisionGroup","bitmask","collisionMask","createSpring","restLength","stiffness","damping","worldA","worldB","localA","localB","createRotationalSpring","restAngle","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","polygon","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","defaultContactMaterial","restitution","applySpringForces","applyDamping","applyGravity","solveConstraints","emitImpactEvent","sleepMode","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","sensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","adjustCenterOfMass","shapeChanged","getVelocityAtPoint","relativePoint","applyImpulse","impulse","applyImpulseLocal","localX","localY","applyForce","setZeroForce","setZeroRotation","setZeroVelocity","setZeroDamping","angularDamping","toLocalFrame","toWorldFrame","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","fixedRotation","updateSpriteTransform","resetDamping","resetMass","clearShapes","removeShape","addCircle","Box","addPlane","addParticle","Particle","addLine","addCapsule","Capsule","fromPolygon","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","aabbNeedsUpdate","generatedShapes","categoryBits","maskBits","isSensor","vec2","polygons","cm","Convex","sub","centerOfMass","updateTriangles","updateCenterOfMass","updateBoundingRadius","loadPolygon","DYNAMIC","KINEMATIC","allowSleep","angularForce","inertia","updateMassProperties","sleepSpeedLimit","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","worldAnchorA","worldAnchorB","LinearSpring","localOffsetB","localAngleB","localAxisA","disableRotationalLock","localPivotA","localPivotB","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","version","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","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","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","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","requiresUpdate","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","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","positions","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","emptyTexture","DisplayObject","TextureSilentFail","canUseNewCanvasBlendModes","exports","module","define","amd"],"mappings":";;CAmCA,WAo8gBA,SAASA,EAAiBC,EAAaC,GAMnCC,KAAKC,aAAeH,EAMpBE,KAAKE,WAAaH,EAMlBC,KAAKG,cAAgB,KAp9gBrB,IAAIC,EAAOJ,KAWXK,EAASA,IAOTC,QAAS,QAOTC,SAOAC,KAAM,EAONC,OAAQ,EAORC,MAAO,EAOPC,SAAU,EAOVC,YAAa,EAObC,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,GAOPC,eAAgB,EAOhBC,WAAY,EAOZC,SAAU,EAOVC,UAAW,EAOXC,SAAU,EAOVC,SAAU,IAOVC,WAAY,GAOZC,WAAY,IAOZC,YAAa,EAObC,iBAAkB,IAOlBC,iBAAkB,IAOlBC,iBAAkB,GAOlBC,iBAAkB,IAOlBC,SAAU,EAOVC,WAAY,EAOZC,UAAW,EAOXC,SAAU,EAOVC,YAAa,EAObC,YAAa,EAObC,OAAQ,EAORC,UAAW,EAOXC,aAAc,EAOdC,aAAc,EAOdC,YAAa,GAObC,cAAe,GAOfC,aAAc,GA2BdC,YACIC,OAAQ,EACRC,IAAK,EACLC,SAAU,EACVC,OAAQ,EACRC,QAAS,EACTC,OAAQ,EACRC,QAAS,EACTC,YAAa,EACbC,WAAY,EACZC,WAAY,EACZC,WAAY,GACZC,WAAY,GACZC,UAAW,GACXC,IAAK,GACLC,WAAY,GACZC,MAAO,GACPC,WAAY,IAehBC,YACIC,QAAS,EACTC,OAAQ,EACRC,QAAS,GAGbC,KAAMA,SAGNC,KAAM,GA6GV,GAnGKC,KAAKC,QACND,KAAKC,MAAQ,SAAeC,GACxB,OAAOA,EAAI,EAAIF,KAAKG,KAAKD,GAAKF,KAAKI,MAAMF,KAO5CG,SAASC,UAAUC,OAGpBF,SAASC,UAAUC,KAAO,WAEtB,IAAIC,EAAQC,MAAMH,UAAUE,MAE5B,OAAO,SAAUE,GASb,SAASC,IACL,IAAIC,EAAOC,EAAUC,OAAON,EAAMO,KAAKC,YACvCC,EAAOC,MAAMnH,gBAAgB4G,EAAQ5G,KAAO2G,EAASE,GATzD,IAAIK,EAASlH,KAAM8G,EAAYL,EAAMO,KAAKC,UAAW,GAErD,GAAsB,mBAAXC,EAEP,MAAM,IAAIE,UAqBd,OAbAR,EAAML,UAAY,SAAUc,EAAEC,GAM1B,GALIA,IAEAD,EAAEd,UAAYe,KAGZtH,gBAAgBqH,GAGlB,OAAO,IAAIA,EATD,CAWfH,EAAOX,WAEHK,GA/BW,IAuCzBF,MAAMa,UAEPb,MAAMa,QAAU,SAAUC,GAEtB,MAA+C,mBAAxCC,OAAOlB,UAAUmB,SAASV,KAAKQ,KAQzCd,MAAMH,UAAUoB,UAEjBjB,MAAMH,UAAUoB,QAAU,SAASC,GAE/B,aAEA,QAAa,IAAT5H,MAA4B,OAATA,KAEnB,MAAM,IAAIoH,UAGd,IAAIS,EAAIJ,OAAOzH,MACX8H,EAAMD,EAAEE,SAAW,EAEvB,GAAmB,mBAARH,EAEP,MAAM,IAAIR,UAKd,IAAK,IAFDT,EAAUM,UAAUc,QAAU,EAAId,UAAU,QAAK,EAE5Ce,EAAI,EAAGA,EAAIF,EAAKE,IAEjBA,KAAKH,GAELD,EAAIZ,KAAKL,EAASkB,EAAEG,GAAIA,EAAGH,KAWT,mBAAvBI,OAAOC,aAA4D,iBAAvBD,OAAOC,YAC9D,CACI,IAAIC,EAAa,SAASC,GAEtB,IAAId,EAAQ,IAAIZ,MAEhBuB,OAAOG,GAAQ,SAASZ,GAEpB,GAAoB,iBAAV,EACV,CACId,MAAMM,KAAKhH,KAAMwH,GACjBxH,KAAK+H,OAASP,EAEd,IAASQ,EAAI,EAAGA,EAAIhI,KAAK+H,OAAQC,IAE7BhI,KAAKgI,GAAK,MAIlB,CACItB,MAAMM,KAAKhH,KAAMwH,EAAIO,QAErB/H,KAAK+H,OAASP,EAAIO,OAElB,IAAK,IAAIC,EAAI,EAAGA,EAAIhI,KAAK+H,OAAQC,IAE7BhI,KAAKgI,GAAKR,EAAIQ,KAK1BC,OAAOG,GAAM7B,UAAYe,EACzBW,OAAOG,GAAMC,YAAcJ,OAAOG,IAGtCD,EAAW,gBACXA,EAAW,eACXA,EAAW,eACXA,EAAW,cACXA,EAAW,eAMVF,OAAOK,UAERL,OAAOK,WACPL,OAAOK,QAAQC,IAAMN,OAAOK,QAAQE,OAAS,aAC7CP,OAAOK,QAAQG,KAAOR,OAAOK,QAAQE,OAAS,cAO7Cf,OAAOiB,SAGRjB,OAAOiB,OAAS,SAASxB,EAAQyB,GAE7B,aACA,GAAc,MAAVzB,EACA,MAAM,IAAIE,UAAU,8CAMxB,IAAK,IAHDwB,EAAKnB,OAAOP,GACZ2B,EAASpB,OAAOlB,UAAUuC,eAErBC,EAAQ,EAAGA,EAAQ9B,UAAUc,OAAQgB,IAAS,CACnD,IAAIC,EAAa/B,UAAU8B,GAE3B,GAAkB,MAAdC,EACA,IAAK,IAAIC,KAAWD,EAEZH,EAAO7B,KAAKgC,EAAYC,KACxBL,EAAGK,GAAWD,EAAWC,IAKzC,OAAOL,IAcfvI,EAAO6I,OAUHC,cAAe,SAAUC,GAErB,OAAOA,EAAOC,MAAM,IAAIC,UAAUC,KAAK,KAY3CC,YAAa,SAASC,EAAKC,GAOvB,IALA,IAAIC,EAAQD,EAAKL,MAAM,KACnBvB,EAAM6B,EAAM5B,OACZC,EAAI,EACJ4B,EAAMH,EAEHzB,EAAIF,GACX,CACI,IAAI+B,EAAMF,EAAM3B,GAEhB,GAAW,MAAP4B,EAOA,OALAA,EAAMA,EAAIC,GACV7B,IAQR,OAAO4B,GAoBXE,cAAe,SAASL,EAAKM,GAEzB,IAAK,IAAIC,KAAQD,EAEb/J,KAAKiK,YAAYR,EAAKO,EAAMD,EAAMC,IAGtC,OAAOP,GAkBXQ,YAAa,SAASR,EAAKO,EAAME,GAE7B,IAAIP,EAAQK,EAAKX,MAAM,KAEvB,OAAQM,EAAM5B,QAEV,KAAK,EACD0B,EAAIO,GAAQE,EACZ,MACJ,KAAK,EACDT,EAAIE,EAAM,IAAIA,EAAM,IAAMO,EAC1B,MACJ,KAAK,EACDT,EAAIE,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAMO,EACpC,MACJ,KAAK,EACDT,EAAIE,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAMO,EAC9C,MACJ,QACIlK,KAAKmK,aAAaV,EAAKO,EAAME,KAczCC,aAAc,SAASV,EAAKO,EAAME,GAE9B,IAAIP,EAAQK,EAAKX,MAAM,KACnBvB,EAAM6B,EAAM5B,OACZC,EAAI,EACJoC,EAAaX,EACbI,EAAMF,EAAM,GAEhB,GAAY,IAAR7B,EAEA2B,EAAIO,GAAQE,MAGhB,CACI,KAAOlC,EAAKF,EAAM,GAEdsC,EAAaA,EAAWP,GAExBA,EAAMF,IADN3B,GAIJoC,EAAWP,GAAOK,EAGtB,OAAOT,GAcXY,WAAY,SAAUC,GAElB,YADeC,IAAXD,IAAwBA,EAAS,IAC9BA,EAAS,GAAsB,IAAhBrE,KAAKuE,UAAkBF,GAWjDG,aAAc,SAAUC,EAASC,GAC7B,OAAQ1E,KAAKuE,SAAW,GAAOE,EAAUC,GAW7CC,eAAgB,SAAUC,EAAMC,GAE5B,IAAIC,EAAI,EACJC,EAAK,EA4BT,MA1BoB,iBAATH,EAGiB,MAApBA,EAAKI,QAAQ,IAEbF,EAAIG,SAASL,EAAM,IAAM,IAIrBG,EAFc,IAAdF,EAEK7C,OAAOkD,WAAaJ,EAIpB9C,OAAOmD,YAAcL,GAK9BC,EAAKE,SAASL,EAAM,IAKxBG,EAAKH,EAGFG,GA+BXK,IAAK,SAAUC,EAAKxD,EAAKuD,EAAKE,GAE1B,QAAYhB,IAARzC,EAAqB,IAAIA,EAAM,EACnC,QAAYyC,IAARc,EAAqB,IAAIA,EAAM,IACnC,QAAYd,IAARgB,EAAqB,IAAIA,EAAM,EAInC,IAAIC,EAAS,EAEb,GAAI1D,EAAM,IAJVwD,EAAMA,EAAI5D,YAISK,OAEf,OAAQwD,GAEJ,KAAK,EACDD,EAAM,IAAI5E,MAAMoB,EAAM,EAAIwD,EAAIvD,QAAQwB,KAAK8B,GAAOC,EAClD,MAEJ,KAAK,EACD,IAAIG,EAAQxF,KAAKG,MAAMoF,EAAS1D,EAAMwD,EAAIvD,QAAU,GAChD2D,EAAOF,EAASC,EACpBH,EAAM,IAAI5E,MAAMgF,EAAK,GAAGnC,KAAK8B,GAAOC,EAAM,IAAI5E,MAAM+E,EAAM,GAAGlC,KAAK8B,GAClE,MAEJ,QACIC,GAAY,IAAI5E,MAAMoB,EAAM,EAAIwD,EAAIvD,QAAQwB,KAAK8B,GAK7D,OAAOC,GAWXK,cAAe,SAAUlC,GAMrB,GAAoB,iBAAV,GAAsBA,EAAImC,UAAYnC,IAAQA,EAAIxB,OAExD,OAAO,EAOX,IACI,GAAIwB,EAAIpB,iBAAqBS,eAAe9B,KAAKyC,EAAIpB,YAAY9B,UAAW,iBAExE,OAAO,EAEb,MAAOsF,GACL,OAAO,EAKX,OAAO,GAWXC,OAAQ,WAEJ,IAAIC,EAAS/B,EAAMgC,EAAKC,EAAMC,EAAaC,EACvCjF,EAASD,UAAU,OACnBe,EAAI,EACJD,EAASd,UAAUc,OACnBqE,GAAO,EAkBX,IAfsB,kBAAXlF,IAEPkF,EAAOlF,EACPA,EAASD,UAAU,OAEnBe,EAAI,GAIJD,IAAWC,IAEXd,EAASlH,OACPgI,GAGCA,EAAID,EAAQC,IAGf,GAAgC,OAA3B+D,EAAU9E,UAAUe,IAGrB,IAAKgC,KAAQ+B,EAETC,EAAM9E,EAAO8C,GAIT9C,KAHJ+E,EAAOF,EAAQ/B,MASXoC,GAAQH,IAAS5L,EAAO6I,MAAMyC,cAAcM,KAAUC,EAAcxF,MAAMa,QAAQ0E,MAE9EC,GAEAA,GAAc,EACdC,EAAQH,GAAOtF,MAAMa,QAAQyE,GAAOA,MAIpCG,EAAQH,GAAO3L,EAAO6I,MAAMyC,cAAcK,GAAOA,KAIrD9E,EAAO8C,GAAQ3J,EAAO6I,MAAM4C,OAAOM,EAAMD,EAAOF,SAIlC1B,IAAT0B,IAEL/E,EAAO8C,GAAQiC,IAO/B,OAAO/E,GAgBXmF,eAAgB,SAAUnF,EAAQoF,EAAOC,QAErBhC,IAAZgC,IAAyBA,GAAU,GAIvC,IAAK,IAFDC,EAAY/E,OAAOgF,KAAKH,GAEnBtE,EAAI,EAAGA,EAAIwE,EAAUzE,OAAQC,IACtC,CACI,IAAI6B,EAAM2C,EAAUxE,GAChBkC,EAAQoC,EAAMzC,IAEb0C,GAAY1C,KAAO3C,KAOhBgD,GACsB,mBAAdA,EAAMwC,KAA2C,mBAAdxC,EAAMyC,IAcjDzF,EAAO2C,GAAOK,EAXa,mBAAhBA,EAAMiC,MAEbjF,EAAO2C,GAAOK,EAAMiC,QAIpB1E,OAAOmF,eAAe1F,EAAQ2C,EAAKK,MAqBvDoC,MAAO,SAAUO,EAAMjE,GAEnB,IAAKiE,GAA0B,iBAAX,EAEhB,OAAOjE,EAGX,IAAK,IAAIiB,KAAOgD,EAChB,CACI,IAAIC,EAAID,EAAKhD,GAEb,IAAIiD,EAAEC,aAAcD,EAAEE,UAAtB,CAKA,IAAI5E,SAAeyE,EAAKhD,GAEnBgD,EAAKhD,IAAiB,WAATzB,SAOFQ,EAAGiB,KAAUzB,EAErBQ,EAAGiB,GAAOxJ,EAAO6I,MAAMoD,MAAMO,EAAKhD,GAAMjB,EAAGiB,IAI3CjB,EAAGiB,GAAOxJ,EAAO6I,MAAMoD,MAAMO,EAAKhD,GAAM,IAAIiD,EAAEzE,aAXlDO,EAAGiB,GAAOgD,EAAKhD,IAgBvB,OAAOjB,IAsBfvI,EAAO4M,OAAS,SAAU9G,EAAG+G,EAAGC,GAE5BhH,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EACTC,EAAWA,GAAY,EAKvBnN,KAAKmG,EAAIA,EAKTnG,KAAKkN,EAAIA,EAMTlN,KAAKoN,UAAYD,EAMjBnN,KAAKqN,QAAU,EAEXF,EAAW,IAEXnN,KAAKqN,QAAqB,GAAXF,GAOnBnN,KAAKoI,KAAO/H,EAAOkC,QAIvBlC,EAAO4M,OAAO1G,WAQV+G,cAAe,WAEX,OAAYrH,KAAKsH,GAAKvN,KAAKqN,QAApB,GAYX7C,OAAQ,SAAUgD,QAEFjD,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1C,IAAI5F,EAAI,EAAI5B,KAAKsH,GAAKtH,KAAKuE,SACvBkD,EAAIzH,KAAKuE,SAAWvE,KAAKuE,SACzBmD,EAAKD,EAAI,EAAK,EAAIA,EAAIA,EACtBvH,EAAIwH,EAAI1H,KAAK2H,IAAI/F,GACjBqF,EAAIS,EAAI1H,KAAK4H,IAAIhG,GAKrB,OAHA2F,EAAIrH,EAAInG,KAAKmG,EAAKA,EAAInG,KAAK8N,OAC3BN,EAAIN,EAAIlN,KAAKkN,EAAKA,EAAIlN,KAAK8N,OAEpBN,GAUXO,UAAW,WAEP,OAAO,IAAI1N,EAAO2N,UAAUhO,KAAKmG,EAAInG,KAAK8N,OAAQ9N,KAAKkN,EAAIlN,KAAK8N,OAAQ9N,KAAKmN,SAAUnN,KAAKmN,WAYhGc,MAAO,SAAU9H,EAAG+G,EAAGC,GAOnB,OALAnN,KAAKmG,EAAIA,EACTnG,KAAKkN,EAAIA,EACTlN,KAAKoN,UAAYD,EACjBnN,KAAKqN,QAAqB,GAAXF,EAERnN,MAUXkO,SAAU,SAAUC,GAEhB,OAAOnO,KAAKiO,MAAME,EAAOhI,EAAGgI,EAAOjB,EAAGiB,EAAOhB,WAUjDiB,OAAQ,SAAUC,GAMd,OAJAA,EAAKlI,EAAInG,KAAKmG,EACdkI,EAAKnB,EAAIlN,KAAKkN,EACdmB,EAAKlB,SAAWnN,KAAKoN,UAEdiB,GAYXC,SAAU,SAAUD,EAAME,GAEtB,IAAID,EAAWjO,EAAO4F,KAAKqI,SAAStO,KAAKmG,EAAGnG,KAAKkN,EAAGmB,EAAKlI,EAAGkI,EAAKnB,GACjE,OAAOqB,EAAQtI,KAAKsI,MAAMD,GAAYA,GAU1CnC,MAAO,SAAUqC,GAWb,YATejE,IAAXiE,GAAmC,OAAXA,EAExBA,EAAS,IAAInO,EAAO4M,OAAOjN,KAAKmG,EAAGnG,KAAKkN,EAAGlN,KAAKmN,UAIhDqB,EAAOP,MAAMjO,KAAKmG,EAAGnG,KAAKkN,EAAGlN,KAAKmN,UAG/BqB,GAWXC,SAAU,SAAUtI,EAAG+G,GAEnB,OAAO7M,EAAO4M,OAAOwB,SAASzO,KAAMmG,EAAG+G,IAY3CwB,mBAAoB,SAAUC,EAAOC,EAAWpB,GAE5C,OAAOnN,EAAO4M,OAAOyB,mBAAmB1O,KAAM2O,EAAOC,EAAWpB,IAmBpEqB,OAAQ,SAAUC,EAAOC,EAAYC,EAAUJ,EAAWpB,GAEjDsB,IAASA,EAAQ,IACJ,MAAdC,IAAsBA,EAAa,GACvB,MAAZC,IAAoBA,EAAW3O,EAAO4F,KAAKgJ,KAC1CzB,IAAOA,MAIZ,IAFA,IAAIxF,EAAI,EAEDA,EAAI8G,GAEP9O,KAAK0O,mBACDrO,EAAO4F,KAAKiJ,OAAOH,EAAYC,EAAUhH,EAAI8G,GAC7CF,EACApB,EAAIxF,KAAOwF,EAAIxF,GAAK,IAAI3H,EAAOoN,QAGnCzF,GAAK,EAGT,OAAOwF,GAWX2B,OAAQ,SAAUC,EAAIC,GAKlB,OAHArP,KAAKmG,GAAKiJ,EACVpP,KAAKkN,GAAKmC,EAEHrP,MAUXsP,YAAa,SAAUC,GACnB,OAAOvP,KAAKmP,OAAOI,EAAMpJ,EAAGoJ,EAAMrC,IAQtCxF,SAAU,WACN,MAAO,sBAAwB1H,KAAKmG,EAAI,MAAQnG,KAAKkN,EAAI,aAAelN,KAAKmN,SAAW,WAAanN,KAAK8N,OAAS,QAK3HzN,EAAO4M,OAAO1G,UAAU8B,YAAchI,EAAO4M,OAQ7CxF,OAAOmF,eAAevM,EAAO4M,OAAO1G,UAAW,YAE3CmG,IAAK,WACD,OAAO1M,KAAKoN,WAGhBT,IAAK,SAAUzC,GAEPA,EAAQ,IAERlK,KAAKoN,UAAYlD,EACjBlK,KAAKqN,QAAkB,GAARnD,MAW3BzC,OAAOmF,eAAevM,EAAO4M,OAAO1G,UAAW,UAE3CmG,IAAK,WACD,OAAO1M,KAAKqN,SAGhBV,IAAK,SAAUzC,GAEPA,EAAQ,IAERlK,KAAKqN,QAAUnD,EACflK,KAAKoN,UAAoB,EAARlD,MAY7BzC,OAAOmF,eAAevM,EAAO4M,OAAO1G,UAAW,QAE3CmG,IAAK,WACD,OAAO1M,KAAKmG,EAAInG,KAAKqN,SAGzBV,IAAK,SAAUzC,GAEPA,EAAQlK,KAAKmG,GAEbnG,KAAKqN,QAAU,EACfrN,KAAKoN,UAAY,GAIjBpN,KAAK8N,OAAS9N,KAAKmG,EAAI+D,KAYnCzC,OAAOmF,eAAevM,EAAO4M,OAAO1G,UAAW,SAE3CmG,IAAK,WACD,OAAO1M,KAAKmG,EAAInG,KAAKqN,SAGzBV,IAAK,SAAUzC,GAEPA,EAAQlK,KAAKmG,GAEbnG,KAAKqN,QAAU,EACfrN,KAAKoN,UAAY,GAIjBpN,KAAK8N,OAAS5D,EAAQlK,KAAKmG,KAYvCsB,OAAOmF,eAAevM,EAAO4M,OAAO1G,UAAW,OAE3CmG,IAAK,WACD,OAAO1M,KAAKkN,EAAIlN,KAAKqN,SAGzBV,IAAK,SAAUzC,GAEPA,EAAQlK,KAAKkN,GAEblN,KAAKqN,QAAU,EACfrN,KAAKoN,UAAY,GAIjBpN,KAAK8N,OAAS9N,KAAKkN,EAAIhD,KAYnCzC,OAAOmF,eAAevM,EAAO4M,OAAO1G,UAAW,UAE3CmG,IAAK,WACD,OAAO1M,KAAKkN,EAAIlN,KAAKqN,SAGzBV,IAAK,SAAUzC,GAEPA,EAAQlK,KAAKkN,GAEblN,KAAKqN,QAAU,EACfrN,KAAKoN,UAAY,GAIjBpN,KAAK8N,OAAS5D,EAAQlK,KAAKkN,KAavCzF,OAAOmF,eAAevM,EAAO4M,OAAO1G,UAAW,QAE3CmG,IAAK,WAED,OAAI1M,KAAKqN,QAAU,EAERpH,KAAKsH,GAAKvN,KAAKqN,QAAUrN,KAAKqN,QAI9B,KAanB5F,OAAOmF,eAAevM,EAAO4M,OAAO1G,UAAW,SAE3CmG,IAAK,WACD,OAA2B,IAAnB1M,KAAKoN,WAGjBT,IAAK,SAAUzC,IAEG,IAAVA,GAEAlK,KAAKiO,MAAM,EAAG,EAAG,MAe7B5N,EAAO4M,OAAOwB,SAAW,SAAUe,EAAGrJ,EAAG+G,GAGrC,OAAIsC,EAAE1B,OAAS,GAAK3H,GAAKqJ,EAAE9D,MAAQvF,GAAKqJ,EAAE/D,OAASyB,GAAKsC,EAAEC,KAAOvC,GAAKsC,EAAEE,SAE1DF,EAAErJ,EAAIA,IAAMqJ,EAAErJ,EAAIA,IAClBqJ,EAAEtC,EAAIA,IAAMsC,EAAEtC,EAAIA,IAEPsC,EAAE1B,OAAS0B,EAAE1B,QAgB1CzN,EAAO4M,OAAO0C,OAAS,SAAUH,EAAGI,GAEhC,OAAQJ,EAAErJ,IAAMyJ,EAAEzJ,GAAKqJ,EAAEtC,IAAM0C,EAAE1C,GAAKsC,EAAErC,WAAayC,EAAEzC,UAY3D9M,EAAO4M,OAAO4C,WAAa,SAAUL,EAAGI,GAEpC,OAAQvP,EAAO4F,KAAKqI,SAASkB,EAAErJ,EAAGqJ,EAAEtC,EAAG0C,EAAEzJ,EAAGyJ,EAAE1C,IAAOsC,EAAE1B,OAAS8B,EAAE9B,QAatEzN,EAAO4M,OAAOyB,mBAAqB,SAAUc,EAAGb,EAAOC,EAAWpB,GAa9D,YAXkBjD,IAAdqE,IAA2BA,GAAY,QAC/BrE,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,QAExB,IAAdmB,IAEAD,EAAQtO,EAAO4F,KAAK6J,SAASnB,IAGjCnB,EAAIrH,EAAIqJ,EAAErJ,EAAIqJ,EAAE1B,OAAS7H,KAAK2H,IAAIe,GAClCnB,EAAIN,EAAIsC,EAAEtC,EAAIsC,EAAE1B,OAAS7H,KAAK4H,IAAIc,GAE3BnB,GAWXnN,EAAO4M,OAAO8C,oBAAsB,SAAUC,EAAGrC,GAE7C,IAAIsC,EAAKhK,KAAKiK,IAAIF,EAAE7J,EAAIwH,EAAExH,EAAIwH,EAAEwC,WAGhC,GAAIF,EAFQtC,EAAEwC,UAAYH,EAAElC,OAIxB,OAAO,EAGX,IAAIsC,EAAKnK,KAAKiK,IAAIF,EAAE9C,EAAIS,EAAET,EAAIS,EAAE0C,YAGhC,GAAID,EAFQzC,EAAE0C,WAAaL,EAAElC,OAIzB,OAAO,EAGX,GAAImC,GAAMtC,EAAEwC,WAAaC,GAAMzC,EAAE0C,WAE7B,OAAO,EAGX,IAAIC,EAAcL,EAAKtC,EAAEwC,UACrBI,EAAcH,EAAKzC,EAAE0C,WAKzB,OAJoBC,EAAcA,EACdC,EAAcA,GACZP,EAAElC,OAASkC,EAAElC,QAcvCzN,EAAO4M,OAAOuD,eAAiB,SAAUR,EAAGS,EAAGC,GAC3C,IAAIC,EAAIX,EAAE7J,EACNyK,EAAIZ,EAAE9C,EACN2D,GAAMJ,EAAEK,IAAI5D,EAAIuD,EAAEM,MAAM7D,IAAMuD,EAAEK,IAAI3K,EAAIsK,EAAEM,MAAM5K,GAChD6K,EAAIP,EAAEK,IAAI5D,EAAK2D,EAAIJ,EAAEK,IAAI3K,EACzBqJ,EAAIQ,EAAElC,OACN8B,EAAII,EAAElC,OACNmD,EAAMD,EAAIH,EAAIF,EAEdO,GAAMP,GAAKf,EAAIA,GAAKiB,GAAKrB,EAAIA,IAAMwB,EAAIJ,GAAKpB,EAAII,EAAK3J,KAAKkL,KAAM3B,EAAIA,GAAMqB,EAAIA,GAAMjB,EAAIA,EAAMqB,EAAMA,EAAQL,EAAIA,EAAM,EAAIK,EAAML,KAAUpB,EAAIA,GAAMqB,EAAIA,GAAMjB,EAAIA,GAClKwB,GAAMT,GAAKf,EAAIA,GAAKiB,GAAKrB,EAAIA,IAAMwB,EAAIJ,GAAKpB,EAAII,EAAK3J,KAAKkL,KAAM3B,EAAIA,GAAMqB,EAAIA,GAAMjB,EAAIA,EAAMqB,EAAMA,EAAQL,EAAIA,EAAM,EAAIK,EAAML,KAAUpB,EAAIA,GAAMqB,EAAIA,GAAMjB,EAAIA,GAElKyB,EAAKR,EAAIK,EAAKF,EACdM,EAAKT,EAAIO,EAAKJ,EACdO,EAAK,IAAIlR,EAAOoN,MAAMyD,EAAIG,GAC1BG,EAAK,IAAInR,EAAOoN,MAAM2D,EAAIE,GAC1BG,EAAWhB,EAAEiB,eAAeH,EAAGpL,EAAGoL,EAAGrE,EAAG,KACxCyE,EAAWlB,EAAEiB,eAAeF,EAAGrL,EAAGqL,EAAGtE,EAAG,KAE5C,OAAIuE,GAAYE,GAELjB,IAAgBa,EAAIC,GAEtBC,GAEEf,IAAgBa,GAElBI,GAEEjB,IAAgBc,KAIhBd,OAMf3K,KAAKkH,OAAS5M,EAAO4M,OAmBrB5M,EAAOuR,QAAU,SAAUzL,EAAG+G,EAAG2E,EAAOC,GAEpC3L,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EACT2E,EAAQA,GAAS,EACjBC,EAASA,GAAU,EAKnB9R,KAAKmG,EAAIA,EAKTnG,KAAKkN,EAAIA,EAKTlN,KAAK6R,MAAQA,EAKb7R,KAAK8R,OAASA,EAMd9R,KAAKoI,KAAO/H,EAAO6B,SAIvB7B,EAAOuR,QAAQrL,WAWX0H,MAAO,SAAU9H,EAAG+G,EAAG2E,EAAOC,GAO1B,OALA9R,KAAKmG,EAAIA,EACTnG,KAAKkN,EAAIA,EACTlN,KAAK6R,MAAQA,EACb7R,KAAK8R,OAASA,EAEP9R,MAUX+N,UAAW,WAEP,OAAO,IAAI1N,EAAO2N,UAAUhO,KAAKmG,EAAInG,KAAK6R,MAAO7R,KAAKkN,EAAIlN,KAAK8R,OAAQ9R,KAAK6R,MAAO7R,KAAK8R,SAW5F5D,SAAU,SAAUC,GAEhB,OAAOnO,KAAKiO,MAAME,EAAOhI,EAAGgI,EAAOjB,EAAGiB,EAAO0D,MAAO1D,EAAO2D,SAU/D1D,OAAQ,SAASC,GAOb,OALAA,EAAKlI,EAAInG,KAAKmG,EACdkI,EAAKnB,EAAIlN,KAAKkN,EACdmB,EAAKwD,MAAQ7R,KAAK6R,MAClBxD,EAAKyD,OAAS9R,KAAK8R,OAEZzD,GAUXlC,MAAO,SAASqC,GAWZ,YATejE,IAAXiE,GAAmC,OAAXA,EAExBA,EAAS,IAAInO,EAAOuR,QAAQ5R,KAAKmG,EAAGnG,KAAKkN,EAAGlN,KAAK6R,MAAO7R,KAAK8R,QAI7DtD,EAAOP,MAAMjO,KAAKmG,EAAGnG,KAAKkN,EAAGlN,KAAK6R,MAAO7R,KAAK8R,QAG3CtD,GAYXC,SAAU,SAAUtI,EAAG+G,GAEnB,OAAO7M,EAAOuR,QAAQnD,SAASzO,KAAMmG,EAAG+G,IAY5C1C,OAAQ,SAAUgD,QAEFjD,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1C,IAAIsE,EAAI9L,KAAKuE,SAAWvE,KAAKsH,GAAK,EAC9BI,EAAI1H,KAAKuE,SAQb,OANAgD,EAAIrH,EAAIF,KAAKkL,KAAKxD,GAAK1H,KAAK2H,IAAImE,GAChCvE,EAAIN,EAAIjH,KAAKkL,KAAKxD,GAAK1H,KAAK4H,IAAIkE,GAEhCvE,EAAIrH,EAAInG,KAAKmG,EAAKqH,EAAIrH,EAAInG,KAAK6R,MAAQ,EACvCrE,EAAIN,EAAIlN,KAAKkN,EAAKM,EAAIN,EAAIlN,KAAK8R,OAAS,EAEjCtE,GASX9F,SAAU,WACN,MAAO,uBAAyB1H,KAAKmG,EAAI,MAAQnG,KAAKkN,EAAI,UAAYlN,KAAK6R,MAAQ,WAAa7R,KAAK8R,OAAS,QAKtHzR,EAAOuR,QAAQrL,UAAU8B,YAAchI,EAAOuR,QAO9CnK,OAAOmF,eAAevM,EAAOuR,QAAQrL,UAAW,QAE5CmG,IAAK,WACD,OAAO1M,KAAKmG,GAGhBwG,IAAK,SAAUzC,GAEXlK,KAAKmG,EAAI+D,KAWjBzC,OAAOmF,eAAevM,EAAOuR,QAAQrL,UAAW,SAE5CmG,IAAK,WACD,OAAO1M,KAAKmG,EAAInG,KAAK6R,OAGzBlF,IAAK,SAAUzC,GAEPA,EAAQlK,KAAKmG,EAEbnG,KAAK6R,MAAQ,EAIb7R,KAAK6R,MAAQ3H,EAAQlK,KAAKmG,KAWtCsB,OAAOmF,eAAevM,EAAOuR,QAAQrL,UAAW,OAE5CmG,IAAK,WACD,OAAO1M,KAAKkN,GAGhBP,IAAK,SAAUzC,GACXlK,KAAKkN,EAAIhD,KAUjBzC,OAAOmF,eAAevM,EAAOuR,QAAQrL,UAAW,UAE5CmG,IAAK,WACD,OAAO1M,KAAKkN,EAAIlN,KAAK8R,QAGzBnF,IAAK,SAAUzC,GAEPA,EAAQlK,KAAKkN,EAEblN,KAAK8R,OAAS,EAId9R,KAAK8R,OAAS5H,EAAQlK,KAAKkN,KAYvCzF,OAAOmF,eAAevM,EAAOuR,QAAQrL,UAAW,SAE5CmG,IAAK,WACD,OAAuB,IAAf1M,KAAK6R,OAA+B,IAAhB7R,KAAK8R,QAGrCnF,IAAK,SAAUzC,IAEG,IAAVA,GAEAlK,KAAKiO,MAAM,EAAG,EAAG,EAAG,MAgBhC5N,EAAOuR,QAAQnD,SAAW,SAAUe,EAAGrJ,EAAG+G,GAEtC,GAAIsC,EAAEqC,OAAS,GAAKrC,EAAEsC,QAAU,EAC5B,OAAO,EAIX,IAAIE,GAAU7L,EAAIqJ,EAAErJ,GAAKqJ,EAAEqC,MAAS,GAChCI,GAAU/E,EAAIsC,EAAEtC,GAAKsC,EAAEsC,OAAU,GAKrC,OAHAE,GAASA,EACTC,GAASA,EAEDD,EAAQC,EAAQ,KAY5B5R,EAAOuR,QAAQpB,eAAiB,SAAU3E,EAAG4E,EAAGC,GAC5C,IAAIC,EAAI9E,EAAE1F,EACNyK,EAAI/E,EAAEqB,EACN2D,GAAMJ,EAAEK,IAAI5D,EAAIuD,EAAEM,MAAM7D,IAAMuD,EAAEK,IAAI3K,EAAIsK,EAAEM,MAAM5K,GAChD6K,EAAIP,EAAEK,IAAI5D,EAAK2D,EAAIJ,EAAEK,IAAI3K,EACzBqJ,EAAI3D,EAAEgG,MAAQ,EACdjC,EAAI/D,EAAEiG,OAAS,EACfb,EAAMD,EAAIH,EAAIF,EAEdO,GAAMP,GAAKf,EAAIA,GAAKiB,GAAKrB,EAAIA,IAAMwB,EAAIJ,GAAKpB,EAAII,EAAK3J,KAAKkL,KAAM3B,EAAIA,GAAMqB,EAAIA,GAAMjB,EAAIA,EAAMqB,EAAMA,EAAQL,EAAIA,EAAM,EAAIK,EAAML,KAAUpB,EAAIA,GAAMqB,EAAIA,GAAMjB,EAAIA,GAClKwB,GAAMT,GAAKf,EAAIA,GAAKiB,GAAKrB,EAAIA,IAAMwB,EAAIJ,GAAKpB,EAAII,EAAK3J,KAAKkL,KAAM3B,EAAIA,GAAMqB,EAAIA,GAAMjB,EAAIA,EAAMqB,EAAMA,EAAQL,EAAIA,EAAM,EAAIK,EAAML,KAAUpB,EAAIA,GAAMqB,EAAIA,GAAMjB,EAAIA,GAElKyB,EAAKR,EAAIK,EAAKF,EACdM,EAAKT,EAAIO,EAAKJ,EACdO,EAAK,IAAIlR,EAAOoN,MAAMyD,EAAIG,GAC1BG,EAAK,IAAInR,EAAOoN,MAAM2D,EAAIE,GAC1BG,EAAWhB,EAAEiB,eAAeH,EAAGpL,EAAGoL,EAAGrE,EAAG,KACxCyE,EAAWlB,EAAEiB,eAAeF,EAAGrL,EAAGqL,EAAGtE,EAAG,KAE5C,OAAIuE,GAAYE,GAELjB,IAAgBa,EAAIC,GAEtBC,GAEEf,IAAgBa,GAElBI,GAEEjB,IAAgBc,KAIhBd,OAMf3K,KAAK6L,QAAUvR,EAAOuR,QAkBtBvR,EAAO6R,KAAO,SAAUd,EAAIE,EAAIa,EAAIC,GAEhChB,EAAKA,GAAM,EACXE,EAAKA,GAAM,EACXa,EAAKA,GAAM,EACXC,EAAKA,GAAM,EAKXpS,KAAK+Q,MAAQ,IAAI1Q,EAAOoN,MAAM2D,EAAIE,GAKlCtR,KAAK8Q,IAAM,IAAIzQ,EAAOoN,MAAM0E,EAAIC,GAMhCpS,KAAKoI,KAAO/H,EAAOoC,MAIvBpC,EAAO6R,KAAK3L,WAYR0H,MAAO,SAAUmD,EAAIE,EAAIa,EAAIC,GAKzB,OAHApS,KAAK+Q,MAAM9C,MAAMmD,EAAIE,GACrBtR,KAAK8Q,IAAI7C,MAAMkE,EAAIC,GAEZpS,MAcXqS,WAAY,SAAUC,EAAaC,EAAWC,GAI1C,YAFkBjI,IAAdiI,IAA2BA,GAAY,GAEvCA,EAEOxS,KAAKiO,MAAMqE,EAAYG,QAASH,EAAYI,QAASH,EAAUE,QAASF,EAAUG,SAGtF1S,KAAKiO,MAAMqE,EAAYnM,EAAGmM,EAAYpF,EAAGqF,EAAUpM,EAAGoM,EAAUrF,IAc3EyF,UAAW,SAAUxM,EAAG+G,EAAGyB,EAAO5G,GAK9B,OAHA/H,KAAK+Q,MAAM9C,MAAM9H,EAAG+G,GACpBlN,KAAK8Q,IAAI7C,MAAM9H,EAAKF,KAAK2H,IAAIe,GAAS5G,EAASmF,EAAKjH,KAAK4H,IAAIc,GAAS5G,GAE/D/H,MAiBX4S,OAAQ,SAAUjE,EAAOC,GAErB,IAAIqB,GAAMjQ,KAAK+Q,MAAM5K,EAAInG,KAAK8Q,IAAI3K,GAAK,EACnCiK,GAAMpQ,KAAK+Q,MAAM7D,EAAIlN,KAAK8Q,IAAI5D,GAAK,EAKvC,OAHAlN,KAAK+Q,MAAM6B,OAAO3C,EAAIG,EAAIzB,EAAOC,GACjC5O,KAAK8Q,IAAI8B,OAAO3C,EAAIG,EAAIzB,EAAOC,GAExB5O,MAgBX6S,aAAc,SAAU1M,EAAG+G,EAAGyB,EAAOC,GAKjC,OAHA5O,KAAK+Q,MAAM6B,OAAOzM,EAAG+G,EAAGyB,EAAOC,GAC/B5O,KAAK8Q,IAAI8B,OAAOzM,EAAG+G,EAAGyB,EAAOC,GAEtB5O,MAeX6P,WAAY,SAAUiD,EAAMC,EAAWC,GAEnC,OAAO3S,EAAO6R,KAAKe,iBAAiBjT,KAAK+Q,MAAO/Q,KAAK8Q,IAAKgC,EAAK/B,MAAO+B,EAAKhC,IAAKiC,EAAWC,IAY/FE,QAAS,SAAUJ,GAEf,OAAOzS,EAAO6R,KAAKgB,QAAQlT,KAAM8S,IAWrCK,SAAU,SAAU3F,GAOhB,YALYjD,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1CD,EAAIrH,GAAKnG,KAAK+Q,MAAM5K,EAAInG,KAAK8Q,IAAI3K,GAAK,EACtCqH,EAAIN,GAAKlN,KAAK+Q,MAAM7D,EAAIlN,KAAK8Q,IAAI5D,GAAK,EAE/BM,GAeX4F,SAAU,SAAUjN,EAAG+G,GAEnB,IAGImG,EAAKlN,GAHCnG,KAAK+Q,MAAM5K,EAAInG,KAAK8Q,IAAI3K,GAAK,EAInCmN,EAAKpG,GAHClN,KAAK+Q,MAAM7D,EAAIlN,KAAK8Q,IAAI5D,GAAK,EAKvClN,KAAK+Q,MAAMwC,IAAIF,EAAIC,GACnBtT,KAAK8Q,IAAIyC,IAAIF,EAAIC,IAarBE,YAAa,SAAUrN,EAAG+G,EAAGuG,GAEzB,OAAOpT,EAAO4F,KAAKyN,YAAYvN,EAAInG,KAAK+Q,MAAM5K,IAAMnG,KAAK8Q,IAAI5D,EAAIlN,KAAK+Q,MAAM7D,IAAKlN,KAAK8Q,IAAI3K,EAAInG,KAAK+Q,MAAM5K,IAAM+G,EAAIlN,KAAK+Q,MAAM7D,GAAIuG,GAAW,IAajJ/B,eAAgB,SAAUvL,EAAG+G,EAAGuG,GAE5B,IAAIE,EAAO1N,KAAK2N,IAAI5T,KAAK+Q,MAAM5K,EAAGnG,KAAK8Q,IAAI3K,GACvC0N,EAAO5N,KAAK6N,IAAI9T,KAAK+Q,MAAM5K,EAAGnG,KAAK8Q,IAAI3K,GACvC4N,EAAO9N,KAAK2N,IAAI5T,KAAK+Q,MAAM7D,EAAGlN,KAAK8Q,IAAI5D,GACvC8G,EAAO/N,KAAK6N,IAAI9T,KAAK+Q,MAAM7D,EAAGlN,KAAK8Q,IAAI5D,GAE3C,OAAQlN,KAAKwT,YAAYrN,EAAG+G,EAAGuG,IAAatN,GAAKwN,GAAQxN,GAAK0N,GAAU3G,GAAK6G,GAAQ7G,GAAK8G,GAY9FxJ,OAAQ,SAAUgD,QAEFjD,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1C,IAAI5F,EAAI5B,KAAKuE,SAKb,OAHAgD,EAAIrH,EAAInG,KAAK+Q,MAAM5K,EAAI0B,GAAK7H,KAAK8Q,IAAI3K,EAAInG,KAAK+Q,MAAM5K,GACpDqH,EAAIN,EAAIlN,KAAK+Q,MAAM7D,EAAIrF,GAAK7H,KAAK8Q,IAAI5D,EAAIlN,KAAK+Q,MAAM7D,GAE7CM,GAaXyG,kBAAmB,SAAUC,EAAUC,QAElB5J,IAAb2J,IAA0BA,EAAW,QACzB3J,IAAZ4J,IAAyBA,MAE7B,IAAI/C,EAAKnL,KAAKsI,MAAMvO,KAAK+Q,MAAM5K,GAC3BmL,EAAKrL,KAAKsI,MAAMvO,KAAK+Q,MAAM7D,GAC3BiF,EAAKlM,KAAKsI,MAAMvO,KAAK8Q,IAAI3K,GACzBiM,EAAKnM,KAAKsI,MAAMvO,KAAK8Q,IAAI5D,GAEzBkC,EAAKnJ,KAAKiK,IAAIiC,EAAKf,GACnB/B,EAAKpJ,KAAKiK,IAAIkC,EAAKd,GACnB8C,EAAMhD,EAAKe,EAAM,GAAK,EACtBkC,EAAM/C,EAAKc,EAAM,GAAK,EACtBkC,EAAMlF,EAAKC,EAEf8E,EAAQI,MAAMnD,EAAIE,IAIlB,IAFA,IAAItJ,EAAI,EAEEoJ,IAAOe,GAAQb,IAAOc,GAChC,CACI,IAAIoC,EAAKF,GAAO,EAEZE,GAAMnF,IAENiF,GAAOjF,EACP+B,GAAMgD,GAGNI,EAAKpF,IAELkF,GAAOlF,EACPkC,GAAM+C,GAGNrM,EAAIkM,GAAa,GAEjBC,EAAQI,MAAMnD,EAAIE,IAGtBtJ,IAIJ,OAAOmM,GAUXhI,MAAO,SAAUqC,GAWb,YATejE,IAAXiE,GAAmC,OAAXA,EAExBA,EAAS,IAAInO,EAAO6R,KAAKlS,KAAK+Q,MAAM5K,EAAGnG,KAAK+Q,MAAM7D,EAAGlN,KAAK8Q,IAAI3K,EAAGnG,KAAK8Q,IAAI5D,GAI1EsB,EAAOP,MAAMjO,KAAK+Q,MAAM5K,EAAGnG,KAAK+Q,MAAM7D,EAAGlN,KAAK8Q,IAAI3K,EAAGnG,KAAK8Q,IAAI5D,GAG3DsB,IAWf/G,OAAOmF,eAAevM,EAAO6R,KAAK3L,UAAW,UAEzCmG,IAAK,WACD,OAAOzG,KAAKkL,MAAMnR,KAAK8Q,IAAI3K,EAAInG,KAAK+Q,MAAM5K,IAAMnG,KAAK8Q,IAAI3K,EAAInG,KAAK+Q,MAAM5K,IAAMnG,KAAK8Q,IAAI5D,EAAIlN,KAAK+Q,MAAM7D,IAAMlN,KAAK8Q,IAAI5D,EAAIlN,KAAK+Q,MAAM7D,OAU5IzF,OAAOmF,eAAevM,EAAO6R,KAAK3L,UAAW,SAEzCmG,IAAK,WACD,OAAOzG,KAAKwO,MAAMzU,KAAK8Q,IAAI5D,EAAIlN,KAAK+Q,MAAM7D,EAAGlN,KAAK8Q,IAAI3K,EAAInG,KAAK+Q,MAAM5K,MAU7EsB,OAAOmF,eAAevM,EAAO6R,KAAK3L,UAAW,SAEzCmG,IAAK,WACD,OAAQ1M,KAAK8Q,IAAI5D,EAAIlN,KAAK+Q,MAAM7D,IAAMlN,KAAK8Q,IAAI3K,EAAInG,KAAK+Q,MAAM5K,MAUtEsB,OAAOmF,eAAevM,EAAO6R,KAAK3L,UAAW,aAEzCmG,IAAK,WACD,QAAU1M,KAAK8Q,IAAI3K,EAAInG,KAAK+Q,MAAM5K,IAAMnG,KAAK8Q,IAAI5D,EAAIlN,KAAK+Q,MAAM7D,MAUxEzF,OAAOmF,eAAevM,EAAO6R,KAAK3L,UAAW,KAEzCmG,IAAK,WACD,OAAOzG,KAAK2N,IAAI5T,KAAK+Q,MAAM5K,EAAGnG,KAAK8Q,IAAI3K,MAU/CsB,OAAOmF,eAAevM,EAAO6R,KAAK3L,UAAW,KAEzCmG,IAAK,WACD,OAAOzG,KAAK2N,IAAI5T,KAAK+Q,MAAM7D,EAAGlN,KAAK8Q,IAAI5D,MAU/CzF,OAAOmF,eAAevM,EAAO6R,KAAK3L,UAAW,QAEzCmG,IAAK,WACD,OAAOzG,KAAK2N,IAAI5T,KAAK+Q,MAAM5K,EAAGnG,KAAK8Q,IAAI3K,MAU/CsB,OAAOmF,eAAevM,EAAO6R,KAAK3L,UAAW,SAEzCmG,IAAK,WACD,OAAOzG,KAAK6N,IAAI9T,KAAK+Q,MAAM5K,EAAGnG,KAAK8Q,IAAI3K,MAU/CsB,OAAOmF,eAAevM,EAAO6R,KAAK3L,UAAW,OAEzCmG,IAAK,WACD,OAAOzG,KAAK2N,IAAI5T,KAAK+Q,MAAM7D,EAAGlN,KAAK8Q,IAAI5D,MAU/CzF,OAAOmF,eAAevM,EAAO6R,KAAK3L,UAAW,UAEzCmG,IAAK,WACD,OAAOzG,KAAK6N,IAAI9T,KAAK+Q,MAAM7D,EAAGlN,KAAK8Q,IAAI5D,MAU/CzF,OAAOmF,eAAevM,EAAO6R,KAAK3L,UAAW,SAEzCmG,IAAK,WACD,OAAOzG,KAAKiK,IAAIlQ,KAAK+Q,MAAM5K,EAAInG,KAAK8Q,IAAI3K,MAUhDsB,OAAOmF,eAAevM,EAAO6R,KAAK3L,UAAW,UAEzCmG,IAAK,WACD,OAAOzG,KAAKiK,IAAIlQ,KAAK+Q,MAAM7D,EAAIlN,KAAK8Q,IAAI5D,MAUhDzF,OAAOmF,eAAevM,EAAO6R,KAAK3L,UAAW,WAEzCmG,IAAK,WACD,OAAOzG,KAAK2H,IAAI5N,KAAK2O,MAAQ,uBAUrClH,OAAOmF,eAAevM,EAAO6R,KAAK3L,UAAW,WAEzCmG,IAAK,WACD,OAAOzG,KAAK4H,IAAI7N,KAAK2O,MAAQ,uBAUrClH,OAAOmF,eAAevM,EAAO6R,KAAK3L,UAAW,eAEzCmG,IAAK,WACD,OAAOrM,EAAO4F,KAAKyO,KAAK1U,KAAK2O,MAAQ,oBAAqB1I,KAAKsH,GAAItH,KAAKsH,OAoBhFlN,EAAO6R,KAAKe,iBAAmB,SAAUzD,EAAGI,EAAG/D,EAAGd,EAAGgI,EAAWC,QAE1CzI,IAAdwI,IAA2BA,GAAY,QAC5BxI,IAAXyI,IAAwBA,EAAS,IAAI3S,EAAOoN,OAEhD,IAAIkH,EAAK/E,EAAE1C,EAAIsC,EAAEtC,EACb0H,EAAK7J,EAAEmC,EAAIrB,EAAEqB,EACb2H,EAAKrF,EAAErJ,EAAIyJ,EAAEzJ,EACb2O,EAAKjJ,EAAE1F,EAAI4E,EAAE5E,EACb4O,EAAMnF,EAAEzJ,EAAIqJ,EAAEtC,EAAMsC,EAAErJ,EAAIyJ,EAAE1C,EAC5B8H,EAAMjK,EAAE5E,EAAI0F,EAAEqB,EAAMrB,EAAE1F,EAAI4E,EAAEmC,EAC5B+H,EAASN,EAAKG,EAAOF,EAAKC,EAE9B,GAAc,IAAVI,EAEA,OAAO,KAMX,GAHAjC,EAAO7M,GAAM0O,EAAKG,EAAOF,EAAKC,GAAOE,EACrCjC,EAAO9F,GAAM0H,EAAKG,EAAOJ,EAAKK,GAAOC,EAEjClC,EACJ,CACI,IAAImC,GAAOnK,EAAEmC,EAAIrB,EAAEqB,IAAM0C,EAAEzJ,EAAIqJ,EAAErJ,IAAM4E,EAAE5E,EAAI0F,EAAE1F,IAAMyJ,EAAE1C,EAAIsC,EAAEtC,GACzDiI,IAAQpK,EAAE5E,EAAI0F,EAAE1F,IAAMqJ,EAAEtC,EAAIrB,EAAEqB,IAAOnC,EAAEmC,EAAIrB,EAAEqB,IAAMsC,EAAErJ,EAAI0F,EAAE1F,IAAM+O,EACjEE,IAAQxF,EAAEzJ,EAAIqJ,EAAErJ,IAAMqJ,EAAEtC,EAAIrB,EAAEqB,IAAQ0C,EAAE1C,EAAIsC,EAAEtC,IAAMsC,EAAErJ,EAAI0F,EAAE1F,IAAO+O,EAEvE,OAAIC,GAAM,GAAKA,GAAM,GAAKC,GAAM,GAAKA,GAAM,EAEhCpC,EAIA,KAIf,OAAOA,GAkBX3S,EAAO6R,KAAKrC,WAAa,SAAUL,EAAGI,EAAGmD,EAAWC,GAEhD,OAAO3S,EAAO6R,KAAKe,iBAAiBzD,EAAEuB,MAAOvB,EAAEsB,IAAKlB,EAAEmB,MAAOnB,EAAEkB,IAAKiC,EAAWC,IAsBnF3S,EAAO6R,KAAKnC,oBAAsB,SAAU+C,EAAMuC,GAG9C,GAAoB,IAAhBvC,EAAK/K,QAAgBsN,EAAKC,MAE1B,OAAO,EAGX,IAAIlE,EAAK0B,EAAK/B,MAAM5K,EAChBmL,EAAKwB,EAAK/B,MAAM7D,EAEhBiF,EAAKW,EAAKhC,IAAI3K,EACdiM,EAAKU,EAAKhC,IAAI5D,EAEdqI,EAAMF,EAAKlP,EACXqP,EAAMH,EAAKnI,EACXuI,EAAMJ,EAAK5J,MACXiK,EAAML,EAAK3F,OAEX7H,EAAI,EAKR,GAAKuJ,GAAMmE,GAAOnE,GAAMqE,GAAOnE,GAAMkE,GAAOlE,GAAMoE,GAC7CvD,GAAMoD,GAAOpD,GAAMsD,GAAOrD,GAAMoD,GAAOpD,GAAMsD,EAE9C,OAAO,EAGX,GAAItE,EAAKmE,GAAOpD,GAAMoD,GAKlB,IAFA1N,EAAIyJ,GAAMc,EAAKd,IAAOiE,EAAMnE,IAAOe,EAAKf,IAEhCoE,GAAO3N,GAAK6N,EAEhB,OAAO,OAGV,GAAItE,EAAKqE,GAAOtD,GAAMsD,IAGvB5N,EAAIyJ,GAAMc,EAAKd,IAAOmE,EAAMrE,IAAOe,EAAKf,KAE/BoE,GAAO3N,GAAK6N,EAEjB,OAAO,EAIf,GAAIpE,EAAKkE,GAAOpD,GAAMoD,GAKlB,IAFA3N,EAAIuJ,GAAMe,EAAKf,IAAOoE,EAAMlE,IAAOc,EAAKd,KAE/BiE,GAAO1N,GAAK4N,EAEjB,OAAO,OAGV,GAAInE,EAAKoE,GAAOtD,GAAMsD,IAGvB7N,EAAIuJ,GAAMe,EAAKf,IAAOsE,EAAMpE,IAAOc,EAAKd,KAE/BiE,GAAO1N,GAAK4N,EAEjB,OAAO,EAIf,OAAO,GAcXpV,EAAO6R,KAAKyD,0BAA4B,SAAU7C,EAAMuC,EAAMrC,GAE1D,IAAI4C,EAAOvV,EAAO6R,KAAKyD,0BAElB3C,IAEDA,EAAS,IAAI3S,EAAOoN,OAGnBmI,EAAKC,QAEND,EAAKC,OAAS,IAAIxV,EAAO6R,KAAQ,IAAI7R,EAAO6R,KAAQ,IAAI7R,EAAO6R,KAAQ,IAAI7R,EAAO6R,OAGjF0D,EAAKE,mBAENF,EAAKE,iBAAmB,IAAIzV,EAAOoN,OAGvC,IAAIoI,EAAQD,EAAKC,MACbC,EAAmBF,EAAKE,iBAAiBnJ,IAAI,GAE7C4I,EAAMF,EAAKlP,EACXqP,EAAMH,EAAKnI,EACXuI,EAAMJ,EAAK5J,MACXiK,EAAML,EAAK3F,OACXqG,EAAkBC,EAAAA,EAEtBH,EAAM,GAAG5H,MAAMsH,EAAKC,EAAKC,EAAKD,GAC9BK,EAAM,GAAG5H,MAAMsH,EAAKG,EAAKD,EAAKC,GAC9BG,EAAM,GAAG5H,MAAMsH,EAAKC,EAAKD,EAAKG,GAC9BG,EAAM,GAAG5H,MAAMwH,EAAKD,EAAKC,EAAKC,GAE9B,IAAK,IAAIO,EAAMjO,EAAI,EAAIiO,EAAOJ,EAAM7N,GAAKA,IAErC,GAAI8K,EAAKjD,WAAWoG,GAAM,EAAMH,GAChC,CACI,IAAIxH,EAAWwE,EAAK/B,MAAMzC,SAASwH,GAE/BxH,EAAWyH,IAEXA,EAAkBzH,EAClB0E,EAAO9E,SAAS4H,IAK5B,OAAgB,MAAZxH,EAEO0E,EAGJ,MAaX3S,EAAO6R,KAAKgB,QAAU,SAAU1D,EAAGI,GAE/B,OAAO,EAAIA,EAAEsG,YAAc,kBAAoB1G,EAAEb,OA6BrDtO,EAAO8V,OAAS,SAAU3G,EAAGI,EAAGI,EAAGoG,EAAG/C,EAAIC,QAE5B/I,IAANiF,GAAyB,OAANA,IAAcA,EAAI,QAC/BjF,IAANqF,GAAyB,OAANA,IAAcA,EAAI,QAC/BrF,IAANyF,GAAyB,OAANA,IAAcA,EAAI,QAC/BzF,IAAN6L,GAAyB,OAANA,IAAcA,EAAI,QAC9B7L,IAAP8I,GAA2B,OAAPA,IAAeA,EAAK,QACjC9I,IAAP+I,GAA2B,OAAPA,IAAeA,EAAK,GAM5CtT,KAAKwP,EAAIA,EAMTxP,KAAK4P,EAAIA,EAMT5P,KAAKgQ,EAAIA,EAMThQ,KAAKoW,EAAIA,EAMTpW,KAAKqT,GAAKA,EAMVrT,KAAKsT,GAAKA,EAMVtT,KAAKoI,KAAO/H,EAAOqC,QAIvBrC,EAAO8V,OAAO5P,WAkBV8P,UAAW,SAAUC,GAEjB,OAAOtW,KAAKiO,MAAMqI,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,KAgB9ErI,MAAO,SAAUuB,EAAGI,EAAGI,EAAGoG,EAAG/C,EAAIC,GAS7B,OAPAtT,KAAKwP,EAAIA,EACTxP,KAAK4P,EAAIA,EACT5P,KAAKgQ,EAAIA,EACThQ,KAAKoW,EAAIA,EACTpW,KAAKqT,GAAKA,EACVrT,KAAKsT,GAAKA,EAEHtT,MAaXmM,MAAO,SAAUqC,GAgBb,YAdejE,IAAXiE,GAAmC,OAAXA,EAExBA,EAAS,IAAInO,EAAO8V,OAAOnW,KAAKwP,EAAGxP,KAAK4P,EAAG5P,KAAKgQ,EAAGhQ,KAAKoW,EAAGpW,KAAKqT,GAAIrT,KAAKsT,KAIzE9E,EAAOgB,EAAIxP,KAAKwP,EAChBhB,EAAOoB,EAAI5P,KAAK4P,EAChBpB,EAAOwB,EAAIhQ,KAAKgQ,EAChBxB,EAAO4H,EAAIpW,KAAKoW,EAChB5H,EAAO6E,GAAKrT,KAAKqT,GACjB7E,EAAO8E,GAAKtT,KAAKsT,IAGd9E,GAWXJ,OAAQ,SAAUmI,GAId,OAFAA,EAAOrI,SAASlO,MAETuW,GAWXrI,SAAU,SAAUqI,GAShB,OAPAvW,KAAKwP,EAAI+G,EAAO/G,EAChBxP,KAAK4P,EAAI2G,EAAO3G,EAChB5P,KAAKgQ,EAAIuG,EAAOvG,EAChBhQ,KAAKoW,EAAIG,EAAOH,EAChBpW,KAAKqT,GAAKkD,EAAOlD,GACjBrT,KAAKsT,GAAKiD,EAAOjD,GAEVtT,MAYXwW,QAAS,SAAUC,EAAWH,GA6B1B,YA3Bc/L,IAAV+L,IAAuBA,EAAQ,IAAII,aAAa,IAEhDD,GAEAH,EAAM,GAAKtW,KAAKwP,EAChB8G,EAAM,GAAKtW,KAAK4P,EAChB0G,EAAM,GAAK,EACXA,EAAM,GAAKtW,KAAKgQ,EAChBsG,EAAM,GAAKtW,KAAKoW,EAChBE,EAAM,GAAK,EACXA,EAAM,GAAKtW,KAAKqT,GAChBiD,EAAM,GAAKtW,KAAKsT,GAChBgD,EAAM,GAAK,IAIXA,EAAM,GAAKtW,KAAKwP,EAChB8G,EAAM,GAAKtW,KAAKgQ,EAChBsG,EAAM,GAAKtW,KAAKqT,GAChBiD,EAAM,GAAKtW,KAAK4P,EAChB0G,EAAM,GAAKtW,KAAKoW,EAChBE,EAAM,GAAKtW,KAAKsT,GAChBgD,EAAM,GAAK,EACXA,EAAM,GAAK,EACXA,EAAM,GAAK,GAGRA,GAcXnP,MAAO,SAAUwP,EAAKC,GAOlB,YALerM,IAAXqM,IAAwBA,EAAS,IAAIvW,EAAOoN,OAEhDmJ,EAAOzQ,EAAInG,KAAKwP,EAAImH,EAAIxQ,EAAInG,KAAKgQ,EAAI2G,EAAIzJ,EAAIlN,KAAKqT,GAClDuD,EAAO1J,EAAIlN,KAAK4P,EAAI+G,EAAIxQ,EAAInG,KAAKoW,EAAIO,EAAIzJ,EAAIlN,KAAKsT,GAE3CsD,GAcXC,aAAc,SAAUF,EAAKC,QAEVrM,IAAXqM,IAAwBA,EAAS,IAAIvW,EAAOoN,OAEhD,IAAIqJ,EAAK,GAAK9W,KAAKwP,EAAIxP,KAAKoW,EAAIpW,KAAKgQ,GAAKhQ,KAAK4P,GAC3CzJ,EAAIwQ,EAAIxQ,EACR+G,EAAIyJ,EAAIzJ,EAKZ,OAHA0J,EAAOzQ,EAAInG,KAAKoW,EAAIU,EAAK3Q,GAAKnG,KAAKgQ,EAAI8G,EAAK5J,GAAKlN,KAAKsT,GAAKtT,KAAKgQ,EAAIhQ,KAAKqT,GAAKrT,KAAKoW,GAAKU,EACxFF,EAAO1J,EAAIlN,KAAKwP,EAAIsH,EAAK5J,GAAKlN,KAAK4P,EAAIkH,EAAK3Q,IAAMnG,KAAKsT,GAAKtT,KAAKwP,EAAIxP,KAAKqT,GAAKrT,KAAK4P,GAAKkH,EAElFF,GAaXG,UAAW,SAAU5Q,EAAG+G,GAKpB,OAHAlN,KAAKqT,IAAMlN,EACXnG,KAAKsT,IAAMpG,EAEJlN,MAYXgX,MAAO,SAAU7Q,EAAG+G,GAShB,OAPAlN,KAAKwP,GAAKrJ,EACVnG,KAAKoW,GAAKlJ,EACVlN,KAAKgQ,GAAK7J,EACVnG,KAAK4P,GAAK1C,EACVlN,KAAKqT,IAAMlN,EACXnG,KAAKsT,IAAMpG,EAEJlN,MAWX4S,OAAQ,SAAUjE,GAEd,IAAIf,EAAM3H,KAAK2H,IAAIe,GACfd,EAAM5H,KAAK4H,IAAIc,GAEfgG,EAAK3U,KAAKwP,EACVuF,EAAK/U,KAAKgQ,EACViH,EAAMjX,KAAKqT,GASf,OAPArT,KAAKwP,EAAImF,EAAK/G,EAAI5N,KAAK4P,EAAI/B,EAC3B7N,KAAK4P,EAAI+E,EAAK9G,EAAI7N,KAAK4P,EAAIhC,EAC3B5N,KAAKgQ,EAAI+E,EAAKnH,EAAI5N,KAAKoW,EAAIvI,EAC3B7N,KAAKoW,EAAIrB,EAAKlH,EAAI7N,KAAKoW,EAAIxI,EAC3B5N,KAAKqT,GAAK4D,EAAMrJ,EAAM5N,KAAKsT,GAAKzF,EAChC7N,KAAKsT,GAAK2D,EAAMpJ,EAAM7N,KAAKsT,GAAK1F,EAEzB5N,MAWXkX,OAAQ,SAAUX,GAEd,IAAI5B,EAAK3U,KAAKwP,EACVqF,EAAK7U,KAAK4P,EACVmF,EAAK/U,KAAKgQ,EACVmH,EAAKnX,KAAKoW,EAUd,OARApW,KAAKwP,EAAK+G,EAAO/G,EAAImF,EAAK4B,EAAO3G,EAAImF,EACrC/U,KAAK4P,EAAK2G,EAAO/G,EAAIqF,EAAK0B,EAAO3G,EAAIuH,EACrCnX,KAAKgQ,EAAKuG,EAAOvG,EAAI2E,EAAK4B,EAAOH,EAAIrB,EACrC/U,KAAKoW,EAAKG,EAAOvG,EAAI6E,EAAK0B,EAAOH,EAAIe,EAErCnX,KAAKqT,GAAKkD,EAAOlD,GAAKsB,EAAK4B,EAAOjD,GAAKyB,EAAK/U,KAAKqT,GACjDrT,KAAKsT,GAAKiD,EAAOlD,GAAKwB,EAAK0B,EAAOjD,GAAK6D,EAAKnX,KAAKsT,GAE1CtT,MAUXoX,SAAU,WAEN,OAAOpX,KAAKiO,MAAM,EAAG,EAAG,EAAG,EAAG,EAAG,KAMzC5N,EAAOgX,eAAiB,IAAIhX,EAAO8V,OAmBnC9V,EAAOoN,MAAQ,SAAUtH,EAAG+G,GAExB/G,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EAKTlN,KAAKmG,EAAIA,EAKTnG,KAAKkN,EAAIA,EAMTlN,KAAKoI,KAAO/H,EAAOsC,OAIvBtC,EAAOoN,MAAMlH,WAST2H,SAAU,SAAUC,GAEhB,OAAOnO,KAAKiO,MAAME,EAAOhI,EAAGgI,EAAOjB,IAUvCoK,OAAQ,WAEJ,OAAOtX,KAAKiO,MAAMjO,KAAKkN,EAAGlN,KAAKmG,IAgBnC8H,MAAO,SAAU9H,EAAG+G,GAEhB,OAAO7M,EAAOoN,MAAMd,IAAI3M,KAAMmG,EAAG+G,IAgBrCP,IAAK,SAAUxG,EAAG+G,GAEd,OAAO7M,EAAOoN,MAAMd,IAAI3M,KAAMmG,EAAG+G,IAarCqK,WAAY,SAASC,EAAS1J,EAAQc,GAKpC,OAHc,MAAVd,IAAkBA,EAAS,GAC3Bc,IAAa4I,EAAUnX,EAAO4F,KAAK6J,SAAS0H,IAEzCxX,KAAKiO,MAAMhI,KAAK2H,IAAI4J,GAAW1J,EAAQ7H,KAAK4H,IAAI2J,GAAW1J,IAYpEyF,IAAK,SAAUpN,EAAG+G,GAId,OAFAlN,KAAKmG,GAAKA,EACVnG,KAAKkN,GAAKA,EACHlN,MAYXyX,SAAU,SAAUtR,EAAG+G,GAInB,OAFAlN,KAAKmG,GAAKA,EACVnG,KAAKkN,GAAKA,EACHlN,MAYX0X,SAAU,SAAUvR,EAAG+G,GAInB,OAFAlN,KAAKmG,GAAKA,EACVnG,KAAKkN,GAAKA,EACHlN,MAYX2X,OAAQ,SAAUxR,EAAG+G,GAIjB,OAFAlN,KAAKmG,GAAKA,EACVnG,KAAKkN,GAAKA,EACHlN,MAYX4X,OAAQ,SAAUhE,EAAKE,GAGnB,OADA9T,KAAKmG,EAAI9F,EAAO4F,KAAK4R,MAAM7X,KAAKmG,EAAGyN,EAAKE,GACjC9T,MAYX8X,OAAQ,SAAUlE,EAAKE,GAGnB,OADA9T,KAAKkN,EAAI7M,EAAO4F,KAAK4R,MAAM7X,KAAKkN,EAAG0G,EAAKE,GACjC9T,MAYX6X,MAAO,SAAUjE,EAAKE,GAIlB,OAFA9T,KAAKmG,EAAI9F,EAAO4F,KAAK4R,MAAM7X,KAAKmG,EAAGyN,EAAKE,GACxC9T,KAAKkN,EAAI7M,EAAO4F,KAAK4R,MAAM7X,KAAKkN,EAAG0G,EAAKE,GACjC9T,MAWX+X,KAAM,SAAU1C,GAEZ,IAAI3J,EAAO2J,EAAK3J,KAAM+D,EAAM4F,EAAK5F,IAAKhE,EAAQ4J,EAAK5J,MAAOiE,EAAS2F,EAAK3F,OAOxE,OALS1P,KAAKmG,EAAIuF,EAAU1L,KAAKmG,EAAIuF,EAC5B1L,KAAKmG,EAAIsF,IAAUzL,KAAKmG,EAAIsF,GAC5BzL,KAAKkN,EAAIuC,EAAUzP,KAAKkN,EAAIuC,EAC5BzP,KAAKkN,EAAIwC,IAAU1P,KAAKkN,EAAIwC,GAE9B1P,MAWXmM,MAAO,SAAUqC,GAWb,YATejE,IAAXiE,GAAmC,OAAXA,EAExBA,EAAS,IAAInO,EAAOoN,MAAMzN,KAAKmG,EAAGnG,KAAKkN,GAIvCsB,EAAOP,MAAMjO,KAAKmG,EAAGnG,KAAKkN,GAGvBsB,GAWXJ,OAAQ,SAAUC,GAKd,OAHAA,EAAKlI,EAAInG,KAAKmG,EACdkI,EAAKnB,EAAIlN,KAAKkN,EAEPmB,GAYXC,SAAU,SAAUD,EAAME,GAEtB,OAAOlO,EAAOoN,MAAMa,SAAStO,KAAMqO,EAAME,IAW7CoB,OAAQ,SAAUH,GAEd,OAAOA,EAAErJ,IAAMnG,KAAKmG,GAAKqJ,EAAEtC,IAAMlN,KAAKkN,GAY1C8K,SAAU,SAAU7R,EAAG+G,GAEnB,OAAOlN,KAAKmG,IAAMA,GAAKnG,KAAKkN,IAAMA,GAItC+K,YAAa,SAAUzI,EAAGiE,GAEtB,OAAOpT,EAAOoN,MAAMwK,YAAYjY,KAAMwP,EAAGiE,IAI7CyE,cAAe,SAAU/R,EAAG+G,EAAGuG,GAE3B,OAAOpT,EAAOoN,MAAMyK,cAAclY,KAAMmG,EAAG+G,EAAGuG,IAYlD9E,MAAO,SAAUa,EAAGZ,GAIhB,YAFkBrE,IAAdqE,IAA2BA,GAAY,GAEvCA,EAEOvO,EAAO4F,KAAKkS,SAASlS,KAAKwO,MAAMjF,EAAEtC,EAAIlN,KAAKkN,EAAGsC,EAAErJ,EAAInG,KAAKmG,IAIzDF,KAAKwO,MAAMjF,EAAEtC,EAAIlN,KAAKkN,EAAGsC,EAAErJ,EAAInG,KAAKmG,IAgBnDyM,OAAQ,SAAUzM,EAAG+G,EAAGyB,EAAOC,EAAWN,GAEtC,OAAOjO,EAAOoN,MAAMmF,OAAO5S,KAAMmG,EAAG+G,EAAGyB,EAAOC,EAAWN,IAU7D8J,aAAc,WAEV,OAAOnS,KAAKkL,KAAMnR,KAAKmG,EAAInG,KAAKmG,EAAMnG,KAAKkN,EAAIlN,KAAKkN,IAUxDmL,eAAgB,WAEZ,OAAQrY,KAAKmG,EAAInG,KAAKmG,EAAMnG,KAAKkN,EAAIlN,KAAKkN,GAW9CoL,aAAc,SAAUC,GAEpB,OAAOvY,KAAKwY,YAAYd,SAASa,EAAWA,IAUhDC,UAAW,WAEP,IAAKxY,KAAKyY,SACV,CACI,IAAI5H,EAAI7Q,KAAKoY,eACbpY,KAAKmG,GAAK0K,EACV7Q,KAAKkN,GAAK2D,EAGd,OAAO7Q,MAWX0Y,MAAO,SAAU5E,GAOb,OALI9T,KAAKqY,iBAAmBvE,EAAMA,GAE9B9T,KAAKsY,aAAaxE,GAGf9T,MAUXyY,OAAQ,WAEJ,OAAmB,IAAXzY,KAAKmG,GAAsB,IAAXnG,KAAKkN,GAWjCyL,IAAK,SAAUnJ,GAEX,OAASxP,KAAKmG,EAAIqJ,EAAErJ,EAAMnG,KAAKkN,EAAIsC,EAAEtC,GAWzC0L,MAAO,SAAUpJ,GAEb,OAASxP,KAAKmG,EAAIqJ,EAAEtC,EAAMlN,KAAKkN,EAAIsC,EAAErJ,GAUzC0S,KAAM,WAEF,OAAO7Y,KAAKiO,OAAOjO,KAAKkN,EAAGlN,KAAKmG,IAUpC2S,MAAO,WAEH,OAAO9Y,KAAKiO,MAAMjO,KAAKkN,GAAIlN,KAAKmG,IAUpC4S,gBAAiB,WAEb,OAAO/Y,KAAKiO,OAAgB,EAAVjO,KAAKkN,EAAQlN,KAAKmG,IAUxCE,MAAO,WAEH,OAAOrG,KAAKiO,MAAMhI,KAAKI,MAAMrG,KAAKmG,GAAIF,KAAKI,MAAMrG,KAAKkN,KAU1D9G,KAAM,WAEF,OAAOpG,KAAKiO,MAAMhI,KAAKG,KAAKpG,KAAKmG,GAAIF,KAAKG,KAAKpG,KAAKkN,KAUxDxF,SAAU,WAEN,MAAO,cAAgB1H,KAAKmG,EAAI,MAAQnG,KAAKkN,EAAI,QAMzD7M,EAAOoN,MAAMlH,UAAU8B,YAAchI,EAAOoN,MAW5CpN,EAAOoN,MAAM8F,IAAM,SAAU/D,EAAGI,EAAGpC,GAO/B,YALYjD,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1CD,EAAIrH,EAAIqJ,EAAErJ,EAAIyJ,EAAEzJ,EAChBqH,EAAIN,EAAIsC,EAAEtC,EAAI0C,EAAE1C,EAETM,GAaXnN,EAAOoN,MAAMgK,SAAW,SAAUjI,EAAGI,EAAGpC,GAOpC,YALYjD,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1CD,EAAIrH,EAAIqJ,EAAErJ,EAAIyJ,EAAEzJ,EAChBqH,EAAIN,EAAIsC,EAAEtC,EAAI0C,EAAE1C,EAETM,GAaXnN,EAAOoN,MAAMiK,SAAW,SAAUlI,EAAGI,EAAGpC,GAOpC,YALYjD,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1CD,EAAIrH,EAAIqJ,EAAErJ,EAAIyJ,EAAEzJ,EAChBqH,EAAIN,EAAIsC,EAAEtC,EAAI0C,EAAE1C,EAETM,GAaXnN,EAAOoN,MAAMkK,OAAS,SAAUnI,EAAGI,EAAGpC,GAOlC,YALYjD,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1CD,EAAIrH,EAAIqJ,EAAErJ,EAAIyJ,EAAEzJ,EAChBqH,EAAIN,EAAIsC,EAAEtC,EAAI0C,EAAE1C,EAETM,GAYXnN,EAAOoN,MAAMkC,OAAS,SAAUH,EAAGI,GAE/B,OAAOJ,EAAErJ,IAAMyJ,EAAEzJ,GAAKqJ,EAAEtC,IAAM0C,EAAE1C,GAIpC7M,EAAOoN,MAAMuK,SAAW,SAAUxI,EAAGrJ,EAAG+G,GAEpC,OAAOsC,EAAErJ,IAAMA,GAAKqJ,EAAEtC,IAAMA,GAIhC7M,EAAOoN,MAAMwK,YAAc,SAAUzI,EAAGI,EAAG6D,GAEvC,OAAOpT,EAAO4F,KAAKgS,YAAYzI,EAAErJ,EAAGyJ,EAAEzJ,EAAGsN,IAClCpT,EAAO4F,KAAKgS,YAAYzI,EAAEtC,EAAG0C,EAAE1C,EAAGuG,IAI7CpT,EAAOoN,MAAMyK,cAAgB,SAAU1I,EAAGrJ,EAAG+G,EAAGuG,GAE5C,OAAOpT,EAAO4F,KAAKgS,YAAYzI,EAAErJ,EAAGA,EAAGsN,IAChCpT,EAAO4F,KAAKgS,YAAYzI,EAAEtC,EAAGA,EAAGuG,IAY3CpT,EAAOoN,MAAMkB,MAAQ,SAAUa,EAAGI,GAG9B,OAAO3J,KAAKwO,MAAMjF,EAAEtC,EAAI0C,EAAE1C,EAAGsC,EAAErJ,EAAIyJ,EAAEzJ,IAYzC9F,EAAOoN,MAAMuL,SAAW,SAAUxJ,EAAGhC,GAIjC,YAFYjD,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,OAEnCD,EAAIS,OAAOuB,EAAErJ,GAAIqJ,EAAEtC,IAc9B7M,EAAOoN,MAAMwL,YAAc,SAAUzJ,EAAGI,EAAGsJ,EAAG1L,GAI1C,YAFYjD,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,OAEnCD,EAAIS,MAAMuB,EAAErJ,EAAIyJ,EAAEzJ,EAAI+S,EAAG1J,EAAEtC,EAAI0C,EAAE1C,EAAIgM,IAchD7Y,EAAOoN,MAAM0L,YAAc,SAAU3J,EAAGI,EAAG7E,EAAGyC,GAI1C,YAFYjD,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,OAEnCD,EAAIS,MAAMuB,EAAErJ,GAAKyJ,EAAEzJ,EAAIqJ,EAAErJ,GAAK4E,EAAGyE,EAAEtC,GAAK0C,EAAE1C,EAAIsC,EAAEtC,GAAKnC,IAYhE1K,EAAOoN,MAAMoL,KAAO,SAAUrJ,EAAGhC,GAI7B,YAFYjD,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,OAEnCD,EAAIS,OAAOuB,EAAEtC,EAAGsC,EAAErJ,IAY7B9F,EAAOoN,MAAMqL,MAAQ,SAAUtJ,EAAGhC,GAI9B,YAFYjD,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,OAEnCD,EAAIS,MAAMuB,EAAEtC,GAAIsC,EAAErJ,IAa7B9F,EAAOoN,MAAMa,SAAW,SAAUkB,EAAGI,EAAGrB,GAEpC,IAAID,EAAWjO,EAAO4F,KAAKqI,SAASkB,EAAErJ,EAAGqJ,EAAEtC,EAAG0C,EAAEzJ,EAAGyJ,EAAE1C,GACrD,OAAOqB,EAAQtI,KAAKsI,MAAMD,GAAYA,GAa1CjO,EAAOoN,MAAM2L,QAAU,SAAU5J,EAAGI,EAAGpC,QAEvBjD,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1C,IAAI4L,EAAM7J,EAAEmJ,IAAI/I,GAAKA,EAAEyI,iBAOvB,OALY,IAARgB,GAEA7L,EAAIS,MAAMoL,EAAMzJ,EAAEzJ,EAAGkT,EAAMzJ,EAAE1C,GAG1BM,GAaXnN,EAAOoN,MAAM6L,YAAc,SAAU9J,EAAGI,EAAGpC,QAE3BjD,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1C,IAAI4L,EAAM7J,EAAEmJ,IAAI/I,GAOhB,OALY,IAARyJ,GAEA7L,EAAIS,MAAMoL,EAAMzJ,EAAEzJ,EAAGkT,EAAMzJ,EAAE1C,GAG1BM,GAYXnN,EAAOoN,MAAMsL,gBAAkB,SAAUvJ,EAAGhC,GAIxC,YAFYjD,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,OAEnCD,EAAIS,OAAa,EAAPuB,EAAEtC,EAAQsC,EAAErJ,IAYjC9F,EAAOoN,MAAM+K,UAAY,SAAUhJ,EAAGhC,QAEtBjD,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1C,IAAIoD,EAAIrB,EAAE4I,eAOV,OALU,IAANvH,GAEArD,EAAIS,MAAMuB,EAAErJ,EAAI0K,EAAGrB,EAAEtC,EAAI2D,GAGtBrD,GAqBXnN,EAAOoN,MAAMmF,OAAS,SAAUpD,EAAGrJ,EAAG+G,EAAGyB,EAAOC,EAAWN,GAIvD,GAFIM,IAAaD,EAAQtO,EAAO4F,KAAK6J,SAASnB,SAE7BpE,IAAb+D,EACJ,CACIkB,EAAEiI,SAAStR,EAAG+G,GAEd,IAAIgM,EAAIjT,KAAK4H,IAAIc,GACbqB,EAAI/J,KAAK2H,IAAIe,GAEb0E,EAAKrD,EAAIR,EAAErJ,EAAI+S,EAAI1J,EAAEtC,EACrBoG,EAAK4F,EAAI1J,EAAErJ,EAAI6J,EAAIR,EAAEtC,EAEzBsC,EAAErJ,EAAIkN,EAAKlN,EACXqJ,EAAEtC,EAAIoG,EAAKpG,MAGf,CACI,IAAIrF,EAAI8G,EAAQ1I,KAAKwO,MAAMjF,EAAEtC,EAAIA,EAAGsC,EAAErJ,EAAIA,GAC1CqJ,EAAErJ,EAAIA,EAAImI,EAAWrI,KAAK2H,IAAI/F,GAC9B2H,EAAEtC,EAAIA,EAAIoB,EAAWrI,KAAK4H,IAAIhG,GAGlC,OAAO2H,GAYXnP,EAAOoN,MAAM8L,SAAW,SAAUC,EAAQhM,GAItC,QAFYjD,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,OAEK,mBAA3ChG,OAAOlB,UAAUmB,SAASV,KAAKwS,GAE/B,MAAM,IAAIC,MAAM,qDAGpB,IAAIC,EAAeF,EAAOzR,OAE1B,GAAI2R,EAAe,EAEf,MAAM,IAAID,MAAM,4DAGpB,GAAqB,IAAjBC,EAGA,OADAlM,EAAIU,SAASsL,EAAO,IACbhM,EAGX,IAAK,IAAIxF,EAAI,EAAGA,EAAI0R,EAAc1R,IAE9B3H,EAAOoN,MAAM8F,IAAI/F,EAAKgM,EAAOxR,GAAIwF,GAKrC,OAFAA,EAAImK,OAAO+B,EAAcA,GAElBlM,GAeXnN,EAAOoN,MAAMkM,MAAQ,SAASlQ,EAAKmQ,EAAOC,GAEtCD,EAAQA,GAAS,IACjBC,EAAQA,GAAS,IAEjB,IAAItK,EAAQ,IAAIlP,EAAOoN,MAYvB,OAVIhE,EAAImQ,KAEJrK,EAAMpJ,EAAI+E,SAASzB,EAAImQ,GAAQ,KAG/BnQ,EAAIoQ,KAEJtK,EAAMrC,EAAIhC,SAASzB,EAAIoQ,GAAQ,KAG5BtK,GAWXlP,EAAOoN,MAAMqM,QAAU,SAASrQ,GAE5B,OAAe,MAAPA,GAAkC,iBAAVA,EAAItD,GAAqC,iBAAVsD,EAAIyD,GAcvE7M,EAAOoN,MAAMd,IAAM,SAASlD,EAAKtD,EAAG+G,GAKhC,OAHAzD,EAAItD,EAAIA,GAAK,EACbsD,EAAIyD,EAAIA,IAAc,IAANA,EAAWzD,EAAItD,EAAI,GAE5BsD,GAKX1D,KAAK0H,MAAQpN,EAAOoN,MAyBpBpN,EAAO0Z,QAAU,WAKb/Z,KAAKga,KAAO,EAMZha,KAAKia,WAEDhT,UAAUc,OAAS,GAEnB/H,KAAKiO,MAAM9G,MAAMnH,KAAMiH,WAM3BjH,KAAKka,QAAS,EAKdla,KAAKma,WAAY,EAKjBna,KAAKoI,KAAO/H,EAAOyB,SAIvBzB,EAAO0Z,QAAQxT,WASX6T,cAAe,SAAU5L,QAENjE,IAAXiE,IAAwBA,MAE5B,IAAK,IAAIxG,EAAI,EAAGA,EAAIhI,KAAKia,QAAQlS,OAAQC,IAEN,iBAApBhI,KAAKia,QAAQjS,IAEpBwG,EAAO+F,KAAKvU,KAAKia,QAAQjS,IACzBwG,EAAO+F,KAAKvU,KAAKia,QAAQjS,EAAI,IAC7BA,MAIAwG,EAAO+F,KAAKvU,KAAKia,QAAQjS,GAAG7B,GAC5BqI,EAAO+F,KAAKvU,KAAKia,QAAQjS,GAAGkF,IAIpC,OAAOsB,GAYX6L,QAAS,WAML,OAJAra,KAAKia,QAAUja,KAAKoa,gBAEpBpa,KAAKma,WAAY,EAEVna,MAYXmM,MAAO,SAAUqC,GAEb,IAAIgL,EAASxZ,KAAKia,QAAQxT,QAW1B,YATe8D,IAAXiE,GAAmC,OAAXA,EAExBA,EAAS,IAAInO,EAAO0Z,QAAQP,GAI5BhL,EAAOP,MAAMuL,GAGVhL,GAYXC,SAAU,SAAUtI,EAAG+G,GAInB,IAAIoN,GAAS,EAEb,GAAIta,KAAKma,UAEL,IAAK,IAAInS,GAAK,EAAGuS,EAAIva,KAAKia,QAAQlS,OAAS,GAAIC,GAAK,GAAKhI,KAAKia,QAAQlS,OAAQwS,EAAIvS,EAClF,CACI,IAAIwS,EAAKxa,KAAKia,QAAQjS,GAClByS,EAAKza,KAAKia,QAAQjS,EAAI,GAEtB0S,EAAK1a,KAAKia,QAAQM,GAClBI,EAAK3a,KAAKia,QAAQM,EAAI,IAEpBE,GAAMvN,GAAKA,EAAIyN,GAAQA,GAAMzN,GAAKA,EAAIuN,IAAStU,GAAKuU,EAAKF,IAAOtN,EAAIuN,IAAOE,EAAKF,GAAMD,IAExFF,GAAUA,QAOlB,IAAK,IAAItS,GAAK,EAAGuS,EAAIva,KAAKia,QAAQlS,OAAS,IAAKC,EAAIhI,KAAKia,QAAQlS,OAAQwS,EAAIvS,EAC7E,CACI,IAAIwS,EAAKxa,KAAKia,QAAQjS,GAAG7B,EACrBsU,EAAKza,KAAKia,QAAQjS,GAAGkF,EAErBwN,EAAK1a,KAAKia,QAAQM,GAAGpU,EACrBwU,EAAK3a,KAAKia,QAAQM,GAAGrN,GAEnBuN,GAAMvN,GAAKA,EAAIyN,GAAQA,GAAMzN,GAAKA,EAAIuN,IAAStU,GAAKuU,EAAKF,IAAOtN,EAAIuN,IAAOE,EAAKF,GAAMD,IAExFF,GAAUA,GAKtB,OAAOA,GAuBXrM,MAAO,SAAUuL,GAKb,GAHAxZ,KAAKga,KAAO,EACZha,KAAKia,WAEDhT,UAAUc,OAAS,EACvB,CAESrB,MAAMa,QAAQiS,KAEfA,EAAS9S,MAAMH,UAAUE,MAAMO,KAAKC,YAMxC,IAAK,IAHDoK,EAAKuJ,OAAOC,UAGP7S,EAAI,EAAGF,EAAM0R,EAAOzR,OAAQC,EAAIF,EAAKE,IAC9C,CACI,GAAyB,iBAAdwR,EAAOxR,GAClB,CACQ+J,EAAI,IAAIhM,KAAK0H,MAAM+L,EAAOxR,GAAIwR,EAAOxR,EAAI,IAC7CA,SAEC,GAAItB,MAAMa,QAAQiS,EAAOxR,IAEtB+J,EAAI,IAAIhM,KAAK0H,MAAM+L,EAAOxR,GAAG,GAAIwR,EAAOxR,GAAG,SAI/C,IAAI+J,EAAI,IAAIhM,KAAK0H,MAAM+L,EAAOxR,GAAG7B,EAAGqT,EAAOxR,GAAGkF,GAGlDlN,KAAKia,QAAQ1F,KAAKxC,GAGdA,EAAE7E,EAAImE,IAENA,EAAKU,EAAE7E,GAIflN,KAAK8a,cAAczJ,GAGvB,OAAOrR,MAYX8a,cAAe,SAAUzJ,GAOrB,IAAK,IALDG,EACAuJ,EACAC,EACAnJ,EAEK7J,EAAI,EAAGF,EAAM9H,KAAKia,QAAQlS,OAAQC,EAAIF,EAAKE,IAEhDwJ,EAAKxR,KAAKia,QAAQjS,GAId+S,EAFA/S,IAAMF,EAAM,EAEP9H,KAAKia,QAAQ,GAIbja,KAAKia,QAAQjS,EAAI,GAG1BgT,GAAcxJ,EAAGtE,EAAImE,GAAO0J,EAAG7N,EAAImE,IAAO,EAC1CQ,EAAQL,EAAGrL,EAAI4U,EAAG5U,EAClBnG,KAAKga,MAAQgB,EAAYnJ,EAG7B,OAAO7R,KAAKga,OAMpB3Z,EAAO0Z,QAAQxT,UAAU8B,YAAchI,EAAO0Z,QAW9CtS,OAAOmF,eAAevM,EAAO0Z,QAAQxT,UAAW,UAE5CmG,IAAK,WACD,OAAO1M,KAAKia,SAGhBtN,IAAK,SAAS6M,GAEI,MAAVA,EAEAxZ,KAAKiO,MAAMuL,GAKXxZ,KAAKiO,WAQjBlI,KAAKgU,QAAU1Z,EAAO0Z,QAmBtB1Z,EAAO2N,UAAY,SAAU7H,EAAG+G,EAAG2E,EAAOC,GAEtC3L,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EACT2E,EAAQA,GAAS,EACjBC,EAASA,GAAU,EAKnB9R,KAAKmG,EAAIA,EAKTnG,KAAKkN,EAAIA,EAKTlN,KAAK6R,MAAQA,EAKb7R,KAAK8R,OAASA,EAMd9R,KAAKoI,KAAO/H,EAAOmC,WAIvBnC,EAAO2N,UAAUzH,WASb4I,OAAQ,SAAUC,EAAIC,GAKlB,OAHArP,KAAKmG,GAAKiJ,EACVpP,KAAKkN,GAAKmC,EAEHrP,MAUXsP,YAAa,SAAUC,GAEnB,OAAOvP,KAAKmP,OAAOI,EAAMpJ,EAAGoJ,EAAMrC,IAatCe,MAAO,SAAU9H,EAAG+G,EAAG2E,EAAOC,GAO1B,OALA9R,KAAKmG,EAAIA,EACTnG,KAAKkN,EAAIA,EACTlN,KAAK6R,MAAQA,EACb7R,KAAK8R,OAASA,EAEP9R,MAYXgX,MAAO,SAAU7Q,EAAG+G,GAOhB,YALU3C,IAAN2C,IAAmBA,EAAI/G,GAE3BnG,KAAK6R,OAAS1L,EACdnG,KAAK8R,QAAU5E,EAERlN,MAYXoT,SAAU,SAAUjN,EAAG+G,GAKnB,OAHAlN,KAAKyS,QAAUtM,EACfnG,KAAK0S,QAAUxF,EAERlN,MAQXqG,MAAO,WAEHrG,KAAKmG,EAAIF,KAAKI,MAAMrG,KAAKmG,GACzBnG,KAAKkN,EAAIjH,KAAKI,MAAMrG,KAAKkN,IAQ7B+N,SAAU,WAENjb,KAAKmG,EAAIF,KAAKI,MAAMrG,KAAKmG,GACzBnG,KAAKkN,EAAIjH,KAAKI,MAAMrG,KAAKkN,GACzBlN,KAAK6R,MAAQ5L,KAAKI,MAAMrG,KAAK6R,OAC7B7R,KAAK8R,OAAS7L,KAAKI,MAAMrG,KAAK8R,SAQlC1L,KAAM,WAEFpG,KAAKmG,EAAIF,KAAKG,KAAKpG,KAAKmG,GACxBnG,KAAKkN,EAAIjH,KAAKG,KAAKpG,KAAKkN,IAQ5BgO,QAAS,WAELlb,KAAKmG,EAAIF,KAAKG,KAAKpG,KAAKmG,GACxBnG,KAAKkN,EAAIjH,KAAKG,KAAKpG,KAAKkN,GACxBlN,KAAK6R,MAAQ5L,KAAKG,KAAKpG,KAAK6R,OAC5B7R,KAAK8R,OAAS7L,KAAKG,KAAKpG,KAAK8R,SAUjC5D,SAAU,SAAUC,GAEhB,OAAOnO,KAAKiO,MAAME,EAAOhI,EAAGgI,EAAOjB,EAAGiB,EAAO0D,MAAO1D,EAAO2D,SAU/DqJ,eAAgB,SAAShN,GAErB,OAAOnO,KAAKiO,MAAME,EAAOzC,KAAMyC,EAAOsB,IAAKtB,EAAO0D,MAAO1D,EAAO2D,SAUpE1D,OAAQ,SAAUC,GAOd,OALAA,EAAKlI,EAAInG,KAAKmG,EACdkI,EAAKnB,EAAIlN,KAAKkN,EACdmB,EAAKwD,MAAQ7R,KAAK6R,MAClBxD,EAAKyD,OAAS9R,KAAK8R,OAEZzD,GAWX+M,QAAS,SAAUhM,EAAIC,GAEnB,OAAOhP,EAAO2N,UAAUoN,QAAQpb,KAAMoP,EAAIC,IAU9CxE,KAAM,SAAU2D,GAEZ,OAAOnO,EAAO2N,UAAUnD,KAAK7K,KAAMwO,IAavC6M,OAAQ,SAAUxJ,EAAOC,GAKrB,OAHA9R,KAAK6R,MAAQA,EACb7R,KAAK8R,OAASA,EAEP9R,MAUXmM,MAAO,SAAUqC,GAEb,OAAOnO,EAAO2N,UAAU7B,MAAMnM,KAAMwO,IAWxCC,SAAU,SAAUtI,EAAG+G,GAEnB,OAAO7M,EAAO2N,UAAUS,SAASzO,KAAMmG,EAAG+G,IAW9CoO,aAAc,SAAU1L,GAEpB,OAAOvP,EAAO2N,UAAUsN,aAAa1L,EAAG5P,OAW5C2P,OAAQ,SAAUC,GAEd,OAAOvP,EAAO2N,UAAU2B,OAAO3P,KAAM4P,IAWzC2L,aAAc,SAAU3L,EAAGpC,GAEvB,OAAOnN,EAAO2N,UAAUuN,aAAavb,KAAM4P,EAAGpC,IAYlDqC,WAAY,SAAUD,GAElB,OAAOvP,EAAO2N,UAAU6B,WAAW7P,KAAM4P,IAe7C4L,cAAe,SAAU9P,EAAMD,EAAOgE,EAAKC,EAAQ+L,GAE/C,OAAOpb,EAAO2N,UAAUwN,cAAcxb,KAAM0L,EAAMD,EAAOgE,EAAKC,EAAQ+L,IAW1EC,MAAO,SAAU9L,EAAGpC,GAEhB,OAAOnN,EAAO2N,UAAU0N,MAAM1b,KAAM4P,EAAGpC,IAY3ChD,OAAQ,SAAUgD,GAOd,YALYjD,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1CD,EAAIrH,EAAInG,KAAK2b,QACbnO,EAAIN,EAAIlN,KAAK4b,QAENpO,GAoBXqO,SAAU,SAAUC,EAAUtO,GAI1B,YAFYjD,IAARiD,IAAqBA,EAAM,IAAInN,EAAOoN,OAElCqO,GAEJ,QACA,KAAKzb,EAAOuD,SACR,OAAO4J,EAAIb,IAAI3M,KAAKmG,EAAGnG,KAAKkN,GAEhC,KAAK7M,EAAOwD,WACR,OAAO2J,EAAIb,IAAI3M,KAAKyS,QAASzS,KAAKkN,GAEtC,KAAK7M,EAAOyD,UACR,OAAO0J,EAAIb,IAAI3M,KAAKyL,MAAOzL,KAAKkN,GAEpC,KAAK7M,EAAO2D,YACR,OAAOwJ,EAAIb,IAAI3M,KAAKmG,EAAGnG,KAAK0S,SAEhC,KAAKrS,EAAO6D,OACR,OAAOsJ,EAAIb,IAAI3M,KAAKyS,QAASzS,KAAK0S,SAEtC,KAAKrS,EAAO+D,aACR,OAAOoJ,EAAIb,IAAI3M,KAAKyL,MAAOzL,KAAK0S,SAEpC,KAAKrS,EAAOiE,YACR,OAAOkJ,EAAIb,IAAI3M,KAAKmG,EAAGnG,KAAK0P,QAEhC,KAAKrP,EAAOkE,cACR,OAAOiJ,EAAIb,IAAI3M,KAAKyS,QAASzS,KAAK0P,QAEtC,KAAKrP,EAAOmE,aACR,OAAOgJ,EAAIb,IAAI3M,KAAKyL,MAAOzL,KAAK0P,UAe5CqM,MAAO,SAAUtM,EAAKhE,EAAOiE,EAAQhE,GAE5BzE,UAAUc,SACX0H,EAAM,IAAIpP,EAAO6R,KACjBzG,EAAQ,IAAIpL,EAAO6R,KACnBxC,EAAS,IAAIrP,EAAO6R,KACpBxG,EAAO,IAAIrL,EAAO6R,MAGtB,IAAId,EAAKpR,KAAKmG,EACVmL,EAAKtR,KAAKkN,EACViF,EAAKnS,KAAKyL,MACV2G,EAAKpS,KAAK0P,OAOd,OALAD,EAAIxB,MAAMmD,EAAIE,EAAIa,EAAIb,GACtB7F,EAAMwC,MAAMkE,EAAIb,EAAIa,EAAIC,GACxB1C,EAAOzB,MAAMmD,EAAIgB,EAAID,EAAIC,GACzB1G,EAAKuC,MAAMmD,EAAIE,EAAIF,EAAIgB,GAElBnL,UAAUc,OAIR,MAHK0H,EAAKhE,EAAOiE,EAAQhE,IAYpChE,SAAU,WAEN,MAAO,kBAAoB1H,KAAKmG,EAAI,MAAQnG,KAAKkN,EAAI,UAAYlN,KAAK6R,MAAQ,WAAa7R,KAAK8R,OAAS,UAAY9R,KAAKsV,MAAQ,QAW1I7N,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,aAE9CmG,IAAK,WACD,OAAOzG,KAAKsI,MAAMvO,KAAK6R,MAAQ,MAUvCpK,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,cAE9CmG,IAAK,WACD,OAAOzG,KAAKsI,MAAMvO,KAAK8R,OAAS,MAUxCrK,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,UAE9CmG,IAAK,WACD,OAAO1M,KAAKkN,EAAIlN,KAAK8R,QAGzBnF,IAAK,SAAUzC,GAEPA,GAASlK,KAAKkN,EAEdlN,KAAK8R,OAAS,EAId9R,KAAK8R,OAAS5H,EAAQlK,KAAKkN,KAYvCzF,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,cAE9CmG,IAAK,WACD,OAAO,IAAIrM,EAAOoN,MAAMzN,KAAKmG,EAAGnG,KAAK0P,SAGzC/C,IAAK,SAAUzC,GACXlK,KAAKmG,EAAI+D,EAAM/D,EACfnG,KAAK0P,OAASxF,EAAMgD,KAU5BzF,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,eAE9CmG,IAAK,WACD,OAAO,IAAIrM,EAAOoN,MAAMzN,KAAKyL,MAAOzL,KAAK0P,SAG7C/C,IAAK,SAAUzC,GACXlK,KAAKyL,MAAQvB,EAAM/D,EACnBnG,KAAK0P,OAASxF,EAAMgD,KAU5BzF,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,QAE9CmG,IAAK,WACD,OAAO1M,KAAKmG,GAGhBwG,IAAK,SAAUzC,GACPA,GAASlK,KAAKyL,MACdzL,KAAK6R,MAAQ,EAEb7R,KAAK6R,MAAQ7R,KAAKyL,MAAQvB,EAE9BlK,KAAKmG,EAAI+D,KAUjBzC,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,SAE9CmG,IAAK,WACD,OAAO1M,KAAKmG,EAAInG,KAAK6R,OAGzBlF,IAAK,SAAUzC,GACPA,GAASlK,KAAKmG,EACdnG,KAAK6R,MAAQ,EAEb7R,KAAK6R,MAAQ3H,EAAQlK,KAAKmG,KAYtCsB,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,UAE9CmG,IAAK,WACD,OAAO1M,KAAK6R,MAAQ7R,KAAK8R,UAWjCrK,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,aAE9CmG,IAAK,WACD,OAAqB,EAAb1M,KAAK6R,MAA4B,EAAd7R,KAAK8R,UAUxCrK,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,WAE9CmG,IAAK,WACD,OAAO1M,KAAKmG,EAAInG,KAAKmQ,WAGzBxD,IAAK,SAAUzC,GACXlK,KAAKmG,EAAI+D,EAAQlK,KAAKmQ,aAU9B1I,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,WAE9CmG,IAAK,WACD,OAAO1M,KAAKkN,EAAIlN,KAAKqQ,YAGzB1D,IAAK,SAAUzC,GACXlK,KAAKkN,EAAIhD,EAAQlK,KAAKqQ,cAW9B5I,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,WAE9CmG,IAAK,WAED,OAAO1M,KAAKmG,EAAKF,KAAKuE,SAAWxK,KAAK6R,SAY9CpK,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,WAE9CmG,IAAK,WAED,OAAO1M,KAAKkN,EAAKjH,KAAKuE,SAAWxK,KAAK8R,UAY9CrK,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,OAE9CmG,IAAK,WACD,OAAO1M,KAAKkN,GAGhBP,IAAK,SAAUzC,GACPA,GAASlK,KAAK0P,QACd1P,KAAK8R,OAAS,EACd9R,KAAKkN,EAAIhD,GAETlK,KAAK8R,OAAU9R,KAAK0P,OAASxF,KAWzCzC,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,WAE9CmG,IAAK,WACD,OAAO,IAAIrM,EAAOoN,MAAMzN,KAAKmG,EAAGnG,KAAKkN,IAGzCP,IAAK,SAAUzC,GACXlK,KAAKmG,EAAI+D,EAAM/D,EACfnG,KAAKkN,EAAIhD,EAAMgD,KAUvBzF,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,YAE9CmG,IAAK,WACD,OAAO,IAAIrM,EAAOoN,MAAMzN,KAAKmG,EAAInG,KAAK6R,MAAO7R,KAAKkN,IAGtDP,IAAK,SAAUzC,GACXlK,KAAKyL,MAAQvB,EAAM/D,EACnBnG,KAAKkN,EAAIhD,EAAMgD,KAWvBzF,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,SAE9CmG,IAAK,WACD,OAAS1M,KAAK6R,QAAU7R,KAAK8R,QAGjCnF,IAAK,SAAUzC,IAEG,IAAVA,GAEAlK,KAAKiO,MAAM,EAAG,EAAG,EAAG,MAOhC5N,EAAO2N,UAAUzH,UAAU8B,YAAchI,EAAO2N,UAUhD3N,EAAO2N,UAAUoN,QAAU,SAAU5L,EAAGJ,EAAIC,GAOxC,OALAG,EAAErJ,GAAKiJ,EACPI,EAAEqC,OAAS,EAAIzC,EACfI,EAAEtC,GAAKmC,EACPG,EAAEsC,QAAU,EAAIzC,EAETG,GAWXnP,EAAO2N,UAAUgO,aAAe,SAAUxM,EAAGD,GAEzC,OAAOlP,EAAO2N,UAAUoN,QAAQ5L,EAAGD,EAAMpJ,EAAGoJ,EAAMrC,IAWtD7M,EAAO2N,UAAUnD,KAAO,SAAU2E,EAAGhB,GAWjC,YATejE,IAAXiE,GAAmC,OAAXA,EAExBA,EAAS,IAAInO,EAAOoN,MAAM+B,EAAEqC,MAAOrC,EAAEsC,QAIrCtD,EAAOP,MAAMuB,EAAEqC,MAAOrC,EAAEsC,QAGrBtD,GAWXnO,EAAO2N,UAAU7B,MAAQ,SAAUqD,EAAGhB,GAWlC,YATejE,IAAXiE,GAAmC,OAAXA,EAExBA,EAAS,IAAInO,EAAO2N,UAAUwB,EAAErJ,EAAGqJ,EAAEtC,EAAGsC,EAAEqC,MAAOrC,EAAEsC,QAInDtD,EAAOP,MAAMuB,EAAErJ,EAAGqJ,EAAEtC,EAAGsC,EAAEqC,MAAOrC,EAAEsC,QAG/BtD,GAWXnO,EAAO2N,UAAUiO,iBAAmB,SAAUzM,EAAGhB,GAO7C,YALejE,IAAXiE,GAAmC,OAAXA,IAExBA,EAAS,IAAInO,EAAO2N,UAAUwB,EAAErJ,EAAGqJ,EAAEtC,EAAGsC,EAAEqC,MAAOrC,EAAEsC,SAGhDtD,EAAO2M,eAAe3L,IAYjCnP,EAAO2N,UAAUS,SAAW,SAAUe,EAAGrJ,EAAG+G,GAExC,QAAIsC,EAAEqC,OAAS,GAAKrC,EAAEsC,QAAU,KAKxB3L,GAAKqJ,EAAErJ,GAAKA,EAAIqJ,EAAE/D,OAASyB,GAAKsC,EAAEtC,GAAKA,EAAIsC,EAAEE,SAezDrP,EAAO2N,UAAUkO,YAAc,SAAUC,EAAIC,EAAIC,EAAIC,EAAInW,EAAG+G,GAExD,OAAQ/G,GAAKgW,GAAMhW,EAAKgW,EAAKE,GAAOnP,GAAKkP,GAAMlP,EAAKkP,EAAKE,GAW7Djc,EAAO2N,UAAUuO,cAAgB,SAAU/M,EAAGD,GAE1C,OAAOlP,EAAO2N,UAAUS,SAASe,EAAGD,EAAMpJ,EAAGoJ,EAAMrC,IAYvD7M,EAAO2N,UAAUsN,aAAe,SAAU9L,EAAGI,GAGzC,QAAIJ,EAAEgN,OAAS5M,EAAE4M,UAKThN,EAAErJ,GAAKyJ,EAAEzJ,GAAKqJ,EAAEtC,GAAK0C,EAAE1C,GAAKsC,EAAE/D,MAAQmE,EAAEnE,OAAS+D,EAAEE,OAASE,EAAEF,SAY1ErP,EAAO2N,UAAU2B,OAAS,SAAUH,EAAGI,GAEnC,OAAQJ,EAAErJ,IAAMyJ,EAAEzJ,GAAKqJ,EAAEtC,IAAM0C,EAAE1C,GAAKsC,EAAEqC,QAAUjC,EAAEiC,OAASrC,EAAEsC,SAAWlC,EAAEkC,QAWhFzR,EAAO2N,UAAUyO,eAAiB,SAAUjN,EAAGI,GAE3C,OAAQJ,EAAEqC,QAAUjC,EAAEiC,OAASrC,EAAEsC,SAAWlC,EAAEkC,QAYlDzR,EAAO2N,UAAUuN,aAAe,SAAU/L,EAAGI,EAAGpB,GAe5C,YAbejE,IAAXiE,IAEAA,EAAS,IAAInO,EAAO2N,WAGpB3N,EAAO2N,UAAU6B,WAAWL,EAAGI,KAE/BpB,EAAOrI,EAAIF,KAAK6N,IAAItE,EAAErJ,EAAGyJ,EAAEzJ,GAC3BqI,EAAOtB,EAAIjH,KAAK6N,IAAItE,EAAEtC,EAAG0C,EAAE1C,GAC3BsB,EAAOqD,MAAQ5L,KAAK2N,IAAIpE,EAAE/D,MAAOmE,EAAEnE,OAAS+C,EAAOrI,EACnDqI,EAAOsD,OAAS7L,KAAK2N,IAAIpE,EAAEE,OAAQE,EAAEF,QAAUlB,EAAOtB,GAGnDsB,GAYXnO,EAAO2N,UAAU6B,WAAa,SAAUL,EAAGI,GAEvC,QAAIJ,EAAEqC,OAAS,GAAKrC,EAAEsC,QAAU,GAAKlC,EAAEiC,OAAS,GAAKjC,EAAEkC,QAAU,MAKxDtC,EAAE/D,MAAQmE,EAAEzJ,GAAKqJ,EAAEE,OAASE,EAAE1C,GAAKsC,EAAErJ,EAAIyJ,EAAEnE,OAAS+D,EAAEtC,EAAI0C,EAAEF,SAczErP,EAAO2N,UAAUwN,cAAgB,SAAUhM,EAAG9D,EAAMD,EAAOgE,EAAKC,EAAQ+L,GAIpE,YAFkBlR,IAAdkR,IAA2BA,EAAY,KAElC/P,EAAO8D,EAAE/D,MAAQgQ,GAAahQ,EAAQ+D,EAAE9D,KAAO+P,GAAahM,EAAMD,EAAEE,OAAS+L,GAAa/L,EAASF,EAAEC,IAAMgM,IAYxHpb,EAAO2N,UAAU0N,MAAQ,SAAUlM,EAAGI,EAAGpB,GAOrC,YALejE,IAAXiE,IAEAA,EAAS,IAAInO,EAAO2N,WAGjBQ,EAAOP,MAAMhI,KAAK2N,IAAIpE,EAAErJ,EAAGyJ,EAAEzJ,GAAIF,KAAK2N,IAAIpE,EAAEtC,EAAG0C,EAAE1C,GAAIjH,KAAK6N,IAAItE,EAAE/D,MAAOmE,EAAEnE,OAASxF,KAAK2N,IAAIpE,EAAE9D,KAAMkE,EAAElE,MAAOzF,KAAK6N,IAAItE,EAAEE,OAAQE,EAAEF,QAAUzJ,KAAK2N,IAAIpE,EAAEC,IAAKG,EAAEH,OAaxKpP,EAAO2N,UAAU0O,KAAO,SAASlD,EAAQhM,QAEzBjD,IAARiD,IACAA,EAAM,IAAInN,EAAO2N,WAGrB,IAAI6F,EAAO+G,OAAO+B,kBACdhJ,EAAOiH,OAAOgC,kBACd5I,EAAO4G,OAAO+B,kBACd5I,EAAO6G,OAAOgC,kBAoBlB,OAlBApD,EAAO7R,QAAQ,SAAS4H,GAChBA,EAAMpJ,EAAI0N,IACVA,EAAOtE,EAAMpJ,GAEboJ,EAAMpJ,EAAIwN,IACVA,EAAOpE,EAAMpJ,GAGboJ,EAAMrC,EAAI8G,IACVA,EAAOzE,EAAMrC,GAEbqC,EAAMrC,EAAI6G,IACVA,EAAOxE,EAAMrC,KAIrBM,EAAIS,MAAM0F,EAAMI,EAAMF,EAAOF,EAAMK,EAAOD,GAEnCvG,GAIXzH,KAAKiI,UAAY3N,EAAO2N,UACxBjI,KAAK8W,eAAiB,IAAIxc,EAAO2N,UAAU,EAAG,EAAG,EAAG,GAqBpD3N,EAAOyc,iBAAmB,SAAS3W,EAAG+G,EAAG2E,EAAOC,EAAQhE,QAE1CvD,IAANpE,IAAmBA,EAAI,QACjBoE,IAAN2C,IAAmBA,EAAI,QACb3C,IAAVsH,IAAuBA,EAAQ,QACpBtH,IAAXuH,IAAwBA,EAAS,QACtBvH,IAAXuD,IAAwBA,EAAS,IAKrC9N,KAAKmG,EAAIA,EAKTnG,KAAKkN,EAAIA,EAKTlN,KAAK6R,MAAQA,EAKb7R,KAAK8R,OAASA,EAKd9R,KAAK8N,OAASA,GAAU,GAMxB9N,KAAKoI,KAAO/H,EAAOuC,kBAGvBvC,EAAOyc,iBAAiBvW,WASpB4F,MAAO,WAEH,OAAO,IAAI9L,EAAOyc,iBAAiB9c,KAAKmG,EAAGnG,KAAKkN,EAAGlN,KAAK6R,MAAO7R,KAAK8R,OAAQ9R,KAAK8N,SAYrFW,SAAU,SAAUtI,EAAG+G,GAEnB,GAAIlN,KAAK6R,OAAS,GAAK7R,KAAK8R,QAAU,EAElC,OAAO,EAGX,IAAIV,EAAKpR,KAAKmG,EAEd,GAAIA,GAAKiL,GAAMjL,GAAKiL,EAAKpR,KAAK6R,MAC9B,CACI,IAAIP,EAAKtR,KAAKkN,EAEd,GAAIA,GAAKoE,GAAMpE,GAAKoE,EAAKtR,KAAK8R,OAE1B,OAAO,EAIf,OAAO,IAMfzR,EAAOyc,iBAAiBvW,UAAU8B,YAAchI,EAAOyc,iBAGvD/W,KAAK+W,iBAAmBzc,EAAOyc,iBAqB/Bzc,EAAO0c,OAAS,SAAUC,EAAMlG,EAAI3Q,EAAG+G,EAAG2E,EAAOC,GAK7C9R,KAAKgd,KAAOA,EAKZhd,KAAKid,MAAQD,EAAKC,MAMlBjd,KAAK8W,GAAK,EASV9W,KAAKkd,KAAO,IAAI7c,EAAO2N,UAAU7H,EAAG+G,EAAG2E,EAAOC,GAS9C9R,KAAKmd,OAAS,IAAI9c,EAAO2N,UAAU7H,EAAG+G,EAAG2E,EAAOC,GAKhD9R,KAAKod,SAAW,KAMhBpd,KAAKqd,SAAU,EAMfrd,KAAKsd,SAAU,EAKftd,KAAKud,SAAYpX,GAAG,EAAO+G,GAAG,GAM9BlN,KAAKkH,OAAS,KAKdlH,KAAKwd,cAAgB,KAKrBxd,KAAKgX,MAAQ,KAMbhX,KAAKyd,YAAc,EAWnBzd,KAAK0d,KAAO,IAAIrd,EAAOoN,MAAM,EAAG,GAKhCzN,KAAK2d,gBAAkB,IAAItd,EAAOud,OAKlC5d,KAAK6d,gBAAkB,IAAIxd,EAAOud,OASlC5d,KAAK8d,eAAiB,IAAIzd,EAAOud,OAOjC5d,KAAK+d,GAAK,KAMV/d,KAAKge,gBAAkB,IAAI3d,EAAOoN,MAOlCzN,KAAKie,MAAQ,EAObje,KAAKke,UAAY,IAAI7d,EAAOoN,MAM5BzN,KAAKme,QACDC,UAAW,EACXC,SAAU,EACVC,YAAY,EACZC,UAAU,EACVC,aAAa,EACbrY,EAAG,EACH+G,EAAG,GAOPlN,KAAKye,YAAc,EAMnBze,KAAK0e,QAAU,EAMf1e,KAAK2e,WAAa,IAAIte,EAAO2N,WAUjC3N,EAAO0c,OAAO6B,cAAgB,EAQ9Bve,EAAO0c,OAAO8B,kBAAoB,EAQlCxe,EAAO0c,OAAO+B,eAAiB,EAQ/Bze,EAAO0c,OAAOgC,qBAAuB,EAMrC1e,EAAO0c,OAAOiC,WAAa,EAM3B3e,EAAO0c,OAAOkC,iBAAmB,EAMjC5e,EAAO0c,OAAOmC,eAAiB,EAM/B7e,EAAO0c,OAAOoC,WAAY,EAE1B9e,EAAO0c,OAAOxW,WAQV6Y,KAAM,WAEFpf,KAAKwd,cAAgBxd,KAAKgd,KAAKC,MAE/Bjd,KAAKgX,MAAQhX,KAAKgd,KAAKC,MAAMjG,MAE7BhX,KAAKgd,KAAKqC,OAASrf,KAEfK,EAAOif,UAAYjf,EAAO0c,OAAOoC,YAEjCnf,KAAK+d,GAAK,IAAI1d,EAAOif,SAAStf,KAAKgd,MAEnChd,KAAKgd,KAAKuC,MAAMC,SAASxf,KAAK+d,MAUtC0B,UAAW,WAEPzf,KAAKyd,YAAc,GAmBvBiC,OAAQ,SAAUxY,EAAQyY,EAAOC,EAAOC,QAEtBtV,IAAVoV,IAAuBA,EAAQtf,EAAO0c,OAAO6B,oBACnCrU,IAAVqV,IAAuBA,EAAQ,QACrBrV,IAAVsV,IAAuBA,EAAQ,GAEnC7f,KAAKkH,OAASA,EACdlH,KAAK0d,KAAK/Q,IAAIiT,EAAOC,GAErB,IAAIC,EAEJ,OAAQH,GAEJ,KAAKtf,EAAO0c,OAAO8B,kBACf,IAAIkB,EAAI/f,KAAK6R,MAAQ,EACjBlB,EAAI3Q,KAAK8R,OAAS,EACtB9R,KAAKod,SAAW,IAAI/c,EAAO2N,WAAWhO,KAAK6R,MAAQkO,GAAK,GAAI/f,KAAK8R,OAASnB,GAAK,EAAQ,IAAJA,EAAUoP,EAAGpP,GAChG,MAEJ,KAAKtQ,EAAO0c,OAAO+B,eACfgB,EAAS7Z,KAAK6N,IAAI9T,KAAK6R,MAAO7R,KAAK8R,QAAU,EAC7C9R,KAAKod,SAAW,IAAI/c,EAAO2N,WAAWhO,KAAK6R,MAAQiO,GAAU,GAAI9f,KAAK8R,OAASgO,GAAU,EAAGA,EAAQA,GACpG,MAEJ,KAAKzf,EAAO0c,OAAOgC,qBACfe,EAAS7Z,KAAK6N,IAAI9T,KAAK6R,MAAO7R,KAAK8R,QAAU,EAC7C9R,KAAKod,SAAW,IAAI/c,EAAO2N,WAAWhO,KAAK6R,MAAQiO,GAAU,GAAI9f,KAAK8R,OAASgO,GAAU,EAAGA,EAAQA,GACpG,MAEJ,KAAKzf,EAAO0c,OAAO6B,cAInB,QACI5e,KAAKod,SAAW,OAW5B4C,SAAU,WAENhgB,KAAKkH,OAAS,MASlB+Y,QAAS,SAAUzC,GAEfxd,KAAKkgB,YAAYja,KAAKsI,MAAMiP,EAAcrX,EAAInG,KAAKkd,KAAK/M,WAAYlK,KAAKsI,MAAMiP,EAActQ,EAAIlN,KAAKkd,KAAK7M,cAU/G8P,UAAW,SAAUha,EAAG+G,GAEpBlN,KAAKkgB,YAAYja,KAAKsI,MAAMpI,EAAInG,KAAKkd,KAAK/M,WAAYlK,KAAKsI,MAAMrB,EAAIlN,KAAKkd,KAAK7M,cAmBnF+P,MAAO,SAAUhC,EAAWC,EAAUgC,EAAOC,EAAW9B,GAQpD,YANkBjU,IAAd6T,IAA2BA,EAAY,UAC1B7T,IAAb8T,IAA0BA,EAAW,UAC3B9T,IAAV8V,IAAuBA,GAAQ,QACjB9V,IAAd+V,IAA2BA,EAAYjgB,EAAO0c,OAAOiC,iBACrCzU,IAAhBiU,IAA6BA,GAAc,MAE1C6B,GAASrgB,KAAKme,OAAOE,SAAW,KAMrCre,KAAKme,OAAOC,UAAYA,EACxBpe,KAAKme,OAAOE,SAAWA,EACvBre,KAAKme,OAAOK,YAAcA,EAE1Bxe,KAAKme,OAAOhY,EAAI,EAChBnG,KAAKme,OAAOjR,EAAI,EAEhBlN,KAAKme,OAAOG,WAAcgC,IAAcjgB,EAAO0c,OAAOiC,YAAcsB,IAAcjgB,EAAO0c,OAAOkC,iBAChGjf,KAAKme,OAAOI,SAAY+B,IAAcjgB,EAAO0c,OAAOiC,YAAcsB,IAAcjgB,EAAO0c,OAAOmC,gBAEvF,IAmBXqB,MAAO,SAAUC,EAAOnC,EAAUgC,EAAOI,GAOrC,YALclW,IAAViW,IAAuBA,EAAQ,eAClBjW,IAAb8T,IAA0BA,EAAW,UAC3B9T,IAAV8V,IAAuBA,GAAQ,QACrB9V,IAAVkW,IAAuBA,EAAQ,MAE9BzgB,KAAK+d,KAAQsC,GAASrgB,KAAKye,YAAc,KAK9Cze,KAAK+d,GAAG2C,QAER1gB,KAAK+d,GAAG4C,UAAUH,EAAOC,GACzBzgB,KAAK+d,GAAG6C,SAAS,EAAG,EAAG5gB,KAAK6R,MAAO7R,KAAK8R,QACxC9R,KAAK+d,GAAG8C,UAER7gB,KAAK+d,GAAG0C,MAAQ,EAEhBzgB,KAAKye,YAAcJ,EACnBre,KAAK0e,QAAU,GAER,IAwBXoC,KAAM,SAAUN,EAAOnC,EAAUgC,EAAOI,GAOpC,YALclW,IAAViW,IAAuBA,EAAQ,QAClBjW,IAAb8T,IAA0BA,EAAW,UAC3B9T,IAAV8V,IAAuBA,GAAQ,QACrB9V,IAAVkW,IAAuBA,EAAQ,MAE9BzgB,KAAK+d,KAAQsC,GAASrgB,KAAKye,YAAc,KAK9Cze,KAAK+d,GAAG2C,QAER1gB,KAAK+d,GAAG4C,UAAUH,EAAOC,GACzBzgB,KAAK+d,GAAG6C,SAAS,EAAG,EAAG5gB,KAAK6R,MAAO7R,KAAK8R,QACxC9R,KAAK+d,GAAG8C,UAER7gB,KAAK+d,GAAG0C,MAAQ,EAEhBzgB,KAAKye,YAAcJ,EACnBre,KAAK0e,QAAU,GAER,IAUXqC,OAAQ,WAEA/gB,KAAKye,YAAc,GAEnBze,KAAKghB,WAGLhhB,KAAKme,OAAOE,SAAW,GAEvBre,KAAKihB,cAGLjhB,KAAKmd,QAELnd,KAAKkhB,cAGLlhB,KAAKsd,UAELtd,KAAKkd,KAAK7W,QACVrG,KAAKme,OAAOhY,EAAIF,KAAKI,MAAMrG,KAAKme,OAAOhY,GACvCnG,KAAKme,OAAOjR,EAAIjH,KAAKI,MAAMrG,KAAKme,OAAOjR,IAG3ClN,KAAKwd,cAAc1B,SAAS3V,GAAKnG,KAAKkd,KAAK/W,EAC3CnG,KAAKwd,cAAc1B,SAAS5O,GAAKlN,KAAKkd,KAAKhQ,GAU/C8T,SAAU,WAEe,IAAjBhhB,KAAK0e,SAGL1e,KAAK+d,GAAG0C,OAASzgB,KAAKgd,KAAKmE,KAAKC,UAAYphB,KAAKye,YAE7Cze,KAAK+d,GAAG0C,OAAS,IAEjBzgB,KAAKye,YAAc,EACnBze,KAAK+d,GAAG0C,MAAQ,EAChBzgB,KAAK6d,gBAAgBwD,cAMzBrhB,KAAK+d,GAAG0C,OAASzgB,KAAKgd,KAAKmE,KAAKC,UAAYphB,KAAKye,YAE7Cze,KAAK+d,GAAG0C,OAAS,IAEjBzgB,KAAKye,YAAc,EACnBze,KAAK+d,GAAG0C,MAAQ,EAChBzgB,KAAK8d,eAAeuD,cAYhCJ,YAAa,WAETjhB,KAAKme,OAAOE,UAAYre,KAAKgd,KAAKmE,KAAKC,UAEnCphB,KAAKme,OAAOE,UAAY,GAExBre,KAAK2d,gBAAgB0D,WACrBrhB,KAAKme,OAAOhY,EAAI,EAChBnG,KAAKme,OAAOjR,EAAI,IAIZlN,KAAKme,OAAOG,aAEZte,KAAKme,OAAOhY,EAAInG,KAAKgd,KAAKsE,IAAIC,OAASvhB,KAAKme,OAAOC,UAAYpe,KAAKkd,KAAKrL,MAAQ,EAAI7R,KAAKme,OAAOC,UAAYpe,KAAKkd,KAAKrL,OAGvH7R,KAAKme,OAAOI,WAEZve,KAAKme,OAAOjR,EAAIlN,KAAKgd,KAAKsE,IAAIC,OAASvhB,KAAKme,OAAOC,UAAYpe,KAAKkd,KAAKpL,OAAS,EAAI9R,KAAKme,OAAOC,UAAYpe,KAAKkd,KAAKpL,UAYpI0P,aAAc,WAEVxhB,KAAKge,gBAAgB7X,EAAInG,KAAKkd,KAAK/W,EAAInG,KAAKkH,OAAOua,cAActb,EACjEnG,KAAKge,gBAAgB9Q,EAAIlN,KAAKkd,KAAKhQ,EAAIlN,KAAKkH,OAAOua,cAAcvU,EAE7DlN,KAAKod,UAELpd,KAAKie,MAAQje,KAAKge,gBAAgB7X,EAAInG,KAAKkd,KAAK/W,EAE5CnG,KAAKie,MAAQje,KAAKod,SAAS1R,KAE3B1L,KAAKkd,KAAK/W,EAAInG,KAAKgd,KAAK0E,KAAKxS,OAAOlP,KAAKkd,KAAK/W,EAAGnG,KAAKge,gBAAgB7X,EAAInG,KAAKod,SAAS1R,KAAM1L,KAAK0d,KAAKvX,GAEnGnG,KAAKie,MAAQje,KAAKod,SAAS3R,QAEhCzL,KAAKkd,KAAK/W,EAAInG,KAAKgd,KAAK0E,KAAKxS,OAAOlP,KAAKkd,KAAK/W,EAAGnG,KAAKge,gBAAgB7X,EAAInG,KAAKod,SAAS3R,MAAOzL,KAAK0d,KAAKvX,IAG7GnG,KAAKie,MAAQje,KAAKge,gBAAgB9Q,EAAIlN,KAAKkd,KAAKhQ,EAE5ClN,KAAKie,MAAQje,KAAKod,SAAS3N,IAE3BzP,KAAKkd,KAAKhQ,EAAIlN,KAAKgd,KAAK0E,KAAKxS,OAAOlP,KAAKkd,KAAKhQ,EAAGlN,KAAKge,gBAAgB9Q,EAAIlN,KAAKod,SAAS3N,IAAKzP,KAAK0d,KAAKxQ,GAElGlN,KAAKie,MAAQje,KAAKod,SAAS1N,SAEhC1P,KAAKkd,KAAKhQ,EAAIlN,KAAKgd,KAAK0E,KAAKxS,OAAOlP,KAAKkd,KAAKhQ,EAAGlN,KAAKge,gBAAgB9Q,EAAIlN,KAAKod,SAAS1N,OAAQ1P,KAAK0d,KAAKxQ,MAK9GlN,KAAKkd,KAAK/W,EAAInG,KAAKgd,KAAK0E,KAAKxS,OAAOlP,KAAKkd,KAAK/W,EAAGnG,KAAKge,gBAAgB7X,EAAInG,KAAKkd,KAAK/M,UAAWnQ,KAAK0d,KAAKvX,GACzGnG,KAAKkd,KAAKhQ,EAAIlN,KAAKgd,KAAK0E,KAAKxS,OAAOlP,KAAKkd,KAAKhQ,EAAGlN,KAAKge,gBAAgB9Q,EAAIlN,KAAKkd,KAAK7M,WAAYrQ,KAAK0d,KAAKxQ,IAG1GlN,KAAKmd,QAELnd,KAAKkhB,cAGLlhB,KAAKsd,SAELtd,KAAKkd,KAAK7W,QAGdrG,KAAKwd,cAAc1B,SAAS3V,GAAKnG,KAAKkd,KAAK/W,EAC3CnG,KAAKwd,cAAc1B,SAAS5O,GAAKlN,KAAKkd,KAAKhQ,GAS/CyU,iBAAkB,WAEV3hB,KAAKmd,QAELnd,KAAKmd,OAAOjP,SAASlO,KAAKgd,KAAKC,MAAME,SAY7C+D,YAAa,WAETlhB,KAAKud,QAAQpX,GAAI,EACjBnG,KAAKud,QAAQrQ,GAAI,EAEjB,IAAI0U,EAAK5hB,KAAKkd,KAAK/W,EAAInG,KAAKme,OAAOhY,EAC/B0b,EAAK7hB,KAAKkd,KAAKzR,MAAQzL,KAAKme,OAAOhY,EACnC2b,EAAK9hB,KAAKkd,KAAKhQ,EAAIlN,KAAKme,OAAOjR,EAC/B6U,EAAK/hB,KAAKkd,KAAKxN,OAAS1P,KAAKme,OAAOjR,EAGpC0U,GAAM5hB,KAAKmd,OAAOhX,EAAInG,KAAKgX,MAAM7Q,GAEjCnG,KAAKud,QAAQpX,GAAI,EACjBnG,KAAKkd,KAAK/W,EAAInG,KAAKmd,OAAOhX,EAAInG,KAAKgX,MAAM7Q,EAEpCnG,KAAKme,OAAOK,cAGbxe,KAAKme,OAAOhY,EAAI,IAGf0b,GAAM7hB,KAAKmd,OAAO1R,MAAQzL,KAAKgX,MAAM7Q,IAE1CnG,KAAKud,QAAQpX,GAAI,EACjBnG,KAAKkd,KAAK/W,EAAKnG,KAAKmd,OAAO1R,MAAQzL,KAAKgX,MAAM7Q,EAAKnG,KAAK6R,MAEnD7R,KAAKme,OAAOK,cAGbxe,KAAKme,OAAOhY,EAAI,IAIpB2b,GAAM9hB,KAAKmd,OAAO1N,IAAMzP,KAAKgX,MAAM9J,GAEnClN,KAAKud,QAAQrQ,GAAI,EACjBlN,KAAKkd,KAAKhQ,EAAIlN,KAAKmd,OAAO1N,IAAMzP,KAAKgX,MAAM9J,EAEtClN,KAAKme,OAAOK,cAGbxe,KAAKme,OAAOjR,EAAI,IAGf6U,GAAM/hB,KAAKmd,OAAOzN,OAAS1P,KAAKgX,MAAM9J,IAE3ClN,KAAKud,QAAQrQ,GAAI,EACjBlN,KAAKkd,KAAKhQ,EAAKlN,KAAKmd,OAAOzN,OAAS1P,KAAKgX,MAAM9J,EAAKlN,KAAK8R,OAEpD9R,KAAKme,OAAOK,cAGbxe,KAAKme,OAAOjR,EAAI,KAc5BgT,YAAa,SAAU/Z,EAAG+G,GAEtBlN,KAAKkd,KAAK/W,EAAIA,EACdnG,KAAKkd,KAAKhQ,EAAIA,EAEVlN,KAAKmd,QAELnd,KAAKkhB,eAYbc,QAAS,SAAUnQ,EAAOC,GAEtB9R,KAAKkd,KAAKrL,MAAQA,EAClB7R,KAAKkd,KAAKpL,OAASA,GAWvBmQ,MAAO,WAEHjiB,KAAKkH,OAAS,KAEdlH,KAAKkd,KAAK/W,EAAI,EACdnG,KAAKkd,KAAKhQ,EAAI,EAEdlN,KAAKme,OAAOE,SAAW,EACvBre,KAAKme,OAAOhY,EAAI,EAChBnG,KAAKme,OAAOjR,EAAI,EAEhBlN,KAAKkiB,WAUTA,QAAS,WAEDliB,KAAK+d,KAEL/d,KAAK+d,GAAG2C,QACR1gB,KAAK+d,GAAG0C,MAAQ,GAGpBzgB,KAAKye,YAAc,IAM3Bpe,EAAO0c,OAAOxW,UAAU8B,YAAchI,EAAO0c,OAO7CtV,OAAOmF,eAAevM,EAAO0c,OAAOxW,UAAW,KAE3CmG,IAAK,WAED,OAAO1M,KAAKkd,KAAK/W,GAIrBwG,IAAK,SAAUzC,GAEXlK,KAAKkd,KAAK/W,EAAI+D,EAEVlK,KAAKmd,QAELnd,KAAKkhB,iBAWjBzZ,OAAOmF,eAAevM,EAAO0c,OAAOxW,UAAW,KAE3CmG,IAAK,WAED,OAAO1M,KAAKkd,KAAKhQ,GAIrBP,IAAK,SAAUzC,GAEXlK,KAAKkd,KAAKhQ,EAAIhD,EAEVlK,KAAKmd,QAELnd,KAAKkhB,iBAWjBzZ,OAAOmF,eAAevM,EAAO0c,OAAOxW,UAAW,YAE3CmG,IAAK,WAID,OAFA1M,KAAKke,UAAUvR,IAAI3M,KAAKkd,KAAK/W,EAAGnG,KAAKkd,KAAKhQ,GAEnClN,KAAKke,WAIhBvR,IAAK,SAAUzC,QAEY,IAAZA,EAAM/D,IAAqBnG,KAAKkd,KAAK/W,EAAI+D,EAAM/D,QACnC,IAAZ+D,EAAMgD,IAAqBlN,KAAKkd,KAAKhQ,EAAIhD,EAAMgD,GAEtDlN,KAAKmd,QAELnd,KAAKkhB,iBAWjBzZ,OAAOmF,eAAevM,EAAO0c,OAAOxW,UAAW,SAE3CmG,IAAK,WAED,OAAO1M,KAAKkd,KAAKrL,OAIrBlF,IAAK,SAAUzC,GAEXlK,KAAKkd,KAAKrL,MAAQ3H,KAW1BzC,OAAOmF,eAAevM,EAAO0c,OAAOxW,UAAW,UAE3CmG,IAAK,WAED,OAAO1M,KAAKkd,KAAKpL,QAIrBnF,IAAK,SAAUzC,GAEXlK,KAAKkd,KAAKpL,OAAS5H,KAY3BzC,OAAOmF,eAAevM,EAAO0c,OAAOxW,UAAW,kBAE3CmG,IAAK,WAED,OAAO1M,KAAKme,OAAOC,WAIvBzR,IAAK,SAAUzC,GAEXlK,KAAKme,OAAOC,UAAYlU,KAahCzC,OAAOmF,eAAevM,EAAO0c,OAAOxW,UAAW,aAE3CmG,IAAK,WAID,OAFA1M,KAAK2e,WAAW1Q,MAAM,EAAG,EAAGjO,KAAKkd,KAAKrL,MAAO7R,KAAKkd,KAAKpL,QAEhD9R,KAAK2e,cAmCpBte,EAAO8hB,MAAQ,WAKXniB,KAAKgd,KAAO,KAKZhd,KAAK6J,IAAM,GAKX7J,KAAKuT,IAAM,KAKXvT,KAAKoiB,KAAO,KAKZpiB,KAAKqf,OAAS,KAKdrf,KAAKqiB,MAAQ,KAKbriB,KAAKsiB,MAAQ,KAKbtiB,KAAKuiB,KAAO,KAKZviB,KAAK0hB,KAAO,KAKZ1hB,KAAKwiB,MAAQ,KAKbxiB,KAAKgX,MAAQ,KAKbhX,KAAKuf,MAAQ,KAKbvf,KAAKyiB,MAAQ,KAKbziB,KAAKmhB,KAAO,KAKZnhB,KAAK0iB,OAAS,KAKd1iB,KAAKid,MAAQ,KAKbjd,KAAK2iB,UAAY,KAKjB3iB,KAAK4iB,QAAU,KAKf5iB,KAAKshB,IAAM,MAIfjhB,EAAO8hB,MAAM5b,WAUTsc,KAAM,aAWNC,QAAS,aASTC,WAAY,aAUZC,WAAY,aAUZC,OAAQ,aAWRlC,OAAQ,aAURmC,UAAW,aAWXC,OAAQ,aAUR9H,OAAQ,aASR+H,OAAQ,aASRC,QAAS,aASTC,YAAa,aASbC,SAAU,cAKdljB,EAAO8hB,MAAM5b,UAAU8B,YAAchI,EAAO8hB,MAkB5C9hB,EAAOmjB,aAAe,SAAUxG,EAAMyG,GAKlCzjB,KAAKgd,KAAOA,EAKZhd,KAAK0jB,UAML1jB,KAAK2jB,cAAgB,UAEO,IAAjBF,GAAiD,OAAjBA,IAEvCzjB,KAAK2jB,cAAgBF,GAOzBzjB,KAAK4jB,aAAc,EAMnB5jB,KAAK6jB,aAAc,EAMnB7jB,KAAK8jB,UAAW,EAMhB9jB,KAAK+jB,SAML/jB,KAAKgkB,QAAU,GAcfhkB,KAAKikB,cAAgB,IAAI5jB,EAAOud,OAMhC5d,KAAKkkB,eAAiB,KAMtBlkB,KAAKmkB,kBAAoB,KAMzBnkB,KAAKokB,iBAAmB,KAMxBpkB,KAAKqkB,iBAAmB,KAMxBrkB,KAAKskB,iBAAmB,KAMxBtkB,KAAKukB,iBAAmB,KAMxBvkB,KAAKwkB,oBAAsB,KAM3BxkB,KAAKykB,qBAAuB,KAM5BzkB,KAAK0kB,qBAAuB,KAM5B1kB,KAAK2kB,iBAAmB,KAMxB3kB,KAAK4kB,kBAAoB,KAMzB5kB,KAAK6kB,sBAAwB,KAM7B7kB,KAAK8kB,mBAAqB,MAI9BzkB,EAAOmjB,aAAajd,WAOhB6Y,KAAM,WAEFpf,KAAKgd,KAAK+H,QAAQxR,IAAIvT,KAAKglB,MAAOhlB,MAClCA,KAAKgd,KAAKiI,SAAS1R,IAAIvT,KAAKklB,OAAQllB,MAET,OAAvBA,KAAK2jB,eAAwD,iBAAvB3jB,KAAK2jB,eAE3C3jB,KAAKuT,IAAI,UAAWvT,KAAK2jB,eAAe,IAsBhDpQ,IAAK,SAAU1J,EAAK4Y,EAAO0C,QAEL5a,IAAd4a,IAA2BA,GAAY,GAE3C,IAAIC,EA8BJ,OA5BI3C,aAAiBpiB,EAAO8hB,MAExBiD,EAAW3C,EAEW,iBAAVA,GAEZ2C,EAAW3C,GACFzF,KAAOhd,KAAKgd,KAEC,mBAAVyF,IAEZ2C,EAAW,IAAI3C,EAAMziB,KAAKgd,OAG9Bhd,KAAK0jB,OAAO7Z,GAAOub,EAEfD,IAEInlB,KAAKgd,KAAKqI,SAEVrlB,KAAK+Q,MAAMlH,GAIX7J,KAAK2jB,cAAgB9Z,GAItBub,GASXE,OAAQ,SAAUzb,GAEV7J,KAAKgkB,UAAYna,IAEjB7J,KAAKulB,gBAAkB,KAEvBvlB,KAAKkkB,eAAiB,KACtBlkB,KAAK8kB,mBAAqB,KAE1B9kB,KAAKmkB,kBAAoB,KACzBnkB,KAAK0kB,qBAAuB,KAC5B1kB,KAAKykB,qBAAuB,KAC5BzkB,KAAKokB,iBAAmB,KACxBpkB,KAAKqkB,iBAAmB,KACxBrkB,KAAKwkB,oBAAsB,KAC3BxkB,KAAKskB,iBAAmB,KACxBtkB,KAAKukB,iBAAmB,KACxBvkB,KAAK2kB,iBAAmB,KACxB3kB,KAAK4kB,kBAAoB,KACzB5kB,KAAK6kB,sBAAwB,aAG1B7kB,KAAK0jB,OAAO7Z,IAavBkH,MAAO,SAAUlH,EAAK2b,EAAYC,QAEXlb,IAAfib,IAA4BA,GAAa,QAC1Bjb,IAAfkb,IAA4BA,GAAa,GAEzCzlB,KAAK0lB,WAAW7b,KAGhB7J,KAAK2jB,cAAgB9Z,EACrB7J,KAAK4jB,YAAc4B,EACnBxlB,KAAK6jB,YAAc4B,EAEfxe,UAAUc,OAAS,IAEnB/H,KAAK+jB,MAAQrd,MAAMH,UAAUof,OAAO3e,KAAKC,UAAW,MAchE2e,QAAS,SAAUJ,EAAYC,QAERlb,IAAfib,IAA4BA,GAAa,QAC1Bjb,IAAfkb,IAA4BA,GAAa,GAG7CzlB,KAAK2jB,cAAgB3jB,KAAKgkB,QAC1BhkB,KAAK4jB,YAAc4B,EACnBxlB,KAAK6jB,YAAc4B,EAEfxe,UAAUc,OAAS,IAEnB/H,KAAK+jB,MAAQrd,MAAMH,UAAUE,MAAMO,KAAKC,UAAW,KAU3D4e,MAAO,aAQPpG,UAAW,WAEP,GAAIzf,KAAK2jB,eAAiB3jB,KAAKgd,KAAKqI,SACpC,CACI,IAAIS,EAAmB9lB,KAAKgkB,QAS5B,GANAhkB,KAAK+lB,oBAEL/lB,KAAKgmB,gBAAgBhmB,KAAK2jB,eAE1B3jB,KAAKikB,cAAc5C,SAASrhB,KAAKgkB,QAAS8B,GAEtC9lB,KAAKgkB,UAAYhkB,KAAK2jB,cAEtB,OAIA3jB,KAAK2jB,cAAgB,KAKrB3jB,KAAKmkB,mBAELnkB,KAAKgd,KAAKuF,KAAKN,OAAM,GACrBjiB,KAAKmkB,kBAAkBnd,KAAKhH,KAAKulB,gBAAiBvlB,KAAKgd,MAGb,IAAtChd,KAAKgd,KAAKuF,KAAK0D,oBAAkE,IAAtCjmB,KAAKgd,KAAKuF,KAAK2D,mBAE1DlmB,KAAKmmB,eAKLnmB,KAAKgd,KAAKuF,KAAKxR,SAMnB/Q,KAAKmmB,iBAYjBJ,kBAAmB,WAEX/lB,KAAKgkB,UAEDhkB,KAAK8kB,oBAEL9kB,KAAK8kB,mBAAmB9d,KAAKhH,KAAKulB,gBAAiBvlB,KAAKgd,MAG5Dhd,KAAKgd,KAAK0F,OAAO0D,YAEjBpmB,KAAKgd,KAAKqC,OAAO4C,QAEjBjiB,KAAKgd,KAAKsF,MAAML,OAAM,GAEtBjiB,KAAKgd,KAAK4F,QAAQlC,QAElB1gB,KAAKgd,KAAKmE,KAAKiF,YAEfpmB,KAAKgd,KAAKhG,MAAMiL,MAAMjiB,KAAK4jB,aAEvB5jB,KAAKgd,KAAKqJ,OAEVrmB,KAAKgd,KAAKqJ,MAAMpE,QAGhBjiB,KAAK4jB,cAEL5jB,KAAKgd,KAAKC,MAAMsG,WAEZvjB,KAAK6jB,aAEL7jB,KAAKgd,KAAKqF,MAAMiE,aAchCZ,WAAY,SAAU7b,GAElB,IAAI4Y,EAAQziB,KAAK0jB,OAAO7Z,GAExB,OAAI4Y,KAEIA,EAAMK,SAAWL,EAAMQ,QAAUR,EAAM1B,QAAU0B,EAAMU,UAMvD7a,QAAQG,KAAK,gIACN,IAKXH,QAAQG,KAAK,sDAAwDoB,IAC9D,IAYf0c,KAAM,SAAU1c,GAEZ7J,KAAK0jB,OAAO7Z,GAAKmT,KAAOhd,KAAKgd,KAC7Bhd,KAAK0jB,OAAO7Z,GAAK0J,IAAMvT,KAAKgd,KAAKzJ,IACjCvT,KAAK0jB,OAAO7Z,GAAKuY,KAAOpiB,KAAKgd,KAAKoF,KAClCpiB,KAAK0jB,OAAO7Z,GAAKwV,OAASrf,KAAKgd,KAAKqC,OACpCrf,KAAK0jB,OAAO7Z,GAAKwY,MAAQriB,KAAKgd,KAAKqF,MACnCriB,KAAK0jB,OAAO7Z,GAAKyY,MAAQtiB,KAAKgd,KAAKsF,MACnCtiB,KAAK0jB,OAAO7Z,GAAK0Y,KAAOviB,KAAKgd,KAAKuF,KAClCviB,KAAK0jB,OAAO7Z,GAAK6X,KAAO1hB,KAAKgd,KAAK0E,KAClC1hB,KAAK0jB,OAAO7Z,GAAK2Y,MAAQxiB,KAAKgd,KAAKwF,MACnCxiB,KAAK0jB,OAAO7Z,GAAKmN,MAAQhX,KAAKgd,KAAKhG,MACnChX,KAAK0jB,OAAO7Z,GAAK4Y,MAAQziB,KACzBA,KAAK0jB,OAAO7Z,GAAK0V,MAAQvf,KAAKgd,KAAKuC,MACnCvf,KAAK0jB,OAAO7Z,GAAKsX,KAAOnhB,KAAKgd,KAAKmE,KAClCnhB,KAAK0jB,OAAO7Z,GAAK6Y,OAAS1iB,KAAKgd,KAAK0F,OACpC1iB,KAAK0jB,OAAO7Z,GAAKoT,MAAQjd,KAAKgd,KAAKC,MACnCjd,KAAK0jB,OAAO7Z,GAAK8Y,UAAY3iB,KAAKgd,KAAK2F,UACvC3iB,KAAK0jB,OAAO7Z,GAAKyX,IAAMthB,KAAKgd,KAAKsE,IACjCthB,KAAK0jB,OAAO7Z,GAAK+Y,QAAU5iB,KAAKgd,KAAK4F,QACrC5iB,KAAK0jB,OAAO7Z,GAAKA,IAAMA,GAW3B2c,OAAQ,SAAU3c,GAEV7J,KAAK0jB,OAAO7Z,KAEZ7J,KAAK0jB,OAAO7Z,GAAKmT,KAAO,KACxBhd,KAAK0jB,OAAO7Z,GAAK0J,IAAM,KACvBvT,KAAK0jB,OAAO7Z,GAAKuY,KAAO,KACxBpiB,KAAK0jB,OAAO7Z,GAAKwV,OAAS,KAC1Brf,KAAK0jB,OAAO7Z,GAAKwY,MAAQ,KACzBriB,KAAK0jB,OAAO7Z,GAAKyY,MAAQ,KACzBtiB,KAAK0jB,OAAO7Z,GAAK0Y,KAAO,KACxBviB,KAAK0jB,OAAO7Z,GAAK6X,KAAO,KACxB1hB,KAAK0jB,OAAO7Z,GAAK2Y,MAAQ,KACzBxiB,KAAK0jB,OAAO7Z,GAAKmN,MAAQ,KACzBhX,KAAK0jB,OAAO7Z,GAAK4Y,MAAQ,KACzBziB,KAAK0jB,OAAO7Z,GAAK0V,MAAQ,KACzBvf,KAAK0jB,OAAO7Z,GAAKsX,KAAO,KACxBnhB,KAAK0jB,OAAO7Z,GAAK6Y,OAAS,KAC1B1iB,KAAK0jB,OAAO7Z,GAAKoT,MAAQ,KACzBjd,KAAK0jB,OAAO7Z,GAAK8Y,UAAY,KAC7B3iB,KAAK0jB,OAAO7Z,GAAKyX,IAAM,KACvBthB,KAAK0jB,OAAO7Z,GAAK+Y,QAAU,OAYnCoD,gBAAiB,SAAUnc,GAEvB7J,KAAKulB,gBAAkBvlB,KAAK0jB,OAAO7Z,GAEnC7J,KAAKumB,KAAK1c,GAGV7J,KAAKkkB,eAAiBlkB,KAAK0jB,OAAO7Z,GAAW,MAAK7J,KAAK6lB,MAEvD7lB,KAAKmkB,kBAAoBnkB,KAAK0jB,OAAO7Z,GAAc,SAAK,KACxD7J,KAAK0kB,qBAAuB1kB,KAAK0jB,OAAO7Z,GAAiB,YAAK,KAC9D7J,KAAKykB,qBAAuBzkB,KAAK0jB,OAAO7Z,GAAiB,YAAK,KAC9D7J,KAAKokB,iBAAmBpkB,KAAK0jB,OAAO7Z,GAAa,QAAK,KACtD7J,KAAKqkB,iBAAmBrkB,KAAK0jB,OAAO7Z,GAAa,QAAK,KACtD7J,KAAKwkB,oBAAsBxkB,KAAK0jB,OAAO7Z,GAAgB,WAAK,KAC5D7J,KAAKskB,iBAAmBtkB,KAAK0jB,OAAO7Z,GAAa,QAAK,KACtD7J,KAAKukB,iBAAmBvkB,KAAK0jB,OAAO7Z,GAAa,QAAK,KACtD7J,KAAK2kB,iBAAmB3kB,KAAK0jB,OAAO7Z,GAAa,QAAK,KACtD7J,KAAK4kB,kBAAoB5kB,KAAK0jB,OAAO7Z,GAAc,SAAK,KACxD7J,KAAK6kB,sBAAwB7kB,KAAK0jB,OAAO7Z,GAAkB,aAAK,KAGhE7J,KAAK8kB,mBAAqB9kB,KAAK0jB,OAAO7Z,GAAe,UAAK7J,KAAK6lB,MAG1C,KAAjB7lB,KAAKgkB,SAELhkB,KAAKgd,KAAK4F,QAAQX,QAGtBjiB,KAAKgkB,QAAUna,EACf7J,KAAK8jB,UAAW,EAGhB9jB,KAAKkkB,eAAe/c,MAAMnH,KAAKulB,gBAAiBvlB,KAAK+jB,OAGjDla,IAAQ7J,KAAK2jB,gBAEb3jB,KAAK+jB,UAGT/jB,KAAKgd,KAAKyJ,YAAa,GAW3BC,gBAAiB,WACb,OAAO1mB,KAAK0jB,OAAO1jB,KAAKgkB,UAO5BmC,aAAc,YAGY,IAAlBnmB,KAAK8jB,UAAsB9jB,KAAKykB,sBAEhCzkB,KAAKykB,qBAAqBzd,KAAKhH,KAAKulB,gBAAiBvlB,KAAKgd,OAGxC,IAAlBhd,KAAK8jB,UAAsB9jB,KAAKokB,kBAEhCpkB,KAAK8jB,UAAW,EAChB9jB,KAAKokB,iBAAiBpd,KAAKhH,KAAKulB,gBAAiBvlB,KAAKgd,OAItDhd,KAAK8jB,UAAW,GASxBkB,MAAO,WAEChlB,KAAK8jB,UAAY9jB,KAAK2kB,kBAEtB3kB,KAAK2kB,iBAAiB3d,KAAKhH,KAAKulB,gBAAiBvlB,KAAKgd,OAS9DkI,OAAQ,WAEAllB,KAAK8jB,UAAY9jB,KAAK4kB,mBAEtB5kB,KAAK4kB,kBAAkB5d,KAAKhH,KAAKulB,gBAAiBvlB,KAAKgd,OAS/D+D,OAAQ,WAEA/gB,KAAK8jB,SAED9jB,KAAKqkB,kBAELrkB,KAAKqkB,iBAAiBrd,KAAKhH,KAAKulB,gBAAiBvlB,KAAKgd,MAKtDhd,KAAKykB,sBAELzkB,KAAKykB,qBAAqBzd,KAAKhH,KAAKulB,gBAAiBvlB,KAAKgd,OAUtEsG,YAAa,WAELtjB,KAAK8jB,SAED9jB,KAAK6kB,uBAEL7kB,KAAK6kB,sBAAsB7d,KAAKhH,KAAKulB,gBAAiBvlB,KAAKgd,MAK3Dhd,KAAKykB,sBAELzkB,KAAKykB,qBAAqBzd,KAAKhH,KAAKulB,gBAAiBvlB,KAAKgd,OAWtEkG,UAAW,SAAUyD,GAEb3mB,KAAK8jB,UAAY9jB,KAAKwkB,qBAEtBxkB,KAAKwkB,oBAAoBxd,KAAKhH,KAAKulB,gBAAiBvlB,KAAKgd,KAAM2J,IASvEtL,OAAQ,SAAUxJ,EAAOC,GAEjB9R,KAAKukB,kBAELvkB,KAAKukB,iBAAiBvd,KAAKhH,KAAKulB,gBAAiB1T,EAAOC,IAShEqR,OAAQ,WAEAnjB,KAAK8jB,SAED9jB,KAAKskB,mBAEDtkB,KAAKgd,KAAK4J,aAAevmB,EAAOI,QAEhCT,KAAKgd,KAAK6J,QAAQC,OAClB9mB,KAAKgd,KAAK6J,QAAQE,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GAC9C/mB,KAAKskB,iBAAiBtd,KAAKhH,KAAKulB,gBAAiBvlB,KAAKgd,MACtDhd,KAAKgd,KAAK6J,QAAQG,WAIlBhnB,KAAKskB,iBAAiBtd,KAAKhH,KAAKulB,gBAAiBvlB,KAAKgd,OAM1Dhd,KAAK0kB,sBAEL1kB,KAAK0kB,qBAAqB1d,KAAKhH,KAAKulB,gBAAiBvlB,KAAKgd,OAWtEsJ,QAAS,WAELtmB,KAAK4jB,aAAc,EACnB5jB,KAAK6jB,aAAc,EAEnB7jB,KAAK+lB,oBAEL/lB,KAAKulB,gBAAkB,KAEvBvlB,KAAKkkB,eAAiB,KACtBlkB,KAAK8kB,mBAAqB,KAE1B9kB,KAAKmkB,kBAAoB,KACzBnkB,KAAK0kB,qBAAuB,KAC5B1kB,KAAKykB,qBAAuB,KAC5BzkB,KAAKokB,iBAAmB,KACxBpkB,KAAKqkB,iBAAmB,KACxBrkB,KAAKskB,iBAAmB,KACxBtkB,KAAK2kB,iBAAmB,KACxB3kB,KAAK4kB,kBAAoB,KACzB5kB,KAAK6kB,sBAAwB,KAE7B7kB,KAAKgd,KAAO,KACZhd,KAAK0jB,UACL1jB,KAAK2jB,cAAgB,KACrB3jB,KAAKgkB,QAAU,KAMvB3jB,EAAOmjB,aAAajd,UAAU8B,YAAchI,EAAOmjB,aAOnD/b,OAAOmF,eAAevM,EAAOmjB,aAAajd,UAAW,WAEjDmG,IAAK,WAED,OAAO1M,KAAK8jB,YAyEpBzjB,EAAOud,OAAS,aAEhBvd,EAAOud,OAAOrX,WAMV0gB,UAAW,KAMXC,YAAa,KAUbC,UAAU,EAMVC,kBAAkB,EAUlBC,QAAQ,EAMRC,gBAAgB,EAQhBC,iBAAkB,SAAUC,EAAUC,GAElC,GAAwB,mBAAbD,EAEP,MAAM,IAAI/N,MAAM,kFAAkFlN,QAAQ,OAAQkb,KAc1HC,kBAAmB,SAAUF,EAAUG,EAAQC,EAAiBC,EAAUhhB,GAEtE,IACIihB,EADAC,EAAY/nB,KAAKgoB,iBAAiBR,EAAUI,GAGhD,IAAmB,IAAfG,GAIA,IAFAD,EAAU9nB,KAAKinB,UAAUc,IAEbJ,WAAaA,EAErB,MAAM,IAAIlO,MAAM,kBAAoBkO,EAAS,GAAK,QAAU,eAAkBA,EAAc,OAAL,IAAe,sEAK1GG,EAAU,IAAIznB,EAAO4nB,cAAcjoB,KAAMwnB,EAAUG,EAAQC,EAAiBC,EAAUhhB,GACtF7G,KAAKkoB,YAAYJ,GAQrB,OALI9nB,KAAKmnB,UAAYnnB,KAAKknB,aAEtBY,EAAQK,QAAQnoB,KAAKknB,aAGlBY,GASXI,YAAa,SAAUJ,GAEd9nB,KAAKinB,YAENjnB,KAAKinB,cAIT,IAAIjW,EAAIhR,KAAKinB,UAAUlf,OAEvB,GACIiJ,UAEGhR,KAAKinB,UAAUjW,IAAM8W,EAAQM,WAAapoB,KAAKinB,UAAUjW,GAAGoX,WAEnEpoB,KAAKinB,UAAUtB,OAAO3U,EAAI,EAAG,EAAG8W,IAWpCE,iBAAkB,SAAUR,EAAUX,GAElC,IAAK7mB,KAAKinB,UAEN,OAAQ,OAGI1c,IAAZsc,IAAyBA,EAAU,MAKvC,IAHA,IACIwB,EADArX,EAAIhR,KAAKinB,UAAUlf,OAGhBiJ,KAIH,IAFAqX,EAAMroB,KAAKinB,UAAUjW,IAEbsX,YAAcd,GAAYa,EAAIxB,UAAYA,EAE9C,OAAO7V,EAIf,OAAQ,GAYZuX,IAAK,SAAUf,EAAUX,GAErB,OAAqD,IAA9C7mB,KAAKgoB,iBAAiBR,EAAUX,IA8B3CtT,IAAK,SAAUiU,EAAUI,EAAiBC,GAEtC7nB,KAAKunB,iBAAiBC,EAAU,OAEhC,IAAI3gB,KAEJ,GAAII,UAAUc,OAAS,EAEnB,IAAK,IAAIC,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAElCnB,EAAK0N,KAAKtN,UAAUe,IAI5B,OAAOhI,KAAK0nB,kBAAkBF,GAAU,EAAOI,EAAiBC,EAAUhhB,IAiB9E2hB,QAAS,SAAUhB,EAAUI,EAAiBC,GAE1C7nB,KAAKunB,iBAAiBC,EAAU,WAEhC,IAAI3gB,KAEJ,GAAII,UAAUc,OAAS,EAEnB,IAAK,IAAIC,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAElCnB,EAAK0N,KAAKtN,UAAUe,IAI5B,OAAOhI,KAAK0nB,kBAAkBF,GAAU,EAAMI,EAAiBC,EAAUhhB,IAY7Eye,OAAQ,SAAUkC,EAAUX,GAExB7mB,KAAKunB,iBAAiBC,EAAU,UAEhC,IAAIxf,EAAIhI,KAAKgoB,iBAAiBR,EAAUX,GAQxC,OANW,IAAP7e,IAEAhI,KAAKinB,UAAUjf,GAAGygB,WAClBzoB,KAAKinB,UAAUtB,OAAO3d,EAAG,IAGtBwf,GAUXpB,UAAW,SAAUS,GAIjB,QAFgBtc,IAAZsc,IAAyBA,EAAU,MAElC7mB,KAAKinB,UAAV,CAOA,IAFA,IAAIjW,EAAIhR,KAAKinB,UAAUlf,OAEhBiJ,KAEC6V,EAEI7mB,KAAKinB,UAAUjW,GAAG6V,UAAYA,IAE9B7mB,KAAKinB,UAAUjW,GAAGyX,WAClBzoB,KAAKinB,UAAUtB,OAAO3U,EAAG,IAK7BhR,KAAKinB,UAAUjW,GAAGyX,WAIrB5B,IAED7mB,KAAKinB,UAAUlf,OAAS,KAWhC2gB,gBAAiB,WAEb,OAAO1oB,KAAKinB,UAAYjnB,KAAKinB,UAAUlf,OAAS,GAYpD4gB,KAAM,WAEF3oB,KAAKonB,kBAAmB,GAY5B/F,SAAU,WAEN,GAAKrhB,KAAKqnB,QAAWrnB,KAAKinB,UAA1B,CAKA,IAEI2B,EAFAC,EAAYniB,MAAMH,UAAUE,MAAMO,KAAKC,WACvC+J,EAAIhR,KAAKinB,UAAUlf,OAQvB,GALI/H,KAAKmnB,WAELnnB,KAAKknB,YAAc2B,GAGlB7X,EAAL,CAMA4X,EAAW5oB,KAAKinB,UAAUxgB,QAC1BzG,KAAKonB,kBAAmB,EAIxB,GACIpW,UAEG4X,EAAS5X,IAAMhR,KAAKonB,mBAAuD,IAAnCwB,EAAS5X,GAAGmX,QAAQU,OASvEC,OAAQ,WAEA9oB,KAAKknB,cAELlnB,KAAKknB,YAAc,OAa3B6B,QAAS,WAEL/oB,KAAKomB,YAELpmB,KAAKinB,UAAY,KACbjnB,KAAKknB,cAELlnB,KAAKknB,YAAc,OAW3Bxf,SAAU,WAEN,MAAO,yBAA0B1H,KAAKqnB,OAAQ,iBAAkBrnB,KAAK0oB,kBAAmB,MAehGjhB,OAAOmF,eAAevM,EAAOud,OAAOrX,UAAW,iBAE3CmG,IAAK,WACD,IAAIsc,EAAQhpB,KACZ,OAAOA,KAAKsnB,iBAAmBtnB,KAAKsnB,eAAiB,WACjD,OAAO0B,EAAM3H,SAASla,MAAM6hB,EAAO/hB,gBAM/C5G,EAAOud,OAAOrX,UAAU8B,YAAchI,EAAOud,OAuB7Cvd,EAAO4nB,cAAgB,SAAUgB,EAAQzB,EAAUG,EAAQC,EAAiBC,EAAUhhB,GAMlF7G,KAAKsoB,UAAYd,EAEbG,IAEA3nB,KAAKkpB,SAAU,GAGI,MAAnBtB,IAEA5nB,KAAK6mB,QAAUe,GAOnB5nB,KAAKmpB,QAAUF,EAEXpB,IAEA7nB,KAAKooB,UAAYP,GAGjBhhB,GAAQA,EAAKkB,SAEb/H,KAAK+jB,MAAQld,IAKrBxG,EAAO4nB,cAAc1hB,WAKjBsgB,QAAS,KAMTqC,SAAS,EAMTd,UAAW,EAMXrE,MAAO,KAKPqF,UAAW,EAOX/B,QAAQ,EAORgC,OAAQ,KASRlB,QAAS,SAASU,GAEd,IAAIS,EAAeD,EAqBnB,OAnBIrpB,KAAKqnB,QAAYrnB,KAAKsoB,YAEtBe,EAASrpB,KAAKqpB,OAASrpB,KAAKqpB,OAAOtiB,OAAO8hB,GAAaA,EAEnD7oB,KAAK+jB,QAELsF,EAASA,EAAOtiB,OAAO/G,KAAK+jB,QAGhCuF,EAAgBtpB,KAAKsoB,UAAUnhB,MAAMnH,KAAK6mB,QAASwC,GAEnDrpB,KAAKopB,YAEDppB,KAAKkpB,SAELlpB,KAAKupB,UAIND,GAUXC,OAAQ,WACJ,OAAOvpB,KAAKwpB,UAAYxpB,KAAKmpB,QAAQ7D,OAAOtlB,KAAKsoB,UAAWtoB,KAAK6mB,SAAW,MAOhF2C,QAAS,WACL,QAAUxpB,KAAKmpB,WAAanpB,KAAKsoB,WAOrCX,OAAQ,WACJ,OAAO3nB,KAAKkpB,SAOhBO,YAAa,WACT,OAAOzpB,KAAKsoB,WAOhBoB,UAAW,WACP,OAAO1pB,KAAKmpB,SAQhBV,SAAU,kBACCzoB,KAAKmpB,eACLnpB,KAAKsoB,iBACLtoB,KAAK6mB,SAOhBnf,SAAU,WACN,MAAO,gCAAkC1H,KAAKkpB,QAAS,aAAclpB,KAAKwpB,UAAW,YAAcxpB,KAAKqnB,OAAS,MAKzHhnB,EAAO4nB,cAAc1hB,UAAU8B,YAAchI,EAAO4nB,cAoCpD5nB,EAAOspB,OAAS,SAAU3M,EAAM4M,EAAUC,GAKtC7pB,KAAKgd,KAAOA,EAMZhd,KAAKoI,KAAO/H,EAAO4B,aAQnBjC,KAAK8pB,QAAW9pB,MAMhBA,KAAK+pB,WAML/pB,KAAKgqB,OAAQ,EAMbhqB,KAAKiqB,QAAU,EAKfjqB,KAAKkqB,UAAY,IAAI7pB,EAAOoN,MAM5B,IAAI2I,EAAI,IAAI+T,KAoBZ,GAfAnqB,KAAK4pB,UAEDQ,YAAchiB,KAAM,KAAM8B,OAAS/D,EAAG,IAAK+G,EAAG,MAC9CiU,MAAQ/Y,KAAM,KAAM8B,MAAO,GAC3BmgB,OAASjiB,KAAM,KAAM8B,OAAS/D,EAAG,EAAK+G,EAAG,IACzCod,MAAQliB,KAAM,MAAO8B,OAASkM,EAAEmU,cAAgBnU,EAAEoU,WAAapU,EAAEqU,UAAyB,GAAdrU,EAAEsU,WAAiB,GAAsB,GAAjBtU,EAAEuU,aAAoBvU,EAAEwU,eAC5HC,YAAcziB,KAAM,KAAM8B,MAAO,OACjC4gB,WAAa1iB,KAAM,YAAa8B,MAAO,KAAM6gB,aAAeC,QAAQ,IACpEC,WAAa7iB,KAAM,YAAa8B,MAAO,KAAM6gB,aAAeC,QAAQ,IACpEE,WAAa9iB,KAAM,YAAa8B,MAAO,KAAM6gB,aAAeC,QAAQ,IACpEG,WAAa/iB,KAAM,YAAa8B,MAAO,KAAM6gB,aAAeC,QAAQ,KAKpEpB,EAEA,IAAK,IAAI/f,KAAO+f,EAEZ5pB,KAAK4pB,SAAS/f,GAAO+f,EAAS/f,GAKX,iBAAhBggB,IAEPA,EAAcA,EAAYxgB,MAAM,OAMpCrJ,KAAK6pB,YAAcA,OAIvBxpB,EAAOspB,OAAOpjB,WAOVsc,KAAM,aAaNuI,cAAe,SAAUvZ,EAAOC,GAE5B9R,KAAK4pB,SAASQ,WAAWlgB,MAAM/D,EAAI0L,EACnC7R,KAAK4pB,SAASQ,WAAWlgB,MAAMgD,EAAI4E,GAUvCiP,OAAQ,SAAUsK,GAEd,GAAIA,EACJ,CACI,IAAIllB,EAAIklB,EAAQllB,EAAInG,KAAKgd,KAAKnL,MAC1B3E,EAAI,EAAIme,EAAQne,EAAIlN,KAAKgd,KAAKlL,OAE9B3L,IAAMnG,KAAKkqB,UAAU/jB,GAAK+G,IAAMlN,KAAKkqB,UAAUhd,IAE/ClN,KAAK4pB,SAASS,MAAMngB,MAAM/D,EAAIA,EAAEmlB,QAAQ,GACxCtrB,KAAK4pB,SAASS,MAAMngB,MAAMgD,EAAIA,EAAEoe,QAAQ,GACxCtrB,KAAKkqB,UAAUvd,IAAIxG,EAAG+G,IAI9BlN,KAAK4pB,SAASzI,KAAKjX,MAAQlK,KAAKgd,KAAKmE,KAAKoK,uBAsB9CC,WAAY,SAAUrlB,EAAG+G,EAAG2E,EAAOC,EAAQ2Z,EAASC,QAEhCnhB,IAAZkhB,IAAyBA,EAAU,QACvBlhB,IAAZmhB,IAAyBA,EAAU,QAEzBnhB,IAAVsH,GAAiC,OAAVA,EAEvB7R,KAAK6R,MAAQA,EAIbA,EAAQ7R,KAAK6R,WAGFtH,IAAXuH,GAAmC,OAAXA,EAExB9R,KAAK8R,OAASA,EAIdA,EAAS9R,KAAK8R,OAGlB,IAAI6Z,EAAQ3rB,KAAKgd,KAAKzJ,IAAIoY,MAAMxlB,EAAG+G,EAAG7M,EAAOurB,MAAMhmB,SASnD,OAPA+lB,EAAM9Z,MAAQA,EACd8Z,EAAM7Z,OAASA,EAEf6Z,EAAME,OAAOlf,IAAI8e,EAASC,GAE1BC,EAAMG,SAAY9rB,MAEX2rB,GASXI,aAAc,WAEV,IAAK,IAAI/jB,EAAI,EAAGA,EAAIhI,KAAK+pB,QAAQhiB,OAAQC,IAErChI,KAAK+pB,QAAQ/hB,GAAGgiB,OAAQ,GAUhC1D,QAAS,WAELtmB,KAAK8pB,OAAO/hB,OAAS,EACrB/H,KAAK+pB,QAAQhiB,OAAS,EACtB/H,KAAK6pB,YAAY9hB,OAAS,EAE1B/H,KAAKgd,KAAO,KACZhd,KAAK4pB,SAAW,KAChB5pB,KAAKkqB,UAAY,OAMzB7pB,EAAOspB,OAAOpjB,UAAU8B,YAAchI,EAAOspB,OAM7CliB,OAAOmF,eAAevM,EAAOspB,OAAOpjB,UAAW,SAE3CmG,IAAK,WAED,OAAO1M,KAAK4pB,SAASQ,WAAWlgB,MAAM/D,GAI1CwG,IAAK,SAAUzC,GAEXlK,KAAK4pB,SAASQ,WAAWlgB,MAAM/D,EAAI+D,KAU3CzC,OAAOmF,eAAevM,EAAOspB,OAAOpjB,UAAW,UAE3CmG,IAAK,WAED,OAAO1M,KAAK4pB,SAASQ,WAAWlgB,MAAMgD,GAI1CP,IAAK,SAAUzC,GAEXlK,KAAK4pB,SAASQ,WAAWlgB,MAAMgD,EAAIhD,KAgC3C7J,EAAO2rB,OAAS,SAAUhP,EAAMiP,QAEb1hB,IAAX0hB,IAAwBA,EAAS,MAKrCjsB,KAAKgd,KAAOA,EAKZhd,KAAKisB,OAASA,EAMdjsB,KAAKqnB,QAAS,EAMdrnB,KAAKqd,SAAU,EAMfrd,KAAKksB,cAAe,EAMpBlsB,KAAKmsB,WAAY,EAMjBnsB,KAAKosB,eAAgB,EAMrBpsB,KAAKqsB,WAAY,EAMjBrsB,KAAKssB,eAAgB,GAIzBjsB,EAAO2rB,OAAOzlB,WAOVkZ,UAAW,aAQXsB,OAAQ,aAQRoC,OAAQ,aAQRoJ,WAAY,aAOZjG,QAAS,WAELtmB,KAAKgd,KAAO,KACZhd,KAAKisB,OAAS,KACdjsB,KAAKqnB,QAAS,EACdrnB,KAAKqd,SAAU,IAMvBhd,EAAO2rB,OAAOzlB,UAAU8B,YAAchI,EAAO2rB,OAiB7C3rB,EAAOmsB,cAAgB,SAASxP,GAK5Bhd,KAAKgd,KAAOA,EAKZhd,KAAKysB,WAMLzsB,KAAK0sB,KAAO,EAMZ1sB,KAAK2sB,GAAK,GAIdtsB,EAAOmsB,cAAcjmB,WAWjBgN,IAAK,SAAUqZ,GAEX,IAAI/lB,EAAOH,MAAMH,UAAUE,MAAMO,KAAKC,UAAW,GAC7C+L,GAAS,EA6Cb,MA1CsB,mBAAX4Z,EAEPA,EAAS,IAAIA,EAAO5sB,KAAKgd,KAAMhd,OAI/B4sB,EAAO5P,KAAOhd,KAAKgd,KACnB4P,EAAOX,OAASjsB,MAIe,mBAAxB4sB,EAAkB,YAEzBA,EAAOV,cAAe,EACtBlZ,GAAS,GAGmB,mBAArB4Z,EAAe,SAEtBA,EAAOT,WAAY,EACnBnZ,GAAS,GAGuB,mBAAzB4Z,EAAmB,aAE1BA,EAAOR,eAAgB,EACvBpZ,GAAS,GAGmB,mBAArB4Z,EAAe,SAEtBA,EAAOP,WAAY,EACnBrZ,GAAS,GAGuB,mBAAzB4Z,EAAmB,aAE1BA,EAAON,eAAgB,EACvBtZ,GAAS,GAITA,IAEI4Z,EAAOV,cAAgBU,EAAOT,WAAaS,EAAOR,iBAElDQ,EAAOvF,QAAS,IAGhBuF,EAAOP,WAAaO,EAAON,iBAE3BM,EAAOvP,SAAU,GAGrBrd,KAAK0sB,KAAO1sB,KAAKysB,QAAQlY,KAAKqY,GAGA,mBAAnBA,EAAa,MAEpBA,EAAO/J,KAAK1b,MAAMylB,EAAQ/lB,GAGvB+lB,GAIA,MAWftH,OAAQ,SAAUsH,EAAQtG,GAMtB,SAJgB/b,IAAZ+b,IAAyBA,GAAU,GAEvCtmB,KAAK2sB,GAAK3sB,KAAK0sB,KAER1sB,KAAK2sB,MAER,GAAI3sB,KAAKysB,QAAQzsB,KAAK2sB,MAAQC,EAS1B,OAPItG,GAEAsG,EAAOtG,UAGXtmB,KAAKysB,QAAQ9G,OAAO3lB,KAAK2sB,GAAI,QAC7B3sB,KAAK0sB,QAYjBtG,UAAW,WAIP,IAFApmB,KAAK2sB,GAAK3sB,KAAK0sB,KAER1sB,KAAK2sB,MAER3sB,KAAKysB,QAAQzsB,KAAK2sB,IAAIrG,UAG1BtmB,KAAKysB,QAAQ1kB,OAAS,EACtB/H,KAAK0sB,KAAO,GAUhBjN,UAAW,WAIP,IAFAzf,KAAK2sB,GAAK3sB,KAAK0sB,KAER1sB,KAAK2sB,MAEJ3sB,KAAKysB,QAAQzsB,KAAK2sB,IAAItF,QAAUrnB,KAAKysB,QAAQzsB,KAAK2sB,IAAIT,cAEtDlsB,KAAKysB,QAAQzsB,KAAK2sB,IAAIlN,aAYlCsB,OAAQ,WAIJ,IAFA/gB,KAAK2sB,GAAK3sB,KAAK0sB,KAER1sB,KAAK2sB,MAEJ3sB,KAAKysB,QAAQzsB,KAAK2sB,IAAItF,QAAUrnB,KAAKysB,QAAQzsB,KAAK2sB,IAAIR,WAEtDnsB,KAAKysB,QAAQzsB,KAAK2sB,IAAI5L,UAalC8L,WAAY,WAIR,IAFA7sB,KAAK2sB,GAAK3sB,KAAK0sB,KAER1sB,KAAK2sB,MAEJ3sB,KAAKysB,QAAQzsB,KAAK2sB,IAAItF,QAAUrnB,KAAKysB,QAAQzsB,KAAK2sB,IAAIP,eAEtDpsB,KAAKysB,QAAQzsB,KAAK2sB,IAAIE,cAYlC1J,OAAQ,WAIJ,IAFAnjB,KAAK2sB,GAAK3sB,KAAK0sB,KAER1sB,KAAK2sB,MAEJ3sB,KAAKysB,QAAQzsB,KAAK2sB,IAAItP,SAAWrd,KAAKysB,QAAQzsB,KAAK2sB,IAAIN,WAEvDrsB,KAAKysB,QAAQzsB,KAAK2sB,IAAIxJ,UAYlCoJ,WAAY,WAIR,IAFAvsB,KAAK2sB,GAAK3sB,KAAK0sB,KAER1sB,KAAK2sB,MAEJ3sB,KAAKysB,QAAQzsB,KAAK2sB,IAAItP,SAAWrd,KAAKysB,QAAQzsB,KAAK2sB,IAAIL,eAEvDtsB,KAAKysB,QAAQzsB,KAAK2sB,IAAIJ,cAWlCjG,QAAS,WAELtmB,KAAKomB,YAELpmB,KAAKgd,KAAO,OAMpB3c,EAAOmsB,cAAcjmB,UAAU8B,YAAchI,EAAOmsB,cAiBpDnsB,EAAOysB,MAAQ,SAAU9P,GAKrBhd,KAAKgd,KAAOA,EAEZjX,KAAKgnB,uBAAuB/lB,KAAKhH,MAMjCA,KAAKgK,KAAO,cAWZhK,KAAKgtB,yBAA0B,EAM/BhtB,KAAKitB,QAAS,EAOdjtB,KAAKktB,eAAiB,IAAI7sB,EAAO8V,OAOjCnW,KAAKuf,MAAQvf,KAKbA,KAAKmtB,qBAAuB,EAM5BntB,KAAKotB,WAAa,SAMlBptB,KAAKqtB,UAAY,KAMjBrtB,KAAKstB,UAAa3f,EAAG,EAAG4f,EAAG,EAAG3d,EAAG,EAAGJ,EAAG,EAAGgR,MAAO,EAAGgN,KAAM,WAErDxtB,KAAKgd,KAAKyQ,cAGXztB,KAAKstB,SAAS9d,EAAI,GAGlBwN,EAAK0Q,QAEL1tB,KAAK2tB,YAAY3Q,EAAK0Q,SAK9BrtB,EAAOysB,MAAMvmB,UAAYkB,OAAOwb,OAAOld,KAAKgnB,uBAAuBxmB,WACnElG,EAAOysB,MAAMvmB,UAAU8B,YAAchI,EAAOysB,MAS5CzsB,EAAOysB,MAAMvmB,UAAUonB,YAAc,SAAUD,GAEvCA,EAAgC,0BAEhC1tB,KAAKgtB,wBAA0BU,EAAgC,yBAG/DA,EAAwB,iBAExB1tB,KAAK4tB,mBAAmBF,EAAwB,kBAUxDrtB,EAAOysB,MAAMvmB,UAAU6Y,KAAO,WAE1B/e,EAAOwtB,IAAIC,UAAU9tB,KAAKgd,KAAK+Q,OAAQ/tB,KAAKmP,QAE5C9O,EAAO2tB,OAAOC,cAAcjuB,KAAKgd,KAAK+Q,OAAQ,QAC9C1tB,EAAO2tB,OAAOE,eAAeluB,KAAKgd,KAAK+Q,OAAQ,QAE/C/tB,KAAKmuB,mBAUT9tB,EAAOysB,MAAMvmB,UAAUkZ,UAAY,WAE/Bzf,KAAKmtB,qBAAuB,EAK5B,IAFA,IAAInlB,EAAI,EAEDA,EAAIhI,KAAKouB,SAASrmB,QACzB,CACI,IAAIsmB,EAAQruB,KAAKouB,SAASpmB,GAE1BqmB,EAAM5O,YAEFzf,OAASquB,EAAMpC,QAEfjkB,MAWZ3H,EAAOysB,MAAMvmB,UAAUwa,OAAS,WAK5B,IAFA,IAAI/Y,EAAIhI,KAAKouB,SAASrmB,OAEfC,KAEHhI,KAAKouB,SAASpmB,GAAG+Y,UAYzB1gB,EAAOysB,MAAMvmB,UAAUsmB,WAAa,WAGhC7sB,KAAKgd,KAAKqC,OAAO0B,SAGb/gB,KAAKgd,KAAKqC,OAAOnY,SAEjBlH,KAAKgd,KAAKqC,OAAOnY,OAAO2lB,aAExB7sB,KAAKsuB,kBAELtuB,KAAKgd,KAAKqC,OAAOmC,gBAGrB,IAAK,IAAIxZ,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAEtChI,KAAKouB,SAASpmB,GAAG6kB,aAGrB7sB,KAAKsuB,mBAUTjuB,EAAOysB,MAAMvmB,UAAU+nB,gBAAkB,WAErCtuB,KAAKuuB,WAAa,EAElB,IAAK,IAAIvmB,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAEtChI,KAAKouB,SAASpmB,GAAGsmB,mBAWzBjuB,EAAOysB,MAAMvmB,UAAU4nB,gBAAkB,gBAEb5jB,IAApBikB,SAASC,OAETzuB,KAAKotB,WAAa,wBAEa7iB,IAA1BikB,SAASE,aAEd1uB,KAAKotB,WAAa,8BAEU7iB,IAAvBikB,SAASG,UAEd3uB,KAAKotB,WAAa,2BAES7iB,IAAtBikB,SAASI,SAEd5uB,KAAKotB,WAAa,qBAIlBptB,KAAKotB,WAAa,KAGtB,IAAIpE,EAAQhpB,KAEZA,KAAKqtB,UAAY,SAAUwB,GACvB,OAAO7F,EAAM8F,iBAAiBD,IAGlC7uB,KAAK+uB,SAAW,SAAUF,QACKtkB,IAAtBikB,SAASQ,UAA4BR,SAASQ,YAE/ChG,EAAM8F,iBAAiBD,IAK3B7uB,KAAKotB,YAELoB,SAASS,iBAAiBjvB,KAAKotB,WAAYptB,KAAKqtB,WAAW,GAG/DplB,OAAOinB,OAASlvB,KAAKqtB,UACrBplB,OAAOknB,QAAUnvB,KAAKqtB,UAEtBplB,OAAOmnB,WAAapvB,KAAKqtB,UACzBplB,OAAOonB,WAAarvB,KAAKqtB,UAEzBplB,OAAOgnB,iBAAiB,QAASjvB,KAAK+uB,UAElC/uB,KAAKgd,KAAKsS,OAAOC,cAEjBC,SAASC,IAAIC,YAAYT,iBAAiB,WACtC5uB,EAAOysB,MAAMvmB,UAAUuoB,iBAAiB9nB,KAAKgiB,GAAS5gB,KAAM,YAGhEonB,SAASC,IAAIE,YAAYV,iBAAiB,WACtC5uB,EAAOysB,MAAMvmB,UAAUuoB,iBAAiB9nB,KAAKgiB,GAAS5gB,KAAM,eAiBxE/H,EAAOysB,MAAMvmB,UAAUuoB,iBAAmB,SAAUD,GAIhD,OAAQA,EAAMzmB,MAEV,IAAK,OACL,IAAK,WAED,YADApI,KAAKgd,KAAK4S,UAAUf,GAExB,IAAK,QACL,IAAK,QACL,IAAK,WAED,YADA7uB,KAAKgd,KAAK6S,UAAUhB,GAIxB7uB,KAAKgtB,0BAKLwB,SAASC,QAAUD,SAASG,WAAaH,SAASI,UAAYJ,SAASE,cAA+B,UAAfG,EAAMzmB,KAE7FpI,KAAKgd,KAAK8S,WAAWjB,GAIrB7uB,KAAKgd,KAAK+S,YAAYlB,KAmB9BxuB,EAAOysB,MAAMvmB,UAAUqnB,mBAAqB,SAAUpN,GAE9CxgB,KAAKgd,KAAKyQ,cAEdptB,EAAO2vB,MAAMC,aAAazP,EAAOxgB,KAAKstB,UACtCjtB,EAAO2vB,MAAME,YAAYlwB,KAAKstB,UAG9BttB,KAAKstB,SAAS3f,GAAK,IACnB3N,KAAKstB,SAASC,GAAK,IACnBvtB,KAAKstB,SAAS1d,GAAK,IACnB5P,KAAKstB,SAAS9d,EAAI,IAStBnP,EAAOysB,MAAMvmB,UAAU+f,QAAU,WAEzBtmB,KAAKotB,YAELoB,SAAS2B,oBAAoBnwB,KAAKotB,WAAYptB,KAAKqtB,WAAW,GAGlEplB,OAAOmnB,WAAa,KACpBnnB,OAAOonB,WAAa,KAEpBpnB,OAAOinB,OAAS,KAChBjnB,OAAOknB,QAAU,KAEjBlnB,OAAOkoB,oBAAoB,QAASnwB,KAAK+uB,WAS7CtnB,OAAOmF,eAAevM,EAAOysB,MAAMvmB,UAAW,mBAE1CmG,IAAK,WAED,OAAO1M,KAAKstB,SAAS9M,OAIzB7T,IAAK,SAAU6T,GAEXxgB,KAAK4tB,mBAAmBpN,MAYhC/Y,OAAOmF,eAAevM,EAAOysB,MAAMvmB,UAAW,YAE1CmG,IAAK,WAED,OAAO3G,KAAKJ,WAAWC,UAAYG,KAAKJ,WAAWE,QAIvD8G,IAAK,SAAUzC,GAIPnE,KAAKJ,WAAWC,QAFhBsE,EAE0BnE,KAAKJ,WAAWE,OAIhBE,KAAKJ,WAAWG,WAgCtDzF,EAAO+vB,MAAQ,SAAUpT,EAAMiP,EAAQjiB,EAAMqmB,EAAYC,EAAYC,QAE9ChmB,IAAf8lB,IAA4BA,GAAa,QAC1B9lB,IAAf+lB,IAA4BA,GAAa,QACrB/lB,IAApBgmB,IAAiCA,EAAkBlwB,EAAOmwB,QAAQC,QAOtEzwB,KAAKgd,KAAOA,OAEGzS,IAAX0hB,IAEAA,EAASjP,EAAKC,OAOlBjd,KAAKgK,KAAOA,GAAQ,QAQpBhK,KAAK0wB,EAAI,EAET3qB,KAAKgnB,uBAAuB/lB,KAAKhH,MAE7BqwB,GAEArwB,KAAKgd,KAAKuC,MAAMC,SAASxf,MACzBA,KAAK0wB,EAAI1wB,KAAKgd,KAAKuC,MAAM6O,SAASrmB,QAI9BkkB,IAEAA,EAAOzM,SAASxf,MAChBA,KAAK0wB,EAAIzE,EAAOmC,SAASrmB,QASjC/H,KAAKoI,KAAO/H,EAAOoB,MAMnBzB,KAAK2wB,YAActwB,EAAOoB,MAO1BzB,KAAK4wB,OAAQ,EAOb5wB,KAAKitB,QAAS,EAOdjtB,KAAK6wB,eAAgB,EAYrB7wB,KAAK8wB,gBAAiB,EAUtB9wB,KAAK+wB,UAAY1wB,EAAO2wB,OAQxBhxB,KAAKixB,OAAS,KAWdjxB,KAAKkxB,qBAAsB,EAQ3BlxB,KAAKmxB,4BAA6B,EAYlCnxB,KAAKoxB,iBAAmB,IAAI/wB,EAAOud,OAanC5d,KAAKqxB,eAAiB,IAAIhxB,EAAOud,OAYjC5d,KAAKsxB,iBAAmB,IAAIjxB,EAAOud,OAYnC5d,KAAKuxB,gBAAkB,IAAIlxB,EAAOud,OAUlC5d,KAAKswB,WAAaA,EASlBtwB,KAAKwxB,iBAAkB,EAQvBxxB,KAAKuwB,gBAAkBA,EAkBvBvwB,KAAKyxB,qBAAuB,KAM5BzxB,KAAK0xB,UAAY,IAAIrxB,EAAOud,OAM5B5d,KAAK2xB,YAAc,EAUnB3xB,KAAK4xB,eAAgB,EAOrB5xB,KAAK6xB,aAAe,IAAIxxB,EAAOoN,MAa/BzN,KAAK8xB,QAOL9xB,KAAK+xB,cAAgB,KAIzB1xB,EAAO+vB,MAAM7pB,UAAYkB,OAAOwb,OAAOld,KAAKgnB,uBAAuBxmB,WACnElG,EAAO+vB,MAAM7pB,UAAU8B,YAAchI,EAAO+vB,MAO5C/vB,EAAO+vB,MAAM4B,YAAc,EAO3B3xB,EAAO+vB,MAAM6B,aAAe,EAO5B5xB,EAAO+vB,MAAM8B,aAAe,EAO5B7xB,EAAO+vB,MAAM+B,WAAa,EAO1B9xB,EAAO+vB,MAAMgC,gBAAkB,EAO/B/xB,EAAO+vB,MAAMiC,gBAAkB,EAwB/BhyB,EAAO+vB,MAAM7pB,UAAUgN,IAAM,SAAU8a,EAAOiE,EAAQvpB,GAIlD,YAFewB,IAAX+nB,IAAwBA,GAAS,GAEjCjE,EAAMpC,SAAWjsB,KAEVquB,GAGPA,EAAMkE,MAAQlE,EAAMpC,QAAUoC,EAAMpC,OAAO6F,MAE3CzD,EAAMpC,OAAOuG,eAAenE,QAGlB9jB,IAAVxB,GAEAslB,EAAMqC,EAAI1wB,KAAKouB,SAASrmB,OAExB/H,KAAKwf,SAAS6O,KAIdruB,KAAKyyB,WAAWpE,EAAOtlB,GAEvB/I,KAAK0yB,WAGL1yB,KAAKswB,YAAcjC,EAAMvlB,eAAe,SAA0B,OAAfulB,EAAMkE,KAEzDvyB,KAAKgd,KAAK4F,QAAQ+P,OAAOtE,EAAOruB,KAAKuwB,iBAEhClC,EAAMkE,MAEXvyB,KAAK4yB,UAAUvE,IAGfruB,KAAKkxB,qBAAyB7C,EAAM/L,QAAS+L,EAAMwE,eAEnDxE,EAAMwE,cAAe,IAGpBP,GAAUjE,EAAMyE,QAEjBzE,EAAMyE,OAAOC,wBAAwB1E,EAAOruB,MAG5B,OAAhBA,KAAKixB,SAELjxB,KAAKixB,OAAS5C,GAGXA,IAmBXhuB,EAAO+vB,MAAM7pB,UAAUysB,MAAQ,SAAU3E,EAAOtlB,EAAOupB,GAEnD,OAAOtyB,KAAKuT,IAAI8a,EAAOiE,EAAQvpB,IAYnC1I,EAAO+vB,MAAM7pB,UAAUqsB,UAAY,SAAUvE,GAEzC,OAAIA,EAAMpC,SAAWjsB,OAIF,IAFHA,KAAK8xB,KAAKmB,QAAQ5E,KAI1BruB,KAAK8xB,KAAKvd,KAAK8Z,IACR,IAgBnBhuB,EAAO+vB,MAAM7pB,UAAUisB,eAAiB,SAAUnE,GAE9C,GAAIA,EACJ,CACI,IAAItlB,EAAQ/I,KAAK8xB,KAAKmB,QAAQ5E,GAE9B,IAAe,IAAXtlB,EAGA,OADA/I,KAAK8xB,KAAKnM,OAAO5c,EAAO,IACjB,EAIf,OAAO,GAqBX1I,EAAO+vB,MAAM7pB,UAAU2sB,YAAc,SAAU9E,EAAUkE,GAErD,GAAIlE,aAAoB/tB,EAAO+vB,MAE3BhC,EAAS+E,QAAQnzB,KAAMsyB,QAEtB,GAAI5rB,MAAMa,QAAQ6mB,GAEnB,IAAK,IAAIpmB,EAAI,EAAGA,EAAIomB,EAASrmB,OAAQC,IAEjChI,KAAKuT,IAAI6a,EAASpmB,GAAIsqB,GAI9B,OAAOlE,GAWX/tB,EAAO+vB,MAAM7pB,UAAU6sB,MAAQ,SAAUrqB,GAErC,OAAIA,EAAQ,GAAKA,GAAS/I,KAAKouB,SAASrmB,QAE5B,EAID/H,KAAKqzB,WAAWtqB,IA4B/B1I,EAAO+vB,MAAM7pB,UAAU0c,OAAS,SAAU9c,EAAG+G,EAAGrD,EAAKypB,EAAOrG,EAAQlkB,QAEjDwB,IAAX0iB,IAAwBA,GAAS,GAErC,IAAIoB,EAAQ,IAAIruB,KAAK+wB,UAAU/wB,KAAKgd,KAAM7W,EAAG+G,EAAGrD,EAAKypB,GAMrD,OAJAjF,EAAMpB,OAASA,EACfoB,EAAMhR,QAAU4P,EAChBoB,EAAMuC,MAAQ3D,EAEPjtB,KAAKuT,IAAI8a,GAAO,EAAOtlB,IAqDlC1I,EAAO+vB,MAAM7pB,UAAUgtB,eAAiB,SAAUC,EAAU3pB,EAAKypB,EAAOrG,EAAQwG,EAAUlO,QAExEhb,IAAV+oB,IAAuBA,EAAQ,QACpB/oB,IAAX0iB,IAAwBA,GAAS,GAEhCvmB,MAAMa,QAAQsC,KAEfA,GAAQA,IAGPnD,MAAMa,QAAQ+rB,KAEfA,GAAUA,IAGd,IAAItK,EAAQhpB,KACRouB,KAmBJ,OAjBAvkB,EAAIlC,QAAQ,SAAS+rB,GAEjBJ,EAAM3rB,QAAQ,SAASgsB,GAEnB,IAAK,IAAI3rB,EAAI,EAAGA,EAAIwrB,EAAUxrB,IAC9B,CACI,IAAIqmB,EAAQrF,EAAM/F,OAAO,EAAG,EAAGyQ,EAAWC,EAAa1G,GAEnDwG,GAAYA,EAASzsB,KAAKue,GAAmB8I,EAAOA,EAAOrmB,GAE/DomB,EAAS7Z,KAAK8Z,QAOnBD,GAYX/tB,EAAO+vB,MAAM7pB,UAAUmsB,QAAU,WAI7B,IAFA,IAAI1qB,EAAIhI,KAAKouB,SAASrmB,OAEfC,KAEHhI,KAAKouB,SAASpmB,GAAG0oB,EAAI1oB,GAyD7B3H,EAAO+vB,MAAM7pB,UAAUqtB,MAAQ,SAAU/hB,EAAOC,EAAQ+hB,EAAWC,EAAYhY,EAAU3M,GAKrF,QAHiB5E,IAAbuR,IAA0BA,EAAWzb,EAAOuD,eACjC2G,IAAX4E,IAAwBA,EAAS,GAER,IAAzBnP,KAAKouB,SAASrmB,QAAgBoH,EAASnP,KAAKouB,SAASrmB,SAAsB,IAAX8J,IAA4B,IAAZC,EAEhF,OAAO,EAOX,IAAK,IAJDnE,EAAI,IAAItN,EAAO2N,UAAU,EAAG,EAAG6lB,EAAWC,GAC1C/T,EAAKlO,EAAQgiB,EACbljB,EAAKmB,EAASgiB,EAET9rB,EAAImH,EAAQnH,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAC/C,CACI,IAAIqmB,EAAQruB,KAAKouB,SAASpmB,GAE1B,GAAIqmB,EAAe,QASnB,GAPIA,EAAM0F,QAAQpmB,EAAGmO,IAON,IAAXjK,EAGAlE,EAAET,GAAK4mB,EAEHnmB,EAAET,IAAMyD,IAERhD,EAAExH,GAAK0tB,EACPlmB,EAAET,EAAI,QAGT,IAAgB,IAAZ4E,EAGLnE,EAAExH,GAAK0tB,EAEHlmB,EAAExH,IAAM4Z,IAERpS,EAAExH,EAAI,EACNwH,EAAET,GAAK4mB,QAQX,GAFAnmB,EAAExH,GAAK0tB,EAEHlmB,EAAExH,IAAM4Z,IAERpS,EAAExH,EAAI,EACNwH,EAAET,GAAK4mB,EAEHnmB,EAAET,IAAMyD,GAGR,OAAO,EAMvB,OAAO,GAaXtQ,EAAO+vB,MAAM7pB,UAAUytB,YAAc,SAAUjrB,GAS3C,QAPcwB,IAAVxB,IAAuBA,EAAQ,GAE/BA,EAAQ/I,KAAKouB,SAASrmB,OAAS,IAE/BgB,EAAQ,GAGR/I,KAAKixB,OAIL,OAFAjxB,KAAK2xB,YAAc5oB,EACnB/I,KAAKixB,OAASjxB,KAAKouB,SAASpuB,KAAK2xB,aAC1B3xB,KAAKixB,QAapB5wB,EAAO+vB,MAAM7pB,UAAU0tB,KAAO,WAE1B,GAAIj0B,KAAKixB,OAcL,OAXIjxB,KAAK2xB,aAAe3xB,KAAKouB,SAASrmB,OAAS,EAE3C/H,KAAK2xB,YAAc,EAInB3xB,KAAK2xB,cAGT3xB,KAAKixB,OAASjxB,KAAKouB,SAASpuB,KAAK2xB,aAE1B3xB,KAAKixB,QAapB5wB,EAAO+vB,MAAM7pB,UAAU2tB,SAAW,WAE9B,GAAIl0B,KAAKixB,OAcL,OAXyB,IAArBjxB,KAAK2xB,YAEL3xB,KAAK2xB,YAAc3xB,KAAKouB,SAASrmB,OAAS,EAI1C/H,KAAK2xB,cAGT3xB,KAAKixB,OAASjxB,KAAKouB,SAASpuB,KAAK2xB,aAE1B3xB,KAAKixB,QAcpB5wB,EAAO+vB,MAAM7pB,UAAU4tB,KAAO,SAAUC,EAAQC,GAE5Cr0B,KAAKs0B,aAAaF,EAAQC,GAC1Br0B,KAAK0yB,WAWTryB,EAAO+vB,MAAM7pB,UAAUguB,WAAa,SAAUlG,GAQ1C,OANIA,EAAMpC,SAAWjsB,MAAQA,KAAKw0B,SAASnG,GAASruB,KAAKouB,SAASrmB,SAE9D/H,KAAKslB,OAAO+I,GAAO,GAAO,GAC1BruB,KAAKuT,IAAI8a,GAAO,IAGbA,GAWXhuB,EAAO+vB,MAAM7pB,UAAUkuB,WAAa,SAAUpG,GAQ1C,OANIA,EAAMpC,SAAWjsB,MAAQA,KAAKw0B,SAASnG,GAAS,IAEhDruB,KAAKslB,OAAO+I,GAAO,GAAO,GAC1BruB,KAAKgzB,MAAM3E,EAAO,GAAG,IAGlBA,GAWXhuB,EAAO+vB,MAAM7pB,UAAUmuB,OAAS,SAAUrG,GAEtC,GAAIA,EAAMpC,SAAWjsB,MAAQA,KAAKw0B,SAASnG,GAASruB,KAAKouB,SAASrmB,OAAS,EAC3E,CACI,IAAIyH,EAAIxP,KAAKw0B,SAASnG,GAClBze,EAAI5P,KAAKozB,MAAM5jB,EAAI,GAEnBI,GAEA5P,KAAKm0B,KAAK9F,EAAOze,GAIzB,OAAOye,GAWXhuB,EAAO+vB,MAAM7pB,UAAUouB,SAAW,SAAUtG,GAExC,GAAIA,EAAMpC,SAAWjsB,MAAQA,KAAKw0B,SAASnG,GAAS,EACpD,CACI,IAAI7e,EAAIxP,KAAKw0B,SAASnG,GAClBze,EAAI5P,KAAKozB,MAAM5jB,EAAI,GAEnBI,GAEA5P,KAAKm0B,KAAK9F,EAAOze,GAIzB,OAAOye,GAYXhuB,EAAO+vB,MAAM7pB,UAAUquB,GAAK,SAAU7rB,EAAO5C,EAAG+G,GAE5C,GAAInE,EAAQ,GAAKA,EAAQ/I,KAAKouB,SAASrmB,OAEnC,OAAQ,EAIR/H,KAAKqzB,WAAWtqB,GAAO5C,EAAIA,EAC3BnG,KAAKqzB,WAAWtqB,GAAOmE,EAAIA,GAYnC7M,EAAO+vB,MAAM7pB,UAAU+C,QAAU,WAE7BtJ,KAAKouB,SAAS9kB,UACdtJ,KAAK0yB,WAWTryB,EAAO+vB,MAAM7pB,UAAUiuB,SAAW,SAAUnG,GAExC,OAAOruB,KAAKouB,SAAS6E,QAAQ5E,IAajChuB,EAAO+vB,MAAM7pB,UAAUsuB,UAAY,SAAU7qB,GAEzC,IAAK,IAAIhC,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAEtC,GAAIhI,KAAKouB,SAASpmB,GAAGgC,OAASA,EAE1B,OAAOhK,KAAKouB,SAASpmB,GAI7B,OAAO,MAgBX3H,EAAO+vB,MAAM7pB,UAAUgG,QAAU,SAAUuoB,EAAUC,GAEjD,IAAIhsB,EAAQ/I,KAAKw0B,SAASM,GAE1B,IAAe,IAAX/rB,EAkBA,OAhBIgsB,EAAS9I,SAEL8I,EAAS9I,kBAAkB5rB,EAAO+vB,MAElC2E,EAAS9I,OAAO3G,OAAOyP,GAIvBA,EAAS9I,OAAO+I,YAAYD,IAIpC/0B,KAAKslB,OAAOwP,GAEZ90B,KAAKgzB,MAAM+B,EAAUhsB,GAEd+rB,GAefz0B,EAAO+vB,MAAM7pB,UAAU0uB,YAAc,SAAU5G,EAAOxkB,GAElD,IAAI/B,EAAM+B,EAAI9B,OAEd,OAAY,IAARD,GAAa+B,EAAI,KAAMwkB,IAIV,IAARvmB,GAAa+B,EAAI,KAAMwkB,GAASxkB,EAAI,KAAMwkB,EAAMxkB,EAAI,MAI5C,IAAR/B,GAAa+B,EAAI,KAAMwkB,GAASxkB,EAAI,KAAMwkB,EAAMxkB,EAAI,KAAOA,EAAI,KAAMwkB,EAAMxkB,EAAI,IAAIA,EAAI,KAI/E,IAAR/B,GAAa+B,EAAI,KAAMwkB,GAASxkB,EAAI,KAAMwkB,EAAMxkB,EAAI,KAAOA,EAAI,KAAMwkB,EAAMxkB,EAAI,IAAIA,EAAI,KAAOA,EAAI,KAAMwkB,EAAMxkB,EAAI,IAAIA,EAAI,IAAIA,EAAI,OA2B/IxJ,EAAO+vB,MAAM7pB,UAAU0D,YAAc,SAAUokB,EAAOxkB,EAAKK,EAAOgrB,EAAW7U,GAgBzE,QAdc9V,IAAV8V,IAAuBA,GAAQ,GAEnC6U,EAAYA,GAAa,GAYpBl1B,KAAKi1B,YAAY5G,EAAOxkB,MAAUwW,GAAS6U,EAAY,GAExD,OAAO,EAGX,IAAIptB,EAAM+B,EAAI9B,OAmCd,OAjCY,IAARD,EAEkB,IAAdotB,EAAmB7G,EAAMxkB,EAAI,IAAMK,EAChB,IAAdgrB,EAAmB7G,EAAMxkB,EAAI,KAAOK,EACtB,IAAdgrB,EAAmB7G,EAAMxkB,EAAI,KAAOK,EACtB,IAAdgrB,EAAmB7G,EAAMxkB,EAAI,KAAOK,EACtB,IAAdgrB,IAAmB7G,EAAMxkB,EAAI,KAAOK,GAEhC,IAARpC,EAEa,IAAdotB,EAAmB7G,EAAMxkB,EAAI,IAAIA,EAAI,IAAMK,EACxB,IAAdgrB,EAAmB7G,EAAMxkB,EAAI,IAAIA,EAAI,KAAOK,EAC9B,IAAdgrB,EAAmB7G,EAAMxkB,EAAI,IAAIA,EAAI,KAAOK,EAC9B,IAAdgrB,EAAmB7G,EAAMxkB,EAAI,IAAIA,EAAI,KAAOK,EAC9B,IAAdgrB,IAAmB7G,EAAMxkB,EAAI,IAAIA,EAAI,KAAOK,GAExC,IAARpC,EAEa,IAAdotB,EAAmB7G,EAAMxkB,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAMK,EAChC,IAAdgrB,EAAmB7G,EAAMxkB,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAOK,EACtC,IAAdgrB,EAAmB7G,EAAMxkB,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAOK,EACtC,IAAdgrB,EAAmB7G,EAAMxkB,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAOK,EACtC,IAAdgrB,IAAmB7G,EAAMxkB,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAOK,GAEhD,IAARpC,IAEa,IAAdotB,EAAmB7G,EAAMxkB,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAMK,EACxC,IAAdgrB,EAAmB7G,EAAMxkB,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAOK,EAC9C,IAAdgrB,EAAmB7G,EAAMxkB,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAOK,EAC9C,IAAdgrB,EAAmB7G,EAAMxkB,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAOK,EAC9C,IAAdgrB,IAAmB7G,EAAMxkB,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAOK,KAGlE,GAcX7J,EAAO+vB,MAAM7pB,UAAU4uB,cAAgB,SAAU9G,EAAOxkB,EAAKK,EAAOmW,GAIhE,QAFc9V,IAAV8V,IAAuBA,GAAQ,GAE/BrgB,OAASquB,EAAMpC,OAEf,OAAO,EAGX,IAAIjZ,EAAS3S,EAAO6I,MAAMM,YAAY6kB,EAAOxkB,GAE7C,aAAiBU,IAAXyI,GAAyBqN,GAAWrN,IAAW9I,IAwBzD7J,EAAO+vB,MAAM7pB,UAAUoG,IAAM,SAAU0hB,EAAOxkB,EAAKK,EAAOkrB,EAAYC,EAAcH,EAAW7U,GAS3F,QAPc9V,IAAV8V,IAAuBA,GAAQ,GAEnCxW,EAAMA,EAAIR,MAAM,UAEGkB,IAAf6qB,IAA4BA,GAAa,QACxB7qB,IAAjB8qB,IAA8BA,GAAe,KAE7B,IAAfD,GAAyBA,GAAc/G,EAAMuC,UAA6B,IAAjByE,GAA2BA,GAAgBhH,EAAMhR,SAE3G,OAAOrd,KAAKiK,YAAYokB,EAAOxkB,EAAKK,EAAOgrB,EAAW7U,IAqB9DhgB,EAAO+vB,MAAM7pB,UAAU+uB,OAAS,SAAUzrB,EAAKK,EAAOkrB,EAAYC,EAAcH,EAAW7U,QAEpE9V,IAAf6qB,IAA4BA,GAAa,QACxB7qB,IAAjB8qB,IAA8BA,GAAe,QACnC9qB,IAAV8V,IAAuBA,GAAQ,GAEnCxW,EAAMA,EAAIR,MAAM,KAChB6rB,EAAYA,GAAa,EAEzB,IAAK,IAAIltB,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,MAEhCotB,GAAeA,GAAcp1B,KAAKouB,SAASpmB,GAAG4oB,UAAayE,GAAiBA,GAAgBr1B,KAAKouB,SAASpmB,GAAGqV,UAE/Grd,KAAKiK,YAAYjK,KAAKouB,SAASpmB,GAAI6B,EAAKK,EAAOgrB,EAAW7U,IAsBtEhgB,EAAO+vB,MAAM7pB,UAAUgvB,eAAiB,SAAU1rB,EAAKK,EAAOkrB,EAAYC,EAAcH,EAAW7U,QAE5E9V,IAAf6qB,IAA4BA,GAAa,QACxB7qB,IAAjB8qB,IAA8BA,GAAe,QACnC9qB,IAAV8V,IAAuBA,GAAQ,GAEnC6U,EAAYA,GAAa,EAEzB,IAAK,IAAIltB,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,MAEhCotB,GAAeA,GAAcp1B,KAAKouB,SAASpmB,GAAG4oB,UAAayE,GAAiBA,GAAgBr1B,KAAKouB,SAASpmB,GAAGqV,WAE3Grd,KAAKouB,SAASpmB,aAAc3H,EAAO+vB,MAEnCpwB,KAAKouB,SAASpmB,GAAGutB,eAAe1rB,EAAKK,EAAOkrB,EAAYC,EAAcH,EAAW7U,GAIjFrgB,KAAKiK,YAAYjK,KAAKouB,SAASpmB,GAAI6B,EAAIR,MAAM,KAAMa,EAAOgrB,EAAW7U,KAoBrFhgB,EAAO+vB,MAAM7pB,UAAUivB,SAAW,SAAU3rB,EAAKK,EAAOkrB,EAAYC,EAAchV,QAE3D9V,IAAf6qB,IAA4BA,GAAa,QACxB7qB,IAAjB8qB,IAA8BA,GAAe,QACnC9qB,IAAV8V,IAAuBA,GAAQ,GAEnC,IAAK,IAAIrY,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAC1C,CACI,IAAIqmB,EAAQruB,KAAKouB,SAASpmB,GAE1B,KAAMotB,GAAeA,GAAc/G,EAAMuC,UAAayE,GAAiBA,GAAgBhH,EAAMhR,WAEpFrd,KAAKm1B,cAAc9G,EAAOxkB,EAAKK,EAAOmW,GAEvC,OAAO,EAKnB,OAAO,GAgBXhgB,EAAO+vB,MAAM7pB,UAAUkvB,SAAW,SAAU5rB,EAAKK,EAAOkrB,EAAYC,QAE7C9qB,IAAf6qB,IAA4BA,GAAa,QACxB7qB,IAAjB8qB,IAA8BA,GAAe,GAEjD,IAAK,IAAIrtB,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAC1C,CACI,IAAIqmB,EAAQruB,KAAKouB,SAASpmB,GAE1B,KAAMotB,GAAeA,GAAc/G,EAAMuC,UAAayE,GAAiBA,GAAgBhH,EAAMhR,UAErFrd,KAAKm1B,cAAc9G,EAAOxkB,EAAKK,GAE/B,OAAO,EAKnB,OAAO,GAeX7J,EAAO+vB,MAAM7pB,UAAUmvB,OAAS,SAAUC,EAAUC,EAAQR,EAAYC,GAEpEr1B,KAAKs1B,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAe5Dh1B,EAAO+vB,MAAM7pB,UAAUsvB,OAAS,SAAUF,EAAUC,EAAQR,EAAYC,GAEpEr1B,KAAKs1B,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAe5Dh1B,EAAO+vB,MAAM7pB,UAAUuvB,YAAc,SAAUH,EAAUC,EAAQR,EAAYC,GAEzEr1B,KAAKs1B,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAe5Dh1B,EAAO+vB,MAAM7pB,UAAUwvB,UAAY,SAAUJ,EAAUC,EAAQR,EAAYC,GAEvEr1B,KAAKs1B,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAS5Dh1B,EAAO+vB,MAAM7pB,UAAUyvB,KAAO,WAE1Bh2B,KAAK4wB,OAAQ,EACb5wB,KAAKitB,QAAS,EACdjtB,KAAKqd,SAAU,GASnBhd,EAAO+vB,MAAM7pB,UAAU0vB,QAAU,WAE7Bj2B,KAAKk2B,cAAc,QAAQ,IAS/B71B,EAAO+vB,MAAM7pB,UAAU4vB,OAAS,WAE5Bn2B,KAAK4wB,OAAQ,EACb5wB,KAAKitB,QAAS,EACdjtB,KAAKqd,SAAU,GASnBhd,EAAO+vB,MAAM7pB,UAAU6vB,UAAY,WAE/Bp2B,KAAKk2B,cAAc,UAAU,IAcjC71B,EAAO+vB,MAAM7pB,UAAU8vB,SAAW,SAAUlwB,EAAG+G,EAAGrD,EAAKypB,EAAOgD,GAE1Dt2B,KAAK2H,QAAQ3H,KAAKu2B,WAAYv2B,KAAMs2B,EAAanwB,EAAG+G,EAAGrD,EAAKypB,IAchEjzB,EAAO+vB,MAAM7pB,UAAU2vB,cAAgB,SAAUzC,EAAU+C,GAEvD,IAAI3vB,EAEJ,GAAII,UAAUc,OAAS,EACvB,CACIlB,KAEA,IAASmB,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAElCnB,EAAK0N,KAAKtN,UAAUe,IAI5B,IAAK,IAAIA,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAElChI,KAAKouB,SAASpmB,GAAGilB,SAAWuJ,GAAex2B,KAAKouB,SAASpmB,GAAGyrB,IAE5DzzB,KAAKouB,SAASpmB,GAAGyrB,GAAUtsB,MAAMnH,KAAKouB,SAASpmB,GAAInB,IAe/DxG,EAAO+vB,MAAM7pB,UAAUkwB,kBAAoB,SAAUpI,EAAOoF,EAAU1rB,GAIlE,GAAe,IAAXA,GAEA,GAAIsmB,EAAMoF,EAAS,IAEf,OAAOpF,EAAMoF,EAAS,SAGzB,GAAe,IAAX1rB,GAEL,GAAIsmB,EAAMoF,EAAS,IAAIA,EAAS,IAE5B,OAAOpF,EAAMoF,EAAS,IAAIA,EAAS,SAGtC,GAAe,IAAX1rB,GAEL,GAAIsmB,EAAMoF,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAEzC,OAAOpF,EAAMoF,EAAS,IAAIA,EAAS,IAAIA,EAAS,SAGnD,GAAe,IAAX1rB,GAEL,GAAIsmB,EAAMoF,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAEtD,OAAOpF,EAAMoF,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAAIA,EAAS,SAGhE,GAAIpF,EAAMoF,GAEX,OAAOpF,EAAMoF,GAGjB,OAAO,GAeXpzB,EAAO+vB,MAAM7pB,UAAUmwB,QAAU,SAAUC,EAAQ9P,GAE/C,QAAetc,IAAXosB,EAAJ,CAQA,IAAIC,GAFJD,EAASA,EAAOttB,MAAM,MAEItB,OAE1B,QAAgBwC,IAAZsc,GAAqC,OAAZA,GAAgC,KAAZA,EAE7CA,EAAU,UAKV,GAAuB,iBAAZA,EAGP,IAAIgQ,GADJhQ,EAAUA,EAAQxd,MAAM,MACItB,OAIpC,IAAIlB,EAEJ,GAAII,UAAUc,OAAS,EACvB,CACIlB,KAEA,IAASmB,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAElCnB,EAAK0N,KAAKtN,UAAUe,IAO5B,IAAK,IAHDyrB,EAAW,KACXlO,EAAkB,KAEbvd,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAEtCyrB,EAAWzzB,KAAKy2B,kBAAkBz2B,KAAKouB,SAASpmB,GAAI2uB,EAAQC,GAExD/P,GAAW4M,GAEXlO,EAAkBvlB,KAAKy2B,kBAAkBz2B,KAAKouB,SAASpmB,GAAI6e,EAASgQ,GAEhEpD,GAEAA,EAAStsB,MAAMoe,EAAiB1e,IAG/B4sB,GAELA,EAAStsB,MAAMnH,KAAKouB,SAASpmB,GAAInB,KAW7CxG,EAAO+vB,MAAM7pB,UAAUkZ,UAAY,WAE/B,GAAIzf,KAAK8wB,eAGL,OADA9wB,KAAKsmB,WACE,EAGX,IAAKtmB,KAAKitB,SAAWjtB,KAAKisB,OAAOgB,OAG7B,OADAjtB,KAAK82B,eAAiB,GACf,EAOX,IAFA,IAAI9uB,EAAI,EAEDA,EAAIhI,KAAKouB,SAASrmB,QACzB,CACI,IAAIsmB,EAAQruB,KAAKouB,SAASpmB,GAE1BqmB,EAAM5O,YAEFzf,OAASquB,EAAMpC,QAEfjkB,IAIR,OAAO,GAYX3H,EAAO+vB,MAAM7pB,UAAUwa,OAAS,WAK5B,IAFA,IAAI/Y,EAAIhI,KAAKouB,SAASrmB,OAEfC,KACP,CACI,IAAIF,EAAM9H,KAAKouB,SAASrmB,OAEpBC,GAAKF,IAAOE,EAAIF,EAAM,GAE1B,IAAIumB,EAAQruB,KAAKouB,SAASpmB,GAErBhI,KAAKmxB,6BAA8B9C,EAAMpB,QAC1CoB,EAAMtN,WAWlB1gB,EAAO+vB,MAAM7pB,UAAUsmB,WAAa,WAG5B7sB,KAAK4xB,gBAEL5xB,KAAKmG,GAAKnG,KAAKgd,KAAKqC,OAAOnC,KAAK/W,EAAInG,KAAK6xB,aAAa1rB,GAAKnG,KAAKgd,KAAKqC,OAAOrI,MAAM7Q,EAClFnG,KAAKkN,GAAKlN,KAAKgd,KAAKqC,OAAOnC,KAAKhQ,EAAIlN,KAAK6xB,aAAa3kB,GAAKlN,KAAKgd,KAAKqC,OAAOrI,MAAM9J,GAGtF,IAAK,IAAIlF,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAEtChI,KAAKouB,SAASpmB,GAAG6kB,cAsBzBxsB,EAAO+vB,MAAM7pB,UAAUwwB,OAAS,SAAUC,EAAWV,GAMjD,IAJA,IAAIvtB,GAAS,EACThB,EAAS/H,KAAKouB,SAASrmB,OACvBoM,OAEKpL,EAAQhB,GACjB,CACI,IAAIsmB,EAAQruB,KAAKouB,SAASrlB,KAErButB,GAAgBA,GAAejI,EAAMpB,SAElC+J,EAAU3I,EAAOtlB,EAAO/I,KAAKouB,WAE7Bja,EAAQI,KAAK8Z,GAKzB,OAAO,IAAIhuB,EAAO42B,SAAS9iB,IAqB/B9T,EAAO+vB,MAAM7pB,UAAUoB,QAAU,SAAU8rB,EAAUlO,EAAiB+Q,GAIlE,QAFoB/rB,IAAhB+rB,IAA6BA,GAAc,GAE3CrvB,UAAUc,QAAU,EAEpB,IAASC,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,MAEjCsuB,GAAgBA,GAAet2B,KAAKouB,SAASpmB,GAAGilB,SAEjDwG,EAASzsB,KAAKue,EAAiBvlB,KAAKouB,SAASpmB,QAKzD,CAKI,IAAK,IAFDnB,GAAQ,MAEHmB,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAElCnB,EAAK0N,KAAKtN,UAAUe,IAGxB,IAASA,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,MAEjCsuB,GAAgBA,GAAet2B,KAAKouB,SAASpmB,GAAGilB,UAEjDpmB,EAAK,GAAK7G,KAAKouB,SAASpmB,GACxByrB,EAAStsB,MAAMoe,EAAiB1e,MAiBhDxG,EAAO+vB,MAAM7pB,UAAU2wB,cAAgB,SAAUzD,EAAUlO,GAEvD,IAAI1e,EAEJ,GAAII,UAAUc,OAAS,EACvB,CACIlB,GAAQ,MAER,IAAK,IAAImB,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAElCnB,EAAK0N,KAAKtN,UAAUe,IAI5BhI,KAAKm3B,QAAQ,UAAU,EAAM92B,EAAO+vB,MAAM6B,aAAcwB,EAAUlO,EAAiB1e,IAcvFxG,EAAO+vB,MAAM7pB,UAAU6wB,aAAe,SAAU3D,EAAUlO,GAEtD,IAAI1e,EAEJ,GAAII,UAAUc,OAAS,EACvB,CACIlB,GAAQ,MAER,IAAK,IAAImB,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAElCnB,EAAK0N,KAAKtN,UAAUe,IAI5BhI,KAAKm3B,QAAQ,SAAS,EAAM92B,EAAO+vB,MAAM6B,aAAcwB,EAAUlO,EAAiB1e,IActFxG,EAAO+vB,MAAM7pB,UAAU8wB,YAAc,SAAU5D,EAAUlO,GAErD,IAAI1e,EAEJ,GAAII,UAAUc,OAAS,EACvB,CACIlB,GAAQ,MAER,IAAK,IAAImB,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAElCnB,EAAK0N,KAAKtN,UAAUe,IAI5BhI,KAAKm3B,QAAQ,SAAS,EAAO92B,EAAO+vB,MAAM6B,aAAcwB,EAAUlO,EAAiB1e,IAkBvFxG,EAAO+vB,MAAM7pB,UAAU+wB,KAAO,SAAUztB,EAAK0tB,GAErCv3B,KAAKouB,SAASrmB,OAAS,SAMfwC,IAARV,IAAqBA,EAAM,UACjBU,IAAVgtB,IAAuBA,EAAQl3B,EAAO+vB,MAAMgC,gBAEhDpyB,KAAK+xB,cAAgBloB,EAEjB0tB,IAAUl3B,EAAO+vB,MAAMgC,eAEvBpyB,KAAKouB,SAASkJ,KAAKt3B,KAAKw3B,qBAAqBhxB,KAAKxG,OAIlDA,KAAKouB,SAASkJ,KAAKt3B,KAAKy3B,sBAAsBjxB,KAAKxG,OAGvDA,KAAK0yB,YAcTryB,EAAO+vB,MAAM7pB,UAAUmxB,WAAa,SAAUC,EAAa9Q,GAEnD7mB,KAAKouB,SAASrmB,OAAS,IAM3B/H,KAAKouB,SAASkJ,KAAKK,EAAYnxB,KAAKqgB,IAEpC7mB,KAAK0yB,YAYTryB,EAAO+vB,MAAM7pB,UAAUixB,qBAAuB,SAAUhoB,EAAGI,GAEvD,OAAIJ,EAAExP,KAAK+xB,eAAiBniB,EAAE5P,KAAK+xB,gBAEvB,EAEHviB,EAAExP,KAAK+xB,eAAiBniB,EAAE5P,KAAK+xB,eAE7B,EAIHviB,EAAEkhB,EAAI9gB,EAAE8gB,GAEA,EAID,GAcnBrwB,EAAO+vB,MAAM7pB,UAAUkxB,sBAAwB,SAAUjoB,EAAGI,GAExD,OAAIJ,EAAExP,KAAK+xB,eAAiBniB,EAAE5P,KAAK+xB,eAExB,EAEFviB,EAAExP,KAAK+xB,eAAiBniB,EAAE5P,KAAK+xB,gBAE5B,EAID,GAiCf1xB,EAAO+vB,MAAM7pB,UAAU4wB,QAAU,SAAUttB,EAAKK,EAAO0tB,EAAYnE,EAAUlO,EAAiB1e,GAE1F,GAA6B,IAAzB7G,KAAKouB,SAASrmB,OAClB,CACI,GAAI6vB,IAAev3B,EAAO+vB,MAAM6B,aAE5B,OAAO,EAEN,GAAI2F,IAAev3B,EAAO+vB,MAAM+B,WAEjC,SAIR,IAAI0F,EAAQ,EAEZ,GAAID,IAAev3B,EAAO+vB,MAAM+B,WAE5B,IAAI3jB,KAGR,IAAK,IAAIxG,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAEtC,GAAIhI,KAAKouB,SAASpmB,GAAG6B,KAASK,EAC9B,CAgBI,GAfA2tB,IAEIpE,IAEI5sB,GAEAA,EAAK,GAAK7G,KAAKouB,SAASpmB,GACxByrB,EAAStsB,MAAMoe,EAAiB1e,IAIhC4sB,EAASzsB,KAAKue,EAAiBvlB,KAAKouB,SAASpmB,KAIjD4vB,IAAev3B,EAAO+vB,MAAM8B,aAE5B,OAAOlyB,KAAKouB,SAASpmB,GAEhB4vB,IAAev3B,EAAO+vB,MAAM+B,YAEjC3jB,EAAO+F,KAAKvU,KAAKouB,SAASpmB,IAKtC,OAAI4vB,IAAev3B,EAAO+vB,MAAM6B,aAErB4F,EAEFD,IAAev3B,EAAO+vB,MAAM+B,WAE1B3jB,EAKA,MAafnO,EAAO+vB,MAAM7pB,UAAUuxB,SAAW,SAAUjuB,EAAKK,GAE7C,OAAOlK,KAAKm3B,QAAQttB,EAAKK,EAAO7J,EAAO+vB,MAAM8B,eAuBjD7xB,EAAO+vB,MAAM7pB,UAAUwxB,eAAiB,SAAU9K,EAAQ+K,EAAc7xB,EAAG+G,EAAGrD,EAAKypB,QAE1D/oB,IAAjBytB,IAA8BA,GAAe,GAE3B,kBAAX/K,IAEPA,GAAS,GAGb,IAAIoB,EAAQruB,KAAK83B,SAAS,SAAU7K,GAEpC,OAAkB,OAAVoB,GAAkB2J,EAAgBh4B,KAAKijB,OAAO9c,EAAG+G,EAAGrD,EAAKypB,GAAStzB,KAAKu2B,WAAWlI,EAAOloB,EAAG+G,EAAGrD,EAAKypB,IAwBhHjzB,EAAO+vB,MAAM7pB,UAAU0xB,cAAgB,SAAUD,EAAc7xB,EAAG+G,EAAGrD,EAAKypB,QAEjD/oB,IAAjBytB,IAA8BA,GAAe,GAEjD,IAAI3J,EAAQruB,KAAK83B,SAAS,SAAS,GAEnC,OAAkB,OAAVzJ,GAAkB2J,EAAgBh4B,KAAKijB,OAAO9c,EAAG+G,EAAGrD,EAAKypB,GAAStzB,KAAKu2B,WAAWlI,EAAOloB,EAAG+G,EAAGrD,EAAKypB,IAwBhHjzB,EAAO+vB,MAAM7pB,UAAU2xB,aAAe,SAAUF,EAAc7xB,EAAG+G,EAAGrD,EAAKypB,QAEhD/oB,IAAjBytB,IAA8BA,GAAe,GAEjD,IAAI3J,EAAQruB,KAAK83B,SAAS,SAAS,GAEnC,OAAkB,OAAVzJ,GAAkB2J,EAAgBh4B,KAAKijB,OAAO9c,EAAG+G,EAAGrD,EAAKypB,GAAStzB,KAAKu2B,WAAWlI,EAAOloB,EAAG+G,EAAGrD,EAAKypB,IAmBhHjzB,EAAO+vB,MAAM7pB,UAAUgwB,WAAa,SAAUlI,EAAOloB,EAAG+G,EAAGrD,EAAKypB,GAE5D,OAAc,OAAVjF,EAEO,WAGD9jB,IAANpE,IAAmBA,EAAI,WACjBoE,IAAN2C,IAAmBA,EAAI,MAEjB,OAAN/G,GAAoB,OAAN+G,GAEdmhB,EAAMpM,MAAM9b,EAAG+G,QAGP3C,IAARV,GAEAwkB,EAAM8J,YAAYtuB,EAAKypB,GAGpBjF,IAYXhuB,EAAO+vB,MAAM7pB,UAAU6xB,OAAS,WAE5B,GAAIp4B,KAAKouB,SAASrmB,OAAS,EAEvB,OAAO/H,KAAKouB,SAASpuB,KAAKouB,SAASrmB,OAAS,IAapD1H,EAAO+vB,MAAM7pB,UAAU8xB,UAAY,WAE/B,GAAIr4B,KAAKouB,SAASrmB,OAAS,EAEvB,OAAO/H,KAAKouB,SAAS,IAuB7B/tB,EAAO+vB,MAAM7pB,UAAU+xB,aAAe,SAAUC,EAAQ9E,EAAUlO,GAM9D,IAAK,IAJDjX,EAAWsM,OAAOC,UAClB2d,EAAe,EACfxlB,EAAS,KAEJhL,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAC1C,CACI,IAAIqmB,EAAQruB,KAAKouB,SAASpmB,GAEtBqmB,EAAMpB,SAENuL,EAAevyB,KAAKiK,IAAI7P,EAAOoN,MAAMa,SAASiqB,EAAQlK,KAEnC/f,KAAcmlB,GAAYA,EAASzsB,KAAKue,EAAiB8I,EAAOmK,MAE/ElqB,EAAWkqB,EACXxlB,EAASqb,GAKrB,OAAOrb,GAsBX3S,EAAO+vB,MAAM7pB,UAAUkyB,gBAAkB,SAAUF,EAAQ9E,EAAUlO,GAMjE,IAAK,IAJDjX,EAAW,EACXkqB,EAAe,EACfxlB,EAAS,KAEJhL,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAC1C,CACI,IAAIqmB,EAAQruB,KAAKouB,SAASpmB,GAEtBqmB,EAAMpB,SAENuL,EAAevyB,KAAKiK,IAAI7P,EAAOoN,MAAMa,SAASiqB,EAAQlK,KAEnC/f,KAAcmlB,GAAYA,EAASzsB,KAAKue,EAAiB8I,EAAOmK,MAE/ElqB,EAAWkqB,EACXxlB,EAASqb,GAKrB,OAAOrb,GAYX3S,EAAO+vB,MAAM7pB,UAAUmyB,MAAQ,SAAU7uB,EAAKK,GAE1C,OAAOlK,KAAKm3B,QAAQttB,EAAKK,EAAO7J,EAAO+vB,MAAM6B,eAUjD5xB,EAAO+vB,MAAM7pB,UAAUoyB,YAAc,WAEjC,OAAO34B,KAAK04B,MAAM,SAAS,IAU/Br4B,EAAO+vB,MAAM7pB,UAAUqyB,UAAY,WAE/B,OAAO54B,KAAK04B,MAAM,SAAS,IAY/Br4B,EAAO+vB,MAAM7pB,UAAUsyB,UAAY,SAAUC,EAAY/wB,GAKrD,YAHmBwC,IAAfuuB,IAA4BA,EAAa,QAC9BvuB,IAAXxC,IAAwBA,EAAS/H,KAAKouB,SAASrmB,QAEpC,IAAXA,EAEO,KAGJ1H,EAAO04B,WAAWC,cAAch5B,KAAKouB,SAAU0K,EAAY/wB,IAgBtE1H,EAAO+vB,MAAM7pB,UAAU0yB,gBAAkB,SAAUH,EAAYI,GAE3D,IAAIC,EAAOn5B,KAAKo5B,OAAO,UAAU,EAAMN,EAAYI,GAEnD,OAAOl5B,KAAKgd,KAAKsE,IAAI+X,KAAKF,IAsB9B94B,EAAO+vB,MAAM7pB,UAAU6yB,OAAS,SAAUzD,EAAUzrB,EAAO4uB,EAAYI,QAEhD3uB,IAAfuuB,IAA4BA,EAAa,QAC5BvuB,IAAb2uB,IAA0BA,EAAWl5B,KAAKouB,SAASrmB,QAIvD,IAAK,IAFDyG,KAEKxG,EAAI8wB,EAAY9wB,EAAIkxB,EAAUlxB,IACvC,CACI,IAAIqmB,EAAQruB,KAAKouB,SAASpmB,GAEtB2tB,EAEItH,EAAMsH,KAAczrB,GAEpBsE,EAAO+F,KAAK8Z,GAKhB7f,EAAO+F,KAAK8Z,GAIpB,OAAO7f,GAiBXnO,EAAO+vB,MAAM7pB,UAAU+e,OAAS,SAAU+I,EAAO/H,EAASgM,GAKtD,QAHgB/nB,IAAZ+b,IAAyBA,GAAU,QACxB/b,IAAX+nB,IAAwBA,GAAS,GAER,IAAzBtyB,KAAKouB,SAASrmB,SAAkD,IAAlC/H,KAAKouB,SAAS6E,QAAQ5E,GAEpD,OAAO,EAGNiE,IAAUjE,EAAMyE,QAAWzE,EAAMiL,cAElCjL,EAAMyE,OAAOyG,4BAA4BlL,EAAOruB,MAGpD,IAAIw5B,EAAUx5B,KAAKg1B,YAAY3G,GAgB/B,OAdAruB,KAAKwyB,eAAenE,GAEpBruB,KAAK0yB,UAED1yB,KAAKixB,SAAW5C,GAEhBruB,KAAKi0B,OAGL3N,GAAWkT,GAEXA,EAAQlT,SAAQ,IAGb,GAYXjmB,EAAO+vB,MAAM7pB,UAAU4sB,QAAU,SAAUsG,EAAOnH,GAI9C,QAFe/nB,IAAX+nB,IAAwBA,GAAS,GAEjCtyB,KAAKouB,SAASrmB,OAAS,GAAK0xB,aAAiBp5B,EAAO+vB,MACxD,CACI,GAEIqJ,EAAMlmB,IAAIvT,KAAKouB,SAAS,GAAIkE,SAEzBtyB,KAAKouB,SAASrmB,OAAS,GAE9B/H,KAAK8xB,QAEL9xB,KAAKixB,OAAS,KAGlB,OAAOwI,GAiBXp5B,EAAO+vB,MAAM7pB,UAAU6f,UAAY,SAAUE,EAASgM,EAAQoH,GAM1D,QAJgBnvB,IAAZ+b,IAAyBA,GAAU,QACxB/b,IAAX+nB,IAAwBA,GAAS,QACd/nB,IAAnBmvB,IAAgCA,GAAiB,GAExB,IAAzB15B,KAAKouB,SAASrmB,OAAlB,CAKA,EACA,EACSuqB,GAAUtyB,KAAKouB,SAAS,GAAG0E,QAE5B9yB,KAAKouB,SAAS,GAAG0E,OAAOyG,4BAA4Bv5B,KAAKouB,SAAS,GAAIpuB,MAG1E,IAAIw5B,EAAUx5B,KAAKg1B,YAAYh1B,KAAKouB,SAAS,IAE7CpuB,KAAKwyB,eAAegH,GAEhBlT,GAAWkT,GAEXA,EAAQlT,SAAQ,EAAMoT,SAGvB15B,KAAKouB,SAASrmB,OAAS,GAE9B/H,KAAK8xB,QAEL9xB,KAAKixB,OAAS,OAalB5wB,EAAO+vB,MAAM7pB,UAAUozB,cAAgB,SAAUb,EAAYI,EAAU5S,EAASgM,GAM5E,QAJiB/nB,IAAb2uB,IAA0BA,EAAWl5B,KAAKouB,SAASrmB,OAAS,QAChDwC,IAAZ+b,IAAyBA,GAAU,QACxB/b,IAAX+nB,IAAwBA,GAAS,GAER,IAAzBtyB,KAAKouB,SAASrmB,OAAlB,CAKA,GAAI+wB,EAAaI,GAAYJ,EAAa,GAAKI,EAAWl5B,KAAKouB,SAASrmB,OAEpE,OAAO,EAKX,IAFA,IAAIC,EAAIkxB,EAEDlxB,GAAK8wB,GACZ,EACSxG,GAAUtyB,KAAKouB,SAASpmB,GAAG8qB,QAE5B9yB,KAAKouB,SAASpmB,GAAG8qB,OAAOyG,4BAA4Bv5B,KAAKouB,SAASpmB,GAAIhI,MAG1E,IAAIw5B,EAAUx5B,KAAKg1B,YAAYh1B,KAAKouB,SAASpmB,IAE7ChI,KAAKwyB,eAAegH,GAEhBlT,GAAWkT,GAEXA,EAAQlT,SAAQ,GAGhBtmB,KAAKixB,SAAWjxB,KAAKouB,SAASpmB,KAE9BhI,KAAKixB,OAAS,MAGlBjpB,IAGJhI,KAAK0yB,YAWTryB,EAAO+vB,MAAM7pB,UAAUqzB,QAAU,SAAUvkB,EAAMihB,GAEjC,MAARjhB,IAAgBA,EAAOrV,KAAKgd,KAAKC,MAAME,QAE3Cnd,KAAK2H,QAAQ,SAAU0mB,GAEnBA,EAAMvS,SAASnP,IAAI0I,EAAKsG,QAAStG,EAAKuG,UAEvC,KAAM0a,IAWbj2B,EAAO+vB,MAAM7pB,UAAUszB,QAAU,WAE7Bx5B,EAAO04B,WAAWc,QAAQ75B,KAAKouB,UAC/BpuB,KAAK0yB,WAaTryB,EAAO+vB,MAAM7pB,UAAU+f,QAAU,SAAUwT,EAAiBC,GAEtC,OAAd/5B,KAAKgd,MAAiBhd,KAAK6wB,qBAEPtmB,IAApBuvB,IAAiCA,GAAkB,QAC1CvvB,IAATwvB,IAAsBA,GAAO,GAEjC/5B,KAAK0xB,UAAUrQ,SAASrhB,KAAM85B,EAAiBC,GAE/C/5B,KAAKomB,UAAU0T,GAEf95B,KAAKixB,OAAS,KACdjxB,KAAK8rB,QAAU,KACf9rB,KAAK8wB,gBAAiB,EAEjBiJ,IAEG/5B,KAAKisB,QAELjsB,KAAKisB,OAAO+I,YAAYh1B,MAG5BA,KAAKgd,KAAO,KACZhd,KAAKitB,QAAS,KAYtBxlB,OAAOmF,eAAevM,EAAO+vB,MAAM7pB,UAAW,SAE1CmG,IAAK,WAED,OAAO1M,KAAKm3B,QAAQ,UAAU,EAAM92B,EAAO+vB,MAAM6B,iBAazDxqB,OAAOmF,eAAevM,EAAO+vB,MAAM7pB,UAAW,UAE1CmG,IAAK,WAED,OAAO1M,KAAKouB,SAASrmB,UAiB7BN,OAAOmF,eAAevM,EAAO+vB,MAAM7pB,UAAW,SAE1CmG,IAAK,WACD,OAAOrM,EAAO4F,KAAKkS,SAASnY,KAAKg6B,WAGrCrtB,IAAK,SAASzC,GACVlK,KAAKg6B,SAAW35B,EAAO4F,KAAK6J,SAAS5F,MAc7CzC,OAAOmF,eAAevM,EAAO+vB,MAAM7pB,UAAW,WAE1CmG,IAAK,WAED,OAAO1M,KAAK+N,UAAU/N,KAAKisB,QAAQxZ,SAIvC9F,IAAK,SAAUzC,GAEX,IAAIyD,EAAI3N,KAAK+N,UAAU/N,KAAKisB,QACxB9c,EAASnP,KAAKmG,EAAIwH,EAAExH,EAExBnG,KAAKmG,EAAK+D,EAAQiF,EAAUxB,EAAEwC,aAetC1I,OAAOmF,eAAevM,EAAO+vB,MAAM7pB,UAAW,WAE1CmG,IAAK,WAED,OAAO1M,KAAK+N,UAAU/N,KAAKisB,QAAQvZ,SAIvC/F,IAAK,SAAUzC,GAEX,IAAIyD,EAAI3N,KAAK+N,UAAU/N,KAAKisB,QACxB9c,EAASnP,KAAKkN,EAAIS,EAAET,EAExBlN,KAAKkN,EAAKhD,EAAQiF,EAAUxB,EAAE0C,cAetC5I,OAAOmF,eAAevM,EAAO+vB,MAAM7pB,UAAW,QAE1CmG,IAAK,WAED,OAAO1M,KAAK+N,UAAU/N,KAAKisB,QAAQvgB,MAIvCiB,IAAK,SAAUzC,GAEX,IAAIyD,EAAI3N,KAAK+N,UAAU/N,KAAKisB,QACxB9c,EAASnP,KAAKmG,EAAIwH,EAAExH,EAExBnG,KAAKmG,EAAI+D,EAAQiF,KAezB1H,OAAOmF,eAAevM,EAAO+vB,MAAM7pB,UAAW,SAE1CmG,IAAK,WAED,OAAO1M,KAAK+N,UAAU/N,KAAKisB,QAAQxgB,OAIvCkB,IAAK,SAAUzC,GAEX,IAAIyD,EAAI3N,KAAK+N,UAAU/N,KAAKisB,QACxB9c,EAASnP,KAAKmG,EAAIwH,EAAExH,EAExBnG,KAAKmG,EAAK+D,EAAQiF,EAAUxB,EAAEkE,SAetCpK,OAAOmF,eAAevM,EAAO+vB,MAAM7pB,UAAW,OAE1CmG,IAAK,WAED,OAAO1M,KAAK+N,UAAU/N,KAAKisB,QAAQxc,KAIvC9C,IAAK,SAAUzC,GAEX,IAAIyD,EAAI3N,KAAK+N,UAAU/N,KAAKisB,QACxB9c,EAASnP,KAAKkN,EAAIS,EAAET,EAExBlN,KAAKkN,EAAKhD,EAAQiF,KAe1B1H,OAAOmF,eAAevM,EAAO+vB,MAAM7pB,UAAW,UAE1CmG,IAAK,WAED,OAAO1M,KAAK+N,UAAU/N,KAAKisB,QAAQvc,QAIvC/C,IAAK,SAAUzC,GAEX,IAAIyD,EAAI3N,KAAK+N,UAAU/N,KAAKisB,QACxB9c,EAASnP,KAAKkN,EAAIS,EAAET,EAExBlN,KAAKkN,EAAKhD,EAAQiF,EAAUxB,EAAEmE,UAoLtCzR,EAAO45B,MAAQ,SAAUjd,GAErB3c,EAAO+vB,MAAMppB,KAAKhH,KAAMgd,EAAM,KAAM,WAAW,GAS/Chd,KAAKmd,OAAS,IAAI9c,EAAO2N,UAAU,EAAG,EAAGgP,EAAKnL,MAAOmL,EAAKlL,QAK1D9R,KAAKqf,OAAS,KAMdrf,KAAKk6B,cAAe,EAKpBl6B,KAAKm6B,OAASnd,EAAKnL,MAKnB7R,KAAKo6B,QAAUpd,EAAKlL,OAEpB9R,KAAKgd,KAAKyF,MAAMwB,cAAc1Q,IAAIvT,KAAKq6B,YAAar6B,OAIxDK,EAAO45B,MAAM1zB,UAAYkB,OAAOwb,OAAO5iB,EAAO+vB,MAAM7pB,WACpDlG,EAAO45B,MAAM1zB,UAAU8B,YAAchI,EAAO45B,MAQ5C55B,EAAO45B,MAAM1zB,UAAU6Y,KAAO,WAE1Bpf,KAAKqf,OAAS,IAAIhf,EAAO0c,OAAO/c,KAAKgd,KAAM,EAAG,EAAG,EAAGhd,KAAKgd,KAAKnL,MAAO7R,KAAKgd,KAAKlL,QAE/E9R,KAAKgd,KAAKuC,MAAMC,SAASxf,MAEzBA,KAAKqf,OAAOD,QAahB/e,EAAO45B,MAAM1zB,UAAU8zB,YAAc,WAEjCr6B,KAAKmG,EAAI,EACTnG,KAAKkN,EAAI,EAETlN,KAAKqf,OAAO4C,SAchB5hB,EAAO45B,MAAM1zB,UAAU+zB,UAAY,SAAUn0B,EAAG+G,EAAG2E,EAAOC,GAEtD9R,KAAKk6B,cAAe,EACpBl6B,KAAKm6B,OAAStoB,EACd7R,KAAKo6B,QAAUtoB,EAEf9R,KAAKmd,OAAOlP,MAAM9H,EAAG+G,EAAG2E,EAAOC,GAE/B9R,KAAKmG,EAAIA,EACTnG,KAAKkN,EAAIA,EAELlN,KAAKqf,OAAOlC,QAGZnd,KAAKqf,OAAOlC,OAAOlP,MAAM9H,EAAG+G,EAAGjH,KAAK6N,IAAIjC,EAAO7R,KAAKgd,KAAKnL,OAAQ5L,KAAK6N,IAAIhC,EAAQ9R,KAAKgd,KAAKlL,SAGhG9R,KAAKgd,KAAK4F,QAAQjB,oBAWtBthB,EAAO45B,MAAM1zB,UAAU8U,OAAS,SAAUxJ,EAAOC,GAIzC9R,KAAKk6B,eAEDroB,EAAQ7R,KAAKm6B,SAEbtoB,EAAQ7R,KAAKm6B,QAGbroB,EAAS9R,KAAKo6B,UAEdtoB,EAAS9R,KAAKo6B,UAItBp6B,KAAKmd,OAAOtL,MAAQA,EACpB7R,KAAKmd,OAAOrL,OAASA,EAErB9R,KAAKgd,KAAKqC,OAAOsC,mBAEjB3hB,KAAKgd,KAAK4F,QAAQjB,oBAStBthB,EAAO45B,MAAM1zB,UAAUgd,SAAW,WAG9BvjB,KAAKsmB,SAAQ,GAAM,IAmBvBjmB,EAAO45B,MAAM1zB,UAAUmO,KAAO,SAAU6lB,EAAQtQ,EAASuQ,EAAWlc,EAAYC,QAE5DhU,IAAZ0f,IAAyBA,EAAU,QACrB1f,IAAdiwB,IAA2BA,GAAY,QACxBjwB,IAAf+T,IAA4BA,GAAa,QAC5B/T,IAAbgU,IAA0BA,GAAW,GAEpCic,GAsBDD,EAAOxsB,YAEHuQ,IAEKic,EAAOp0B,EAAIo0B,EAAOE,eAAe5oB,MAAS7R,KAAKmd,OAAOhX,EAEvDo0B,EAAOp0B,EAAInG,KAAKmd,OAAO1R,MAElB8uB,EAAOp0B,EAAInG,KAAKmd,OAAO1R,QAE5B8uB,EAAOp0B,EAAInG,KAAKmd,OAAOzR,OAI3B6S,IAEKgc,EAAOrtB,EAAIqtB,EAAOE,eAAe3oB,OAAU9R,KAAKmd,OAAO1N,IAExD8qB,EAAOrtB,EAAIlN,KAAKmd,OAAOzN,OAElB6qB,EAAOrtB,EAAIlN,KAAKmd,OAAOzN,SAE5B6qB,EAAOrtB,EAAIlN,KAAKmd,OAAO1N,QA1C3B6O,GAAcic,EAAOp0B,EAAI8jB,EAAUjqB,KAAKmd,OAAOhX,EAE/Co0B,EAAOp0B,EAAInG,KAAKmd,OAAO1R,MAAQwe,EAE1B3L,GAAcic,EAAOp0B,EAAI8jB,EAAUjqB,KAAKmd,OAAO1R,QAEpD8uB,EAAOp0B,EAAInG,KAAKmd,OAAOzR,KAAOue,GAG9B1L,GAAYgc,EAAOrtB,EAAI+c,EAAUjqB,KAAKmd,OAAO1N,IAE7C8qB,EAAOrtB,EAAIlN,KAAKmd,OAAOzN,OAASua,EAE3B1L,GAAYgc,EAAOrtB,EAAI+c,EAAUjqB,KAAKmd,OAAOzN,SAElD6qB,EAAOrtB,EAAIlN,KAAKmd,OAAO1N,IAAMwa,KAsCzCxiB,OAAOmF,eAAevM,EAAO45B,MAAM1zB,UAAW,SAE1CmG,IAAK,WACD,OAAO1M,KAAKmd,OAAOtL,OAGvBlF,IAAK,SAAUzC,GAEPA,EAAQlK,KAAKgd,KAAKnL,QAElB3H,EAAQlK,KAAKgd,KAAKnL,OAGtB7R,KAAKmd,OAAOtL,MAAQ3H,EACpBlK,KAAKm6B,OAASjwB,EACdlK,KAAKk6B,cAAe,KAU5BzyB,OAAOmF,eAAevM,EAAO45B,MAAM1zB,UAAW,UAE1CmG,IAAK,WACD,OAAO1M,KAAKmd,OAAOrL,QAGvBnF,IAAK,SAAUzC,GAEPA,EAAQlK,KAAKgd,KAAKlL,SAElB5H,EAAQlK,KAAKgd,KAAKlL,QAGtB9R,KAAKmd,OAAOrL,OAAS5H,EACrBlK,KAAKo6B,QAAUlwB,EACflK,KAAKk6B,cAAe,KAW5BzyB,OAAOmF,eAAevM,EAAO45B,MAAM1zB,UAAW,WAE1CmG,IAAK,WACD,OAAO1M,KAAKmd,OAAOhN,UAAYnQ,KAAKmd,OAAOhX,KAUnDsB,OAAOmF,eAAevM,EAAO45B,MAAM1zB,UAAW,WAE1CmG,IAAK,WACD,OAAO1M,KAAKmd,OAAO9M,WAAarQ,KAAKmd,OAAOjQ,KAUpDzF,OAAOmF,eAAevM,EAAO45B,MAAM1zB,UAAW,WAE1CmG,IAAK,WAED,OAAI1M,KAAKmd,OAAOhX,EAAI,EAETnG,KAAKgd,KAAKsE,IAAIoZ,QAAQ16B,KAAKmd,OAAOhX,EAAInG,KAAKmd,OAAOtL,MAAQ5L,KAAKiK,IAAIlQ,KAAKmd,OAAOhX,IAI/EnG,KAAKgd,KAAKsE,IAAIoZ,QAAQ16B,KAAKmd,OAAOhX,EAAGnG,KAAKmd,OAAOtL,UAYpEpK,OAAOmF,eAAevM,EAAO45B,MAAM1zB,UAAW,WAE1CmG,IAAK,WAED,OAAI1M,KAAKmd,OAAOjQ,EAAI,EAETlN,KAAKgd,KAAKsE,IAAIoZ,QAAQ16B,KAAKmd,OAAOjQ,EAAIlN,KAAKmd,OAAOrL,OAAS7L,KAAKiK,IAAIlQ,KAAKmd,OAAOjQ,IAIhFlN,KAAKgd,KAAKsE,IAAIoZ,QAAQ16B,KAAKmd,OAAOjQ,EAAGlN,KAAKmd,OAAOrL,WA+EpEzR,EAAOs6B,KAAO,SAAU9oB,EAAOC,EAAQ8oB,EAAU3O,EAAQxJ,EAAOgL,EAAaoN,EAAWC,GAyapF,OAnaA96B,KAAK8W,GAAKzW,EAAOE,MAAMgU,KAAKvU,MAAQ,EAKpCA,KAAK0tB,OAAS,KAKd1tB,KAAK86B,cAAgBA,EAOrB96B,KAAKisB,OAAS,GAWdjsB,KAAK6R,MAAQ,IAWb7R,KAAK8R,OAAS,IASd9R,KAAKoqB,WAAa,EAMlBpqB,KAAKm6B,OAAS,IAMdn6B,KAAKo6B,QAAU,IAMfp6B,KAAKytB,aAAc,EAOnBztB,KAAK66B,WAAY,EAajB76B,KAAK+6B,cAAe,EAMpB/6B,KAAKg7B,uBAAwB,EAS7Bh7B,KAAKi7B,mBAAoB,EAMzBj7B,KAAK46B,SAAW,KAMhB56B,KAAK4mB,WAAavmB,EAAOG,KAKzBR,KAAKyiB,MAAQ,KAMbziB,KAAKqlB,UAAW,EAMhBrlB,KAAKk7B,WAAY,EAMjBl7B,KAAKm7B,IAAM,KAKXn7B,KAAKuT,IAAM,KAKXvT,KAAKoiB,KAAO,KAKZpiB,KAAKqiB,MAAQ,KAKbriB,KAAKsiB,MAAQ,KAKbtiB,KAAKuiB,KAAO,KAKZviB,KAAK0hB,KAAO,KAKZ1hB,KAAKo7B,IAAM,KAKXp7B,KAAKgX,MAAQ,KAKbhX,KAAKwiB,MAAQ,KAKbxiB,KAAKuf,MAAQ,KAKbvf,KAAKmhB,KAAO,KAKZnhB,KAAK0iB,OAAS,KAKd1iB,KAAKid,MAAQ,KAKbjd,KAAK4iB,QAAU,KAKf5iB,KAAKysB,QAAU,KAKfzsB,KAAKshB,IAAM,KAKXthB,KAAKsvB,OAASjvB,EAAOg7B,OAKrBr7B,KAAKqf,OAAS,KAKdrf,KAAK+tB,OAAS,KAKd/tB,KAAK6mB,QAAU,KAKf7mB,KAAKqmB,MAAQ,KAKbrmB,KAAK2iB,UAAY,KAKjB3iB,KAAKijB,OAAS,KASdjjB,KAAKs7B,YAAa,EAOlBt7B,KAAKu7B,UAAW,EAOhBv7B,KAAKw7B,aAAc,EAOnBx7B,KAAKy7B,UAAY,EAKjBz7B,KAAK+kB,QAAU,KAKf/kB,KAAKilB,SAAW,KAKhBjlB,KAAK07B,OAAS,KAKd17B,KAAK27B,QAAU,KAMf37B,KAAK47B,SAAU,EAMf57B,KAAK67B,aAAc,EAQnB77B,KAAK87B,gBAAkB,EAOvB97B,KAAK+7B,iBAAmB,EAMxB/7B,KAAKg8B,WAAa,EAMlBh8B,KAAKi8B,WAAa,EAMlBj8B,KAAKk8B,WAAa,EAMlBl8B,KAAKymB,YAAa,EAQlBzmB,KAAKm8B,mBAAqB,IAAI97B,EAAOud,OAKrC5d,KAAKo8B,mBAAoB,EAMzBp8B,KAAKq8B,qBAAuB,EAGH,IAArBp1B,UAAUc,QAAwC,iBAAjBd,UAAU,GAE3CjH,KAAK2tB,YAAY1mB,UAAU,KAI3BjH,KAAK0tB,QAAW4O,aAAa,QAER,IAAVzqB,IAEP7R,KAAKm6B,OAAStoB,QAGI,IAAXC,IAEP9R,KAAKo6B,QAAUtoB,QAGK,IAAb8oB,IAEP56B,KAAK4mB,WAAagU,QAGA,IAAX3O,IAEPjsB,KAAKisB,OAASA,QAGS,IAAhBwB,IAEPztB,KAAKytB,YAAcA,QAGE,IAAdoN,IAEP76B,KAAK66B,UAAYA,GAGrB76B,KAAKshB,IAAM,IAAIjhB,EAAOk8B,sBAAsBpS,KAAKqS,MAAQv2B,KAAKuE,UAAU9C,aAExE1H,KAAKyiB,MAAQ,IAAIpiB,EAAOmjB,aAAaxjB,KAAMyiB,IAG/CziB,KAAKsvB,OAAOmN,UAAUz8B,KAAKof,KAAMpf,MAE1BA,MA6BXK,EAAOs6B,KAAKp0B,WAQRonB,YAAa,SAAUD,GAEnB1tB,KAAK0tB,OAASA,OAEgBnjB,IAA1BmjB,EAAoB,cAEpB1tB,KAAK0tB,OAAO4O,aAAc,GAG1B5O,EAAc,QAEd1tB,KAAKm6B,OAASzM,EAAc,OAG5BA,EAAe,SAEf1tB,KAAKo6B,QAAU1M,EAAe,QAG9BA,EAAiB,WAEjB1tB,KAAK4mB,WAAa8G,EAAiB,UAGnCA,EAAe,SAEf1tB,KAAKisB,OAASyB,EAAe,aAGHnjB,IAA1BmjB,EAAoB,cAEpB1tB,KAAKytB,YAAcC,EAAoB,kBAGfnjB,IAAxBmjB,EAAkB,YAElB1tB,KAAK66B,UAAYnN,EAAkB,gBAGRnjB,IAA3BmjB,EAAqB,eAErB1tB,KAAK+6B,aAAerN,EAAqB,cAGzCA,EAAmB,aAEnB1tB,KAAKoqB,WAAasD,EAAmB,iBAGDnjB,IAApCmjB,EAA8B,wBAE9B1tB,KAAKg7B,sBAAwBtN,EAA8B,uBAG3DA,EAAsB,gBAEtB1tB,KAAK86B,cAAgBpN,EAAsB,eAG/C,IAAIgP,IAASvS,KAAKqS,MAAQv2B,KAAKuE,UAAU9C,YAErCgmB,EAAa,OAEbgP,EAAOhP,EAAa,MAGxB1tB,KAAKshB,IAAM,IAAIjhB,EAAOk8B,oBAAoBG,GAE1C,IAAIja,EAAQ,KAERiL,EAAc,QAEdjL,EAAQiL,EAAc,OAG1B1tB,KAAKyiB,MAAQ,IAAIpiB,EAAOmjB,aAAaxjB,KAAMyiB,IAU/CrD,KAAM,WAEEpf,KAAKqlB,WAKTrlB,KAAK+kB,QAAU,IAAI1kB,EAAOud,OAC1B5d,KAAKilB,SAAW,IAAI5kB,EAAOud,OAC3B5d,KAAK07B,OAAS,IAAIr7B,EAAOud,OACzB5d,KAAK27B,QAAU,IAAIt7B,EAAOud,OAE1B5d,KAAKqlB,UAAW,EAEhBtf,KAAKiX,KAAOhd,KAEZA,KAAK0hB,KAAOrhB,EAAO4F,KAEnBjG,KAAKgX,MAAQ,IAAI3W,EAAOs8B,aAAa38B,KAAMA,KAAKm6B,OAAQn6B,KAAKo6B,SAC7Dp6B,KAAKuf,MAAQ,IAAIlf,EAAOysB,MAAM9sB,MAE9BA,KAAK48B,gBAEL58B,KAAKid,MAAQ,IAAI5c,EAAO45B,MAAMj6B,MAC9BA,KAAKuT,IAAM,IAAIlT,EAAOw8B,kBAAkB78B,MACxCA,KAAKoiB,KAAO,IAAI/hB,EAAOy8B,kBAAkB98B,MACzCA,KAAKqiB,MAAQ,IAAIhiB,EAAOurB,MAAM5rB,MAC9BA,KAAKuiB,KAAO,IAAIliB,EAAO08B,OAAO/8B,MAC9BA,KAAKmhB,KAAO,IAAI9gB,EAAO28B,KAAKh9B,MAC5BA,KAAK0iB,OAAS,IAAIriB,EAAO48B,aAAaj9B,MACtCA,KAAKsiB,MAAQ,IAAIjiB,EAAO68B,MAAMl9B,MAC9BA,KAAKwiB,MAAQ,IAAIniB,EAAO88B,aAAan9B,MACrCA,KAAK4iB,QAAU,IAAIviB,EAAOmwB,QAAQxwB,KAAMA,KAAK86B,eAC7C96B,KAAK2iB,UAAY,IAAItiB,EAAO+8B,UAAUp9B,MACtCA,KAAKijB,OAAS,IAAI5iB,EAAOg9B,OAAOr9B,MAChCA,KAAKysB,QAAU,IAAIpsB,EAAOmsB,cAAcxsB,MACxCA,KAAKo7B,IAAM,IAAI/6B,EAAOi9B,IAAIt9B,MAE1BA,KAAKmhB,KAAK/B,OACVpf,KAAKuf,MAAMH,OACXpf,KAAKid,MAAMmC,OACXpf,KAAKgX,MAAMoI,OACXpf,KAAKsiB,MAAMlD,OACXpf,KAAKwiB,MAAMpD,OACXpf,KAAKyiB,MAAMrD,OAEPpf,KAAK0tB,OAAoB,aAEzB1tB,KAAKqmB,MAAQ,IAAIhmB,EAAO6I,MAAMq0B,MAAMv9B,MACpCA,KAAKqmB,MAAMjH,QAIXpf,KAAKqmB,OAAU5G,UAAW,aAAgBsB,OAAQ,aAAgBkB,MAAO,aAAgBub,YAAY,GAGzGx9B,KAAKy9B,kBAELz9B,KAAKk7B,WAAY,EAEbl7B,KAAK0tB,QAAU1tB,KAAK0tB,OAAwB,gBAE5C1tB,KAAKm7B,IAAM,IAAI96B,EAAOq9B,sBAAsB19B,KAAMA,KAAK0tB,OAAwB,iBAI/E1tB,KAAKm7B,IAAM,IAAI96B,EAAOq9B,sBAAsB19B,MAAM,GAGtDA,KAAKymB,YAAa,EAEdxe,OAAc,SAETA,OAAqB,cAAMA,OAAqB,eAAMA,OAAqB,aAAE01B,YAE9E11B,OAAO21B,QAIX59B,KAAKqiB,MAAMwb,QAEX79B,KAAKm7B,IAAIpqB,QAIT/Q,KAAKqiB,MAAMyb,QAAQtV,QAAQ,WACvBxoB,KAAKm7B,IAAIpqB,SACV/Q,QAWXy9B,gBAAiB,WAEb,IAAIx1B,OAAqB,eAAKA,OAAqB,aAAE81B,WAArD,CAKA,IAAIC,EAAI39B,EAAOC,QACXqN,EAAI,SACJ6B,EAAI,aACJQ,EAAI,EAkBR,GAhBIhQ,KAAK4mB,aAAevmB,EAAOK,OAE3BiN,EAAI,QACJqC,KAEKhQ,KAAK4mB,aAAevmB,EAAOM,WAEhCgN,EAAI,YAGJ3N,KAAKsvB,OAAO2O,WAEZzuB,EAAI,WACJQ,KAGChQ,KAAKsvB,OAAO4O,GA0BRj2B,OAAgB,SAErBK,QAAQC,IAAI,WAAay1B,EAAI,gBAAkBrwB,EAAI,MAAQ6B,EAAI,2BA3BnE,CAWI,IAAK,IAVD3I,GACA,uBAAyBm3B,EAAI,gBAAkBrwB,EAAI,MAAQ6B,EAAI,wCAC/D,sBACA,sBACA,uCACA,sBACA,sBACA,uBAGKxH,EAAI,EAAGA,EAAI,EAAGA,IAEfA,EAAIgI,EAEJnJ,EAAK0N,KAAK,oCAIV1N,EAAK0N,KAAK,oCAIlBjM,QAAQC,IAAIpB,MAAMmB,QAASzB,MAenC+1B,cAAe,WAoBX,GAlBI58B,KAAK0tB,OAAe,OAEpB1tB,KAAK+tB,OAAS/tB,KAAK0tB,OAAe,OAIlC1tB,KAAK+tB,OAAS1tB,EAAO2tB,OAAO/K,OAAOjjB,KAAMA,KAAK6R,MAAO7R,KAAK8R,OAAQ9R,KAAK0tB,OAAiB,UAAG,GAG3F1tB,KAAK0tB,OAAoB,YAEzB1tB,KAAK+tB,OAAOpO,MAAQ3f,KAAK0tB,OAAoB,YAI7C1tB,KAAK+tB,OAAOpO,MAAM,uBAAyB,4BAG3C3f,KAAK4mB,aAAevmB,EAAOM,UAAYX,KAAK4mB,aAAevmB,EAAOI,QAAWT,KAAK4mB,aAAevmB,EAAOG,OAASR,KAAKsvB,OAAO6O,MACjI,CACI,IAAIn+B,KAAKsvB,OAAOvB,OAYZ,MAAM,IAAItU,MAAM,kEAVhBzZ,KAAK46B,SAAW,IAAI70B,KAAKq4B,eAAep+B,MAExCA,KAAK6mB,QAAU7mB,KAAK46B,SAAS/T,QAEzB7mB,KAAK4mB,aAAevmB,EAAOG,OAC3BR,KAAK4mB,WAAavmB,EAAOI,aAY7BT,KAAK+6B,cAAgB/6B,KAAK4mB,aAAevmB,EAAOO,eAEhDmF,KAAKs4B,qBAELr+B,KAAK+6B,cAAe,GAGxB/6B,KAAK4mB,WAAavmB,EAAOK,MAEzBV,KAAK46B,SAAW,IAAI70B,KAAKu4B,cAAct+B,MAEvCA,KAAK6mB,QAAU,KAEf7mB,KAAK+tB,OAAOkB,iBAAiB,mBAAoBjvB,KAAKu+B,YAAY/3B,KAAKxG,OAAO,GAC9EA,KAAK+tB,OAAOkB,iBAAiB,uBAAwBjvB,KAAKw+B,gBAAgBh4B,KAAKxG,OAAO,GAGtFA,KAAKsvB,OAAOmP,WAEZz+B,KAAK+tB,OAAO2Q,aAAgB1+B,KAAK4mB,aAAevmB,EAAOI,QAGvDT,KAAK4mB,aAAevmB,EAAOM,WAE3BX,KAAKuf,MAAMof,SAAW3+B,KAAK66B,UAE3Bx6B,EAAO2tB,OAAO4Q,SAAS5+B,KAAK+tB,OAAQ/tB,KAAKisB,QAAQ,GACjD5rB,EAAO2tB,OAAOE,eAAeluB,KAAK+tB,UAY1CwQ,YAAa,SAAU1P,GAEnBA,EAAMgQ,iBAEN7+B,KAAK46B,SAAS2D,aAAc,GAUhCC,gBAAiB,WAEbx+B,KAAK46B,SAASkE,cAEd9+B,KAAKqiB,MAAM0c,kBAEX/+B,KAAK46B,SAAS2D,aAAc,GAWhCxd,OAAQ,SAAUI,GAId,GAFAnhB,KAAKmhB,KAAKJ,OAAOI,GAEbnhB,KAAKymB,WASL,OAPAzmB,KAAKg/B,YAAYh/B,KAAKmhB,KAAK8d,gBAG3Bj/B,KAAKk/B,aAAal/B,KAAKmhB,KAAKge,WAAan/B,KAAKmhB,KAAKie,iBAEnDp/B,KAAKymB,YAAa,GAMtB,GAAIzmB,KAAKk8B,WAAa,IAAMl8B,KAAKo8B,kBAGzBp8B,KAAKmhB,KAAKA,KAAOnhB,KAAKq8B,uBAGtBr8B,KAAKq8B,qBAAuBr8B,KAAKmhB,KAAKA,KAAO,IAG7CnhB,KAAKm8B,mBAAmB9a,YAI5BrhB,KAAKg8B,WAAa,EAClBh8B,KAAKk8B,WAAa,EAGlBl8B,KAAKk/B,aAAal/B,KAAKmhB,KAAKge,WAAan/B,KAAKmhB,KAAKie,gBAGvD,CAEI,IAAIC,EAAkC,IAAvBr/B,KAAKmhB,KAAKge,WAAsBn/B,KAAKmhB,KAAKie,WAGzDp/B,KAAKg8B,YAAc/1B,KAAK6N,IAAI7N,KAAK2N,IAAe,EAAXyrB,EAAcr/B,KAAKmhB,KAAKme,SAAU,GAIvE,IAAI5G,EAAQ,EASZ,IAPA14B,KAAK+7B,iBAAmB91B,KAAKI,MAAMrG,KAAKg8B,WAAaqD,GAEjDr/B,KAAKo8B,oBAELp8B,KAAK+7B,iBAAmB91B,KAAK2N,IAAI,EAAG5T,KAAK+7B,mBAGtC/7B,KAAKg8B,YAAcqD,IAEtBr/B,KAAKg8B,YAAcqD,EACnBr/B,KAAK87B,gBAAkBpD,EAEvB14B,KAAKg/B,YAAYh/B,KAAKmhB,KAAK8d,gBAE3BvG,KAEI14B,KAAKo8B,mBAA+B,IAAV1D,IAM1B14B,KAAKmhB,KAAKoe,UAKd7G,EAAQ14B,KAAKi8B,WAEbj8B,KAAKk8B,aAEAxD,EAAQ14B,KAAKi8B,aAGlBj8B,KAAKk8B,WAAa,GAGtBl8B,KAAKi8B,WAAavD,EAGlB14B,KAAKk/B,aAAal/B,KAAKg8B,WAAaqD,KAY5CL,YAAa,SAAUQ,GAEdx/B,KAAK47B,SAAY57B,KAAKw7B,aA6BvBx7B,KAAKgX,MAAMsM,cACXtjB,KAAKyiB,MAAMa,YAAYkc,GACvBx/B,KAAKqmB,MAAM5G,cA7BPzf,KAAKu7B,WAELv7B,KAAKw7B,aAAc,GAGvBx7B,KAAKgX,MAAMyI,YACXzf,KAAKqmB,MAAM5G,YACXzf,KAAKqf,OAAOI,YACZzf,KAAK4iB,QAAQnD,YACbzf,KAAKyiB,MAAMhD,UAAU+f,GACrBx/B,KAAKysB,QAAQhN,UAAU+f,GACvBx/B,KAAKuf,MAAME,YAEXzf,KAAKyiB,MAAM1B,SACX/gB,KAAKuf,MAAMwB,SACX/gB,KAAK0iB,OAAO3B,SACZ/gB,KAAKwiB,MAAMzB,SACX/gB,KAAKsiB,MAAMvB,SACX/gB,KAAK4iB,QAAQ7B,SACb/gB,KAAKysB,QAAQ1L,SAEb/gB,KAAKuf,MAAMsN,aACX7sB,KAAKysB,QAAQI,cAUjB7sB,KAAKuf,MAAM+O,mBAmBf4Q,aAAc,SAAUvY,GAEhB3mB,KAAKs7B,aAKTt7B,KAAKyiB,MAAMS,UAAUyD,GAEjB3mB,KAAK4mB,aAAevmB,EAAOM,WAE3BX,KAAK46B,SAASzX,OAAOnjB,KAAKuf,OAE1Bvf,KAAKysB,QAAQtJ,OAAOwD,GAEpB3mB,KAAKyiB,MAAMU,OAAOwD,IAGtB3mB,KAAKysB,QAAQF,WAAW5F,KAU5B8Y,WAAY,WAERz/B,KAAKu7B,UAAW,EAChBv7B,KAAKw7B,aAAc,EACnBx7B,KAAKy7B,UAAY,GASrBiE,YAAa,WAET1/B,KAAKu7B,UAAW,EAChBv7B,KAAKw7B,aAAc,GAUvBmE,KAAM,WAEF3/B,KAAKw7B,aAAc,EACnBx7B,KAAKy7B,aAcTnV,QAAS,WAELtmB,KAAKm7B,IAAIyE,OAEL5/B,KAAKqmB,MAAMC,SAEXtmB,KAAKqmB,MAAMC,UAGftmB,KAAKyiB,MAAM6D,UACXtmB,KAAKwiB,MAAM8D,UACXtmB,KAAKgX,MAAMsP,UACXtmB,KAAKuf,MAAM+G,UACXtmB,KAAKsiB,MAAMgE,UACXtmB,KAAK4iB,QAAQ0D,UACbtmB,KAAKysB,QAAQnG,UAEbtmB,KAAKqmB,MAAQ,KACbrmB,KAAKyiB,MAAQ,KACbziB,KAAKwiB,MAAQ,KACbxiB,KAAKgX,MAAQ,KACbhX,KAAKuf,MAAQ,KACbvf,KAAKsiB,MAAQ,KACbtiB,KAAK4iB,QAAU,KACf5iB,KAAKysB,QAAU,KAEfzsB,KAAKqiB,MAAQ,KACbriB,KAAKuiB,KAAO,KACZviB,KAAKmhB,KAAO,KACZnhB,KAAKid,MAAQ,KAEbjd,KAAKqlB,UAAW,EAEhBrlB,KAAK46B,SAAStU,SAAQ,GAEtBjmB,EAAO2tB,OAAO6R,cAAc7/B,KAAK+tB,QAEjChoB,KAAK+5B,gBAAkB,KAEvBz/B,EAAOE,MAAMP,KAAK8W,IAAM,MAW5BgZ,WAAY,SAAUjB,GAGb7uB,KAAK47B,UAEN57B,KAAK47B,SAAU,EAEf57B,KAAKmhB,KAAK2O,aAEN9vB,KAAKwiB,MAAMud,aAEX//B,KAAKwiB,MAAMwd,UAGfhgC,KAAK+kB,QAAQ1D,SAASwN,GAGlB7uB,KAAKsvB,OAAO2Q,SAAWjgC,KAAKsvB,OAAO4Q,MAEnClgC,KAAKs7B,YAAa,KAa9BvL,YAAa,SAAUlB,GAGf7uB,KAAK47B,UAAY57B,KAAK67B,cAEtB77B,KAAK47B,SAAU,EAEf57B,KAAKmhB,KAAK4O,cAEV/vB,KAAKsiB,MAAML,QAEPjiB,KAAKwiB,MAAMud,aAEX//B,KAAKwiB,MAAM2d,YAGfngC,KAAKilB,SAAS5D,SAASwN,GAGnB7uB,KAAKsvB,OAAO2Q,SAAWjgC,KAAKsvB,OAAO4Q,MAEnClgC,KAAKs7B,YAAa,KAa9B1L,UAAW,SAAUf,GAEjB7uB,KAAK07B,OAAOra,SAASwN,GAEhB7uB,KAAKuf,MAAMyN,yBAEZhtB,KAAK8vB,WAAWjB,IAYxBgB,UAAW,SAAUhB,GAEjB7uB,KAAK27B,QAAQta,SAASwN,GAEjB7uB,KAAKuf,MAAMyN,yBAEZhtB,KAAK+vB,YAAYlB,KAO7BxuB,EAAOs6B,KAAKp0B,UAAU8B,YAAchI,EAAOs6B,KAQ3ClzB,OAAOmF,eAAevM,EAAOs6B,KAAKp0B,UAAW,UAEzCmG,IAAK,WACD,OAAO1M,KAAK47B,SAGhBjvB,IAAK,SAAUzC,IAEG,IAAVA,IAEqB,IAAjBlK,KAAK47B,UAEL57B,KAAK47B,SAAU,EACf57B,KAAKwiB,MAAMwd,UACXhgC,KAAKmhB,KAAK2O,aACV9vB,KAAK+kB,QAAQ1D,SAASrhB,OAE1BA,KAAK67B,aAAc,IAIf77B,KAAK47B,UAEL57B,KAAK47B,SAAU,EACf57B,KAAKsiB,MAAML,QACXjiB,KAAKwiB,MAAM2d,YACXngC,KAAKmhB,KAAK4O,cACV/vB,KAAKilB,SAAS5D,SAASrhB,OAE3BA,KAAK67B,aAAc,MA6B/Bx7B,EAAO68B,MAAQ,SAAUlgB,GAKrBhd,KAAKgd,KAAOA,EAMZhd,KAAKogC,UAAY,KAMjBpgC,KAAKqgC,WAAa,KAQlBrgC,KAAKsgC,iBAMLtgC,KAAKugC,uBAAyB,KAM9BvgC,KAAKwgC,8BAAgC,KAMrCxgC,KAAKygC,SAAW,EAShBzgC,KAAK0gC,SAAU,EAMf1gC,KAAK2gC,mBAAqBtgC,EAAO68B,MAAM0D,oBAMvC5gC,KAAK8b,SAAW,KAKhB9b,KAAK6gC,MAAQ,KAOb7gC,KAAK8gC,OAAS,KAKd9gC,KAAKgX,MAAQ,KAMbhX,KAAK+gC,aAAe,EAMpB/gC,KAAKghC,QAAU,IAMfhhC,KAAKihC,cAAgB,IAMrBjhC,KAAKkhC,SAAW,IAMhBlhC,KAAKmhC,gBAAkB,IAMvBnhC,KAAKohC,iBAAmB,IASxBphC,KAAKqhC,sBAAuB,EAM5BrhC,KAAKshC,WAAa,IAQlBthC,KAAKuhC,YAAc,IASnBvhC,KAAKwhC,sBAKLxhC,KAAKyhC,SAAW,KAKhBzhC,KAAK0hC,SAAW,KAKhB1hC,KAAK2hC,SAAW,KAKhB3hC,KAAK4hC,SAAW,KAKhB5hC,KAAK6hC,SAAW,KAKhB7hC,KAAK8hC,SAAW,KAKhB9hC,KAAK+hC,SAAW,KAKhB/hC,KAAKgiC,SAAW,KAKhBhiC,KAAKiiC,SAAW,KAKhBjiC,KAAKkiC,UAAY,KASjBliC,KAAKmiC,YASLniC,KAAKoiC,cAAgB,KAOrBpiC,KAAKqiC,aAAe,KAUpBriC,KAAKqqB,MAAQ,KAObrqB,KAAKsiC,SAAW,KAUhBtiC,KAAKuiC,MAAQ,KAUbviC,KAAKwiC,UAAY,KAOjBxiC,KAAKyiC,QAAU,KAQfziC,KAAK0iC,aAAc,EAWnB1iC,KAAK2iC,OAAS,KAWd3iC,KAAK4iC,KAAO,KAWZ5iC,KAAK6iC,MAAQ,KAUb7iC,KAAK8iC,OAAS,KAQd9iC,KAAK+iC,cAAgB,EAMrB/iC,KAAKgjC,iBAAmB,IAAI3iC,EAAO42B,SAMnCj3B,KAAKijC,YAAc,IAAI5iC,EAAOoN,MAM9BzN,KAAKkjC,aAAe,EAMpBljC,KAAKmjC,aAAe,KAMpBnjC,KAAKojC,GAAK,EAMVpjC,KAAKqjC,GAAK,GAQdhjC,EAAO68B,MAAMoG,sBAAwB,EAMrCjjC,EAAO68B,MAAMqG,sBAAwB,EAMrCljC,EAAO68B,MAAM0D,oBAAsB,EAOnCvgC,EAAO68B,MAAMsG,aAAe,GAE5BnjC,EAAO68B,MAAM32B,WAQT6Y,KAAM,WAEFpf,KAAKqiC,aAAe,IAAIhiC,EAAOojC,QAAQzjC,KAAKgd,KAAM,EAAG3c,EAAOqjC,YAAYC,QACxE3jC,KAAK4jC,aACL5jC,KAAK4jC,aAEL5jC,KAAKqqB,MAAQ,IAAIhqB,EAAOwjC,MAAM7jC,KAAKgd,MACnChd,KAAKuiC,MAAQ,IAAIliC,EAAOyjC,MAAM9jC,KAAKgd,MACnChd,KAAKwiC,UAAY,IAAIniC,EAAO0jC,UAAU/jC,KAAKgd,MAEvC3c,EAAO2jC,WAEPhkC,KAAKsiC,SAAW,IAAIjiC,EAAO2jC,SAAShkC,KAAKgd,OAGzC3c,EAAO4jC,UAEPjkC,KAAKyiC,QAAU,IAAIpiC,EAAO4jC,QAAQjkC,KAAKgd,OAG3Chd,KAAK2iC,OAAS,IAAItiC,EAAOud,OACzB5d,KAAK4iC,KAAO,IAAIviC,EAAOud,OACvB5d,KAAK6iC,MAAQ,IAAIxiC,EAAOud,OACxB5d,KAAK8iC,OAAS,IAAIziC,EAAOud,OAEzB5d,KAAKgX,MAAQ,IAAI3W,EAAOoN,MAAM,EAAG,GACjCzN,KAAK6gC,MAAQ,IAAIxgC,EAAOoN,MACxBzN,KAAK8b,SAAW,IAAIzb,EAAOoN,MAC3BzN,KAAKmjC,aAAe,IAAI9iC,EAAOoN,MAE/BzN,KAAK8gC,OAAS,IAAIzgC,EAAO4M,OAAO,EAAG,EAAG,IAEtCjN,KAAKoiC,cAAgBpiC,KAAKqiC,aAE1BriC,KAAKogC,UAAY//B,EAAO6jC,WAAWjhB,OAAOjjB,KAAM,EAAG,GACnDA,KAAKqgC,WAAargC,KAAKogC,UAAU+D,WAAW,MAE5CnkC,KAAKqqB,MAAMtZ,QACN/Q,KAAKgd,KAAKsS,OAAOkT,WAIlBxiC,KAAKuiC,MAAMxxB,QAEf/Q,KAAKwiC,UAAUzxB,QACf/Q,KAAKqiC,aAAahb,QAAS,EAEvBrnB,KAAKsiC,UAELtiC,KAAKsiC,SAASvxB,QAGlB,IAAIiY,EAAQhpB,KAEZA,KAAKokC,mBAAqB,SAAUvV,GAChC7F,EAAMqb,kBAAkBxV,IAG5B7uB,KAAKgd,KAAK+Q,OAAOkB,iBAAiB,QAASjvB,KAAKokC,oBAAoB,IASxE9d,QAAS,WAELtmB,KAAKqqB,MAAMuV,OACX5/B,KAAKuiC,MAAM3C,OACX5/B,KAAKwiC,UAAU5C,OAEX5/B,KAAKsiC,UAELtiC,KAAKsiC,SAAS1C,OAGd5/B,KAAKyiC,SAELziC,KAAKyiC,QAAQ7C,OAGjB5/B,KAAKsgC,iBAELjgC,EAAO6jC,WAAW5e,OAAOtlB,MAEzBA,KAAKgd,KAAK+Q,OAAOoC,oBAAoB,QAASnwB,KAAKokC,qBA0BvDE,+BAAgC,SAAU7Q,EAAU5M,GAEhD7mB,KAAKugC,uBAAyB9M,EAC9BzzB,KAAKwgC,8BAAgC3Z,GAuBzC0d,gBAAiB,SAAU9Q,EAAU5M,GAEjC7mB,KAAKsgC,cAAc/rB,MAAOkf,SAAUA,EAAU5M,QAASA,KAmB3D2d,qBAAsB,SAAU/Q,EAAU5M,EAAS4d,QAEjCl6B,IAAVk6B,IAAuBA,GAAQ,GAEnCzkC,KAAKwhC,mBAAmBjtB,MAAOkf,SAAUA,EAAU5M,QAASA,EAAS4d,MAAOA,KAYhFC,wBAAyB,SAAUjR,EAAU5M,GAIzC,IAFA,IAAI7e,EAAIhI,KAAKwhC,mBAAmBz5B,OAEzBC,KAEH,GAAIhI,KAAKwhC,mBAAmBx5B,GAAGyrB,WAAaA,GAAYzzB,KAAKwhC,mBAAmBx5B,GAAG6e,UAAYA,EAG3F,OADA7mB,KAAKwhC,mBAAmB7b,OAAO3d,EAAG,IAC3B,EAIf,OAAO,GAYX28B,0BAA2B,SAAUF,EAAO5V,GAGxC,IAFA,IAAI7mB,EAAIhI,KAAKwhC,mBAAmBz5B,OAEzBC,KACP,CACI,IAAI48B,EAAK5kC,KAAKwhC,mBAAmBx5B,GAE7B48B,EAAGH,QAAUA,GAASG,EAAGnR,SAASzsB,KAAK49B,EAAG/d,QAAS7mB,KAAM6uB,IAEzD7uB,KAAKwhC,mBAAmB7b,OAAO3d,EAAG,KAY9C68B,mBAAoB,SAAUpR,EAAU5M,GAIpC,IAFA,IAAI7e,EAAIhI,KAAKsgC,cAAcv4B,OAEpBC,KAEH,GAAIhI,KAAKsgC,cAAct4B,GAAGyrB,WAAaA,GAAYzzB,KAAKsgC,cAAct4B,GAAG6e,UAAYA,EAGjF,YADA7mB,KAAKsgC,cAAc3a,OAAO3d,EAAG,IAezC47B,WAAY,WAER,GAAI5jC,KAAKmiC,SAASp6B,QAAU1H,EAAO68B,MAAMsG,aAGrC,OADAl7B,QAAQG,KAAK,6CAA+CpI,EAAO68B,MAAMsG,aAAe,sBACjF,KAGX,IAAI1sB,EAAK9W,KAAKmiC,SAASp6B,OAAS,EAC5BsjB,EAAU,IAAIhrB,EAAOojC,QAAQzjC,KAAKgd,KAAMlG,EAAIzW,EAAOqjC,YAAYoB,OAKnE,OAHA9kC,KAAKmiC,SAAS5tB,KAAK8W,GACnBrrB,KAAK,UAAY8W,GAAMuU,EAEhBA,GAUXtK,OAAQ,WAOJ,GALI/gB,KAAKsiC,UAELtiC,KAAKsiC,SAASvhB,SAGd/gB,KAAKygC,SAAW,GAAKzgC,KAAKkjC,aAAeljC,KAAKygC,SAE9CzgC,KAAKkjC,mBAFT,CAMAljC,KAAK6gC,MAAM16B,EAAInG,KAAK8b,SAAS3V,EAAInG,KAAKmjC,aAAah9B,EACnDnG,KAAK6gC,MAAM3zB,EAAIlN,KAAK8b,SAAS5O,EAAIlN,KAAKmjC,aAAaj2B,EAEnDlN,KAAKmjC,aAAaj1B,SAASlO,KAAK8b,UAChC9b,KAAKqiC,aAAathB,SAEd/gB,KAAKyiC,SAAWziC,KAAKyiC,QAAQpb,QAE7BrnB,KAAKyiC,QAAQ1hB,SAGjB,IAAK,IAAI/Y,EAAI,EAAGA,EAAIhI,KAAKmiC,SAASp6B,OAAQC,IAEtChI,KAAKmiC,SAASn6B,GAAG+Y,SAGrB/gB,KAAKkjC,aAAe,IAexBjhB,MAAO,SAAU8iB,GAEb,GAAK/kC,KAAKgd,KAAKqI,WAAYrlB,KAAK0iC,YAAhC,MAKan4B,IAATw6B,IAAsBA,GAAO,GAEjC/kC,KAAKqiC,aAAapgB,QAEdjiB,KAAKsiC,UAELtiC,KAAKsiC,SAASrgB,MAAM8iB,GAGpB/kC,KAAKyiC,SAELziC,KAAKyiC,QAAQxgB,QAGjB,IAAK,IAAIja,EAAI,EAAGA,EAAIhI,KAAKmiC,SAASp6B,OAAQC,IAEtChI,KAAKmiC,SAASn6B,GAAGia,QAGiB,SAAlCjiB,KAAKgd,KAAK+Q,OAAOpO,MAAMsR,SAEvBjxB,KAAKgd,KAAK+Q,OAAOpO,MAAMsR,OAAS,IAGhC8T,IAEA/kC,KAAK2iC,OAAO5Z,UACZ/oB,KAAK4iC,KAAK7Z,UACV/oB,KAAK6iC,MAAM9Z,UACX/oB,KAAK8iC,OAAO/Z,UACZ/oB,KAAK2iC,OAAS,IAAItiC,EAAOud,OACzB5d,KAAK4iC,KAAO,IAAIviC,EAAOud,OACvB5d,KAAK6iC,MAAQ,IAAIxiC,EAAOud,OACxB5d,KAAK8iC,OAAS,IAAIziC,EAAOud,OACzB5d,KAAKsgC,kBAGTtgC,KAAKkjC,aAAe,IAWxB8B,WAAY,SAAU7+B,EAAG+G,GAErBlN,KAAKmjC,aAAal1B,MAAM9H,EAAG+G,GAC3BlN,KAAK6gC,MAAM5yB,MAAM,EAAG,IAaxBg3B,aAAc,SAAUpW,GAEpB,GAAI7uB,KAAK+gC,aAAe,GAAK/gC,KAAKklC,oBAAoBllC,KAAK+gC,cAAgB/gC,KAAK+gC,YAE5E,OAAO,KAGX,IAAK/gC,KAAKyhC,SAASpa,OAEf,OAAOrnB,KAAKyhC,SAAS1wB,MAAM8d,GAG/B,IAAK7uB,KAAK0hC,SAASra,OAEf,OAAOrnB,KAAK0hC,SAAS3wB,MAAM8d,GAG/B,IAAK,IAAI7mB,EAAI,EAAGA,EAAIhI,KAAKmiC,SAASp6B,OAAQC,IAC1C,CACI,IAAIqjB,EAAUrrB,KAAKmiC,SAASn6B,GAE5B,IAAKqjB,EAAQhE,OAET,OAAOgE,EAAQta,MAAM8d,GAI7B,OAAO,MAaXsW,cAAe,SAAUtW,GAErB,GAAI7uB,KAAKyhC,SAASpa,QAAUrnB,KAAKyhC,SAAS2D,aAAevW,EAAMuW,WAE3D,OAAOplC,KAAKyhC,SAAS4D,KAAKxW,GAG9B,GAAI7uB,KAAK0hC,SAASra,QAAUrnB,KAAK0hC,SAAS0D,aAAevW,EAAMuW,WAE3D,OAAOplC,KAAK0hC,SAAS2D,KAAKxW,GAG9B,IAAK,IAAI7mB,EAAI,EAAGA,EAAIhI,KAAKmiC,SAASp6B,OAAQC,IAC1C,CACI,IAAIqjB,EAAUrrB,KAAKmiC,SAASn6B,GAE5B,GAAIqjB,EAAQhE,QAAUgE,EAAQ+Z,aAAevW,EAAMuW,WAE/C,OAAO/Z,EAAQga,KAAKxW,GAI5B,OAAO,MAYXyW,YAAa,SAAUzW,GAEnB,GAAI7uB,KAAKyhC,SAASpa,QAAUrnB,KAAKyhC,SAAS2D,aAAevW,EAAMuW,WAE3D,OAAOplC,KAAKyhC,SAAS7B,KAAK/Q,GAG9B,GAAI7uB,KAAK0hC,SAASra,QAAUrnB,KAAK0hC,SAAS0D,aAAevW,EAAMuW,WAE3D,OAAOplC,KAAK0hC,SAAS9B,KAAK/Q,GAG9B,IAAK,IAAI7mB,EAAI,EAAGA,EAAIhI,KAAKmiC,SAASp6B,OAAQC,IAC1C,CACI,IAAIqjB,EAAUrrB,KAAKmiC,SAASn6B,GAE5B,GAAIqjB,EAAQhE,QAAUgE,EAAQ+Z,aAAevW,EAAMuW,WAE/C,OAAO/Z,EAAQuU,KAAK/Q,GAI5B,OAAO,MAYXqW,oBAAqB,SAAUxsB,QAEbnO,IAAVmO,IAAuBA,EAAQ1Y,KAAKmiC,SAASp6B,QAIjD,IAAK,IAFD2wB,EAAQhgB,EAEH1Q,EAAI,EAAGA,EAAIhI,KAAKmiC,SAASp6B,QAAU2wB,EAAQ,EAAG1wB,IAErChI,KAAKmiC,SAASn6B,GAEhBqf,QAERqR,IAIR,OAAQhgB,EAAQggB,GAWpB6M,WAAY,SAAUC,QAEDj7B,IAAbi7B,IAA0BA,GAAW,GAEzC,IAAK,IAAIx9B,EAAI,EAAGA,EAAIhI,KAAKmiC,SAASp6B,OAAQC,IAC1C,CACI,IAAIqjB,EAAUrrB,KAAKmiC,SAASn6B,GAE5B,GAAIqjB,EAAQhE,SAAWme,EAEnB,OAAOna,EAIf,OAAO,MAeXoa,yBAA0B,SAAUL,GAEhC,IAAK,IAAIp9B,EAAI,EAAGA,EAAIhI,KAAKmiC,SAASp6B,OAAQC,IAC1C,CACI,IAAIqjB,EAAUrrB,KAAKmiC,SAASn6B,GAE5B,GAAIqjB,EAAQ+Z,aAAeA,EAEvB,OAAO/Z,EAIf,OAAO,MAcXqa,iBAAkB,SAAUC,GAExB,IAAK,IAAI39B,EAAI,EAAGA,EAAIhI,KAAKmiC,SAASp6B,OAAQC,IAC1C,CACI,IAAIqjB,EAAUrrB,KAAKmiC,SAASn6B,GAE5B,GAAIqjB,EAAQsa,YAAcA,EAEtB,OAAOta,EAIf,OAAO,MAYXua,iBAAkB,SAAUpoB,EAAe6N,EAAS7c,QAEjCjE,IAAXiE,IAAwBA,EAAS,IAAInO,EAAOoN,OAEhD,IAAIo4B,EAAKroB,EAAc0P,eACnBpW,EAAK,GAAK+uB,EAAGr2B,EAAIq2B,EAAGzvB,EAAIyvB,EAAG71B,GAAK61B,EAAGj2B,GAEvC,OAAOpB,EAAOP,MACV43B,EAAGzvB,EAAIU,EAAKuU,EAAQllB,GAAK0/B,EAAG71B,EAAI8G,EAAKuU,EAAQne,GAAK24B,EAAGvyB,GAAKuyB,EAAG71B,EAAI61B,EAAGxyB,GAAKwyB,EAAGzvB,GAAKU,EACjF+uB,EAAGr2B,EAAIsH,EAAKuU,EAAQne,GAAK24B,EAAGj2B,EAAIkH,EAAKuU,EAAQllB,IAAM0/B,EAAGvyB,GAAKuyB,EAAGr2B,EAAIq2B,EAAGxyB,GAAKwyB,EAAGj2B,GAAKkH,IAa1FgvB,QAAS,SAAUtoB,EAAe6N,EAAS0a,GAEvC,IAAKvoB,EAAcwoB,aAEf,OAAO,EAOX,GAJAhmC,KAAK4lC,iBAAiBpoB,EAAe6N,EAASrrB,KAAKijC,aAEnD8C,EAAW73B,SAASlO,KAAKijC,aAErBzlB,EAAcyoB,SAAWzoB,EAAcyoB,QAAQx3B,SAE/C,OAAQ+O,EAAcyoB,QAAQx3B,SAASzO,KAAKijC,YAAY98B,EAAGnG,KAAKijC,YAAY/1B,GAE3E,GAAI7M,EAAO6lC,UAAY1oB,aAAyBnd,EAAO6lC,SAAU,CACpE,IAAIr0B,EAAQ5L,KAAKiK,IAAIsN,EAAc3L,OAC/BC,EAAS7L,KAAKiK,IAAIsN,EAAc1L,QAChCV,EAAKoM,EAAcrX,EAAK0L,EAAQ2L,EAAciO,QAElD,GAAIzrB,KAAKgd,KAAKqC,OAAOlZ,EAAIklB,EAAQllB,GAAKiL,GAAMpR,KAAKgd,KAAKqC,OAAOlZ,EAAIklB,EAAQllB,EAAIiL,EAAKS,EAClF,CACMP,EAAKkM,EAActQ,EAAK4E,EAAS0L,EAAckO,QAEnD,GAAI1rB,KAAKgd,KAAKqC,OAAOnS,EAAIme,EAAQne,GAAKoE,GAAMtR,KAAKgd,KAAKqC,OAAOnS,EAAIme,EAAQne,EAAIoE,EAAKQ,EAEhF,OAAO,QAIR,GAAI0L,aAAyBnd,EAAO8lC,WACzC,CACI,IAAIt0B,EAAQ2L,EAAc3L,MACtBC,EAAS0L,EAAc1L,OACvBV,GAAMS,EAAQ2L,EAAcqO,OAAO1lB,EAEvC,GAAInG,KAAKijC,YAAY98B,GAAKiL,GAAMpR,KAAKijC,YAAY98B,EAAIiL,EAAKS,EAC1D,CACQP,GAAMQ,EAAS0L,EAAcqO,OAAO3e,EAExC,GAAIlN,KAAKijC,YAAY/1B,GAAKoE,GAAMtR,KAAKijC,YAAY/1B,EAAIoE,EAAKQ,EAEtD,OAAO,QAId,GAAI0L,aAAyBzX,KAAKirB,OACvC,CACI,IAAInf,EAAQ2L,EAAc4oB,QAAQ9S,MAAMzhB,MAAQ2L,EAAc4oB,QAAQC,YAAYjc,WAC9EtY,EAAS0L,EAAc4oB,QAAQ9S,MAAMxhB,OAAS0L,EAAc4oB,QAAQC,YAAYjc,WAChFhZ,GAAMS,EAAQ2L,EAAcqO,OAAO1lB,EAEvC,GAAInG,KAAKijC,YAAY98B,GAAKiL,GAAMpR,KAAKijC,YAAY98B,EAAIiL,EAAKS,EAC1D,CACI,IAAIP,GAAMQ,EAAS0L,EAAcqO,OAAO3e,EAExC,GAAIlN,KAAKijC,YAAY/1B,GAAKoE,GAAMtR,KAAKijC,YAAY/1B,EAAIoE,EAAKQ,EAEtD,OAAO,QAId,GAAI0L,aAAyBnd,EAAOif,SAErC,IAAStX,EAAI,EAAGA,EAAIwV,EAAc8oB,aAAav+B,OAAQC,IACvD,CACI,IAAIu+B,EAAO/oB,EAAc8oB,aAAat+B,GAEtC,GAAKu+B,EAAKC,OAMND,EAAKE,OAASF,EAAKE,MAAMh4B,SAASzO,KAAKijC,YAAY98B,EAAGnG,KAAKijC,YAAY/1B,IAEvE,OAAO,EAOnB,IAAK,IAAIlF,EAAI,EAAGA,EAAIwV,EAAc4Q,SAASrmB,OAAQC,IAE/C,GAAIhI,KAAK8lC,QAAQtoB,EAAc4Q,SAASpmB,GAAIqjB,EAAS0a,GAEjD,OAAO,EAIf,OAAO,GASX1B,kBAAmB,WAIfrkC,KAAKoiC,cAAcsE,4BAM3BrmC,EAAO68B,MAAM32B,UAAU8B,YAAchI,EAAO68B,MAQ5Cz1B,OAAOmF,eAAevM,EAAO68B,MAAM32B,UAAW,KAE1CmG,IAAK,WACD,OAAO1M,KAAKojC,IAGhBz2B,IAAK,SAAUzC,GACXlK,KAAKojC,GAAKn9B,KAAKI,MAAM6D,MAW7BzC,OAAOmF,eAAevM,EAAO68B,MAAM32B,UAAW,KAE1CmG,IAAK,WACD,OAAO1M,KAAKqjC,IAGhB12B,IAAK,SAAUzC,GACXlK,KAAKqjC,GAAKp9B,KAAKI,MAAM6D,MAW7BzC,OAAOmF,eAAevM,EAAO68B,MAAM32B,UAAW,cAE1CmG,IAAK,WACD,OAAQ1M,KAAKygC,SAAW,GAAKzgC,KAAKkjC,aAAeljC,KAAKygC,YAW9Dh5B,OAAOmF,eAAevM,EAAO68B,MAAM32B,UAAW,yBAE1CmG,IAAK,WACD,OAAO1M,KAAKmiC,SAASp6B,OAAS/H,KAAKklC,yBAW3Cz9B,OAAOmF,eAAevM,EAAO68B,MAAM32B,UAAW,uBAE1CmG,IAAK,WACD,OAAO1M,KAAKklC,yBAWpBz9B,OAAOmF,eAAevM,EAAO68B,MAAM32B,UAAW,UAE1CmG,IAAK,WACD,OAAO1M,KAAKgd,KAAKqC,OAAOnC,KAAK/W,EAAInG,KAAKmG,KAW9CsB,OAAOmF,eAAevM,EAAO68B,MAAM32B,UAAW,UAE1CmG,IAAK,WACD,OAAO1M,KAAKgd,KAAKqC,OAAOnC,KAAKhQ,EAAIlN,KAAKkN,KAyB9C7M,EAAOwjC,MAAQ,SAAU7mB,GAKrBhd,KAAKgd,KAAOA,EAMZhd,KAAKsiB,MAAQtF,EAAKsF,MAKlBtiB,KAAKulB,gBAAkBvlB,KAAKgd,KAK5Bhd,KAAK2mC,kBAAoB,KAKzB3mC,KAAK4mC,gBAAkB,KAKvB5mC,KAAK6mC,iBAAmB,KAKxB7mC,KAAK8mC,kBAAoB,KAKzB9mC,KAAK+mC,mBAAqB,KAK1B/mC,KAAKgnC,SAAU,EASfhnC,KAAKinC,QAAU,EAMfjnC,KAAKknC,WAAa,EAOlBlnC,KAAK0gC,SAAU,EAMf1gC,KAAKmnC,QAAS,EAMdnnC,KAAKonC,eAAgB,EAMrBpnC,KAAKqnC,YAAc,IAAIhnC,EAAOud,OAQ9B5d,KAAK6uB,MAAQ,KAMb7uB,KAAKsnC,aAAe,KAMpBtnC,KAAKunC,aAAe,KAMpBvnC,KAAKwnC,WAAa,KAMlBxnC,KAAKynC,YAAc,KAMnBznC,KAAK0nC,aAAe,KAMpB1nC,KAAK2nC,cAAgB,KAOrB3nC,KAAK4nC,YAAc,MAQvBvnC,EAAOwjC,MAAMgE,WAAa,EAM1BxnC,EAAOwjC,MAAMiE,YAAc,EAM3BznC,EAAOwjC,MAAMkE,cAAgB,EAM7B1nC,EAAOwjC,MAAMmE,aAAe,EAM5B3nC,EAAOwjC,MAAMoE,YAAc,EAM3B5nC,EAAOwjC,MAAMqE,eAAiB,EAM9B7nC,EAAOwjC,MAAMsE,SAAW,EAMxB9nC,EAAOwjC,MAAMuE,YAAc,EAE3B/nC,EAAOwjC,MAAMt9B,WAMTwK,MAAO,WAEH,KAAI/Q,KAAKgd,KAAKsS,OAAO+Y,UAAuC,IAA5BroC,KAAKgd,KAAKsS,OAAOgZ,SAMvB,OAAtBtoC,KAAKsnC,aAAT,CAMA,IAAIte,EAAQhpB,KAEZA,KAAKsnC,aAAe,SAAUzY,GAC1B,OAAO7F,EAAMuf,YAAY1Z,IAG7B7uB,KAAKunC,aAAe,SAAU1Y,GAC1B,OAAO7F,EAAMwf,YAAY3Z,IAG7B7uB,KAAKwnC,WAAa,SAAU3Y,GACxB,OAAO7F,EAAMyf,UAAU5Z,IAG3B7uB,KAAK0oC,iBAAmB,SAAU7Z,GAC9B,OAAO7F,EAAM2f,gBAAgB9Z,IAGjC7uB,KAAK4oC,kBAAoB,SAAU/Z,GAC/B,OAAO7F,EAAM6f,iBAAiBha,IAGlC7uB,KAAKynC,YAAc,SAAU5Y,GACzB,OAAO7F,EAAM8f,WAAWja,IAG5B7uB,KAAK0nC,aAAe,SAAU7Y,GAC1B,OAAO7F,EAAM+f,YAAYla,IAG7B7uB,KAAK2nC,cAAgB,SAAU9Y,GAC3B,OAAO7F,EAAMggB,aAAana,IAG9B,IAAId,EAAS/tB,KAAKgd,KAAK+Q,OAEvBA,EAAOkB,iBAAiB,YAAajvB,KAAKsnC,cAAc,GACxDvZ,EAAOkB,iBAAiB,YAAajvB,KAAKunC,cAAc,GACxDxZ,EAAOkB,iBAAiB,UAAWjvB,KAAKwnC,YAAY,GAE/CxnC,KAAKgd,KAAKsS,OAAOmP,WAElBx2B,OAAOgnB,iBAAiB,UAAWjvB,KAAK0oC,kBAAkB,GAC1DzgC,OAAOgnB,iBAAiB,WAAYjvB,KAAK4oC,mBAAmB,GAC5D7a,EAAOkB,iBAAiB,YAAajvB,KAAK0nC,cAAc,GACxD3Z,EAAOkB,iBAAiB,WAAYjvB,KAAKynC,aAAa,IAG1D,IAAIwB,EAAajpC,KAAKgd,KAAKsS,OAAO2Z,WAE9BA,IAEAlb,EAAOkB,iBAAiBga,EAAYjpC,KAAK2nC,eAAe,GAErC,eAAfsB,EAEAjpC,KAAK4nC,YAAc,IAAI/nC,GAAgB,KAAO,GAE1B,mBAAfopC,IAELjpC,KAAK4nC,YAAc,IAAI/nC,EAAgB,EAAG,OAWtD0oC,YAAa,SAAU1Z,GAEnB7uB,KAAK6uB,MAAQA,EAET7uB,KAAKgnC,SAELnY,EAAMgQ,iBAGN7+B,KAAK2mC,mBAEL3mC,KAAK2mC,kBAAkB3/B,KAAKhH,KAAKulB,gBAAiBsJ,GAGjD7uB,KAAKsiB,MAAMoe,SAAY1gC,KAAK0gC,UAKjC7R,EAAkB,WAAI,EAEtB7uB,KAAKsiB,MAAM+f,aAAatxB,MAAM8d,KASlC2Z,YAAa,SAAU3Z,GAEnB7uB,KAAK6uB,MAAQA,EAET7uB,KAAKgnC,SAELnY,EAAMgQ,iBAGN7+B,KAAKkpC,mBAELlpC,KAAKkpC,kBAAkBliC,KAAKhH,KAAKulB,gBAAiBsJ,GAGjD7uB,KAAKsiB,MAAMoe,SAAY1gC,KAAK0gC,UAKjC7R,EAAkB,WAAI,EAEtB7uB,KAAKsiB,MAAM+f,aAAagD,KAAKxW,KASjC4Z,UAAW,SAAU5Z,GAEjB7uB,KAAK6uB,MAAQA,EAET7uB,KAAKgnC,SAELnY,EAAMgQ,iBAGN7+B,KAAK4mC,iBAEL5mC,KAAK4mC,gBAAgB5/B,KAAKhH,KAAKulB,gBAAiBsJ,GAG/C7uB,KAAKsiB,MAAMoe,SAAY1gC,KAAK0gC,UAKjC7R,EAAkB,WAAI,EAEtB7uB,KAAKsiB,MAAM+f,aAAazC,KAAK/Q,KAUjC8Z,gBAAiB,SAAU9Z,GAElB7uB,KAAKsiB,MAAM+f,aAAa8G,aAErBnpC,KAAK4mC,iBAEL5mC,KAAK4mC,gBAAgB5/B,KAAKhH,KAAKulB,gBAAiBsJ,GAGpDA,EAAkB,WAAI,EAEtB7uB,KAAKsiB,MAAM+f,aAAazC,KAAK/Q,KAWrCga,iBAAkB,SAAUha,GAExB7uB,KAAK6uB,MAAQA,EAET7uB,KAAKgnC,SAELnY,EAAMgQ,iBAGV7+B,KAAKsiB,MAAM+f,aAAa8G,YAAa,EAEhCnpC,KAAKsiB,MAAMoe,SAAY1gC,KAAK0gC,UAajC1gC,KAAKsiB,MAAM+f,aAAazC,KAAK/Q,GAG7B7uB,KAAKsiB,MAAM+f,aAAa+G,iBAU5BN,WAAY,SAAUja,GAElB7uB,KAAK6uB,MAAQA,EAET7uB,KAAKgnC,SAELnY,EAAMgQ,iBAGV7+B,KAAKsiB,MAAM+f,aAAa8G,YAAa,EAEjCnpC,KAAK6mC,kBAEL7mC,KAAK6mC,iBAAiB7/B,KAAKhH,KAAKulB,gBAAiBsJ,GAGhD7uB,KAAKsiB,MAAMoe,SAAY1gC,KAAK0gC,SAK7B1gC,KAAKonC,gBAELvY,EAAkB,WAAI,EAEtB7uB,KAAKsiB,MAAM+f,aAAazC,KAAK/Q,KAWrCka,YAAa,SAAUla,GAEnB7uB,KAAK6uB,MAAQA,EAET7uB,KAAKgnC,SAELnY,EAAMgQ,iBAGV7+B,KAAKsiB,MAAM+f,aAAa8G,YAAa,EAEjCnpC,KAAK8mC,mBAEL9mC,KAAK8mC,kBAAkB9/B,KAAKhH,KAAKulB,gBAAiBsJ,IAW1Dma,aAAc,SAAUna,GAEhB7uB,KAAK4nC,cACL/Y,EAAQ7uB,KAAK4nC,YAAYyB,UAAUxa,IAGvC7uB,KAAK6uB,MAAQA,EAET7uB,KAAKgnC,SAELnY,EAAMgQ,iBAIV7+B,KAAKknC,WAAa7mC,EAAO4F,KAAK4R,OAAOgX,EAAMya,QAAS,EAAG,GAEnDtpC,KAAK+mC,oBAEL/mC,KAAK+mC,mBAAmB//B,KAAKhH,KAAKulB,gBAAiBsJ,IAW3D0a,mBAAoB,WAEhB,GAAIvpC,KAAKgd,KAAKsS,OAAO+X,YACrB,CACI,IAAImC,EAAUxpC,KAAKgd,KAAK+Q,OAExByb,EAAQD,mBAAqBC,EAAQD,oBAAsBC,EAAQC,uBAAyBD,EAAQE,yBAEpGF,EAAQD,qBAER,IAAIvgB,EAAQhpB,KAEZA,KAAK2pC,mBAAqB,SAAU9a,GAChC,OAAO7F,EAAM4gB,kBAAkB/a,IAGnCL,SAASS,iBAAiB,oBAAqBjvB,KAAK2pC,oBAAoB,GACxEnb,SAASS,iBAAiB,uBAAwBjvB,KAAK2pC,oBAAoB,GAC3Enb,SAASS,iBAAiB,0BAA2BjvB,KAAK2pC,oBAAoB,KAWtFC,kBAAmB,SAAU/a,GAEzB,IAAI2a,EAAUxpC,KAAKgd,KAAK+Q,OAEpBS,SAASqb,qBAAuBL,GAAWhb,SAASsb,wBAA0BN,GAAWhb,SAASub,2BAA6BP,GAG/HxpC,KAAKmnC,QAAS,EACdnnC,KAAKqnC,YAAYhmB,UAAS,EAAMwN,KAKhC7uB,KAAKmnC,QAAS,EACdnnC,KAAKqnC,YAAYhmB,UAAS,EAAOwN,KASzCmb,mBAAoB,WAEhBxb,SAASyb,gBAAkBzb,SAASyb,iBAAmBzb,SAAS0b,oBAAsB1b,SAAS2b,sBAE/F3b,SAASyb,kBAETzb,SAAS2B,oBAAoB,oBAAqBnwB,KAAK2pC,oBAAoB,GAC3Enb,SAAS2B,oBAAoB,uBAAwBnwB,KAAK2pC,oBAAoB,GAC9Enb,SAAS2B,oBAAoB,0BAA2BnwB,KAAK2pC,oBAAoB,IAQrF/J,KAAM,WAEF,IAAI7R,EAAS/tB,KAAKgd,KAAK+Q,OAEvBA,EAAOoC,oBAAoB,YAAanwB,KAAKsnC,cAAc,GAC3DvZ,EAAOoC,oBAAoB,YAAanwB,KAAKunC,cAAc,GAC3DxZ,EAAOoC,oBAAoB,UAAWnwB,KAAKwnC,YAAY,GACvDzZ,EAAOoC,oBAAoB,YAAanwB,KAAK0nC,cAAc,GAC3D3Z,EAAOoC,oBAAoB,WAAYnwB,KAAKynC,aAAa,GAEzD,IAAIwB,EAAajpC,KAAKgd,KAAKsS,OAAO2Z,WAE9BA,GAEAlb,EAAOoC,oBAAoB8Y,EAAYjpC,KAAK2nC,eAAe,GAG/D1/B,OAAOkoB,oBAAoB,UAAWnwB,KAAK0oC,kBAAkB,GAC7DzgC,OAAOkoB,oBAAoB,WAAYnwB,KAAK4oC,mBAAmB,GAE/Dpa,SAAS2B,oBAAoB,oBAAqBnwB,KAAK2pC,oBAAoB,GAC3Enb,SAAS2B,oBAAoB,uBAAwBnwB,KAAK2pC,oBAAoB,GAC9Enb,SAAS2B,oBAAoB,0BAA2BnwB,KAAK2pC,oBAAoB,KAMzFtpC,EAAOwjC,MAAMt9B,UAAU8B,YAAchI,EAAOwjC,OAoC5ChkC,EAAgB0G,cACU8B,YAAcxI,EAExCA,EAAgB0G,UAAU8iC,UAAY,SAAUxa,GAG5C,IAAKhvB,EAAgBuqC,iBAAmBvb,EACxC,CAUI,IAAK,IAAInlB,KAAQmlB,EAEPnlB,KAAQ7J,EAAgB0G,WAE1BkB,OAAOmF,eAAe/M,EAAgB0G,UAAWmD,GAC7CgD,IAdK,SAAU1C,GAEvB,OAAO,WACH,IAAIg0B,EAAIh+B,KAAKG,cAAc6J,GAC3B,MAAoB,mBAANg0B,EAAmBA,EAAIA,EAAEx3B,KAAKxG,KAAKG,gBAUxCkqC,CAAW3gC,KAI5B7J,EAAgBuqC,iBAAkB,EAItC,OADApqC,KAAKG,cAAgB0uB,EACd7uB,MAIXyH,OAAO6iC,iBAAiBzqC,EAAgB0G,WACpC6B,MAAU8B,MAAO,SACjBnK,WAAe2M,IAAK,WAAc,OAAO1M,KAAKE,aAC9CopC,QACI58B,IAAK,WACD,OAAQ1M,KAAKC,cAAgBD,KAAKG,cAAc+mC,YAAclnC,KAAKG,cAAcoqC,SAAY,IAGrGC,QACI99B,IAAK,WACD,OAAQ1M,KAAKC,aAAeD,KAAKG,cAAcsqC,aAAgB,IAGvEC,QAAYxgC,MAAO,KAsCvB7J,EAAO0jC,UAAY,SAAU/mB,GAKzBhd,KAAKgd,KAAOA,EAMZhd,KAAKsiB,MAAQtF,EAAKsF,MAKlBtiB,KAAKulB,gBAAkBvlB,KAAKgd,KAK5Bhd,KAAK2qC,oBAAsB,KAK3B3qC,KAAK4qC,oBAAsB,KAK3B5qC,KAAK6qC,kBAAoB,KAKzB7qC,KAAKgnC,SAAU,EAQfhnC,KAAKinC,QAAU,EAQfjnC,KAAK6uB,MAAQ,KAOb7uB,KAAK0gC,SAAU,EAMf1gC,KAAK8qC,iBAAmB,KAMxB9qC,KAAK+qC,iBAAmB,KAMxB/qC,KAAKgrC,eAAiB,KAMtBhrC,KAAKirC,qBAAuB,KAM5BjrC,KAAKkrC,gBAAkB,KAMvBlrC,KAAKmrC,iBAAmB,MAI5B9qC,EAAO0jC,UAAUx9B,WAMbwK,MAAO,WAEH,GAA8B,OAA1B/Q,KAAK8qC,iBAAT,CAMA,IAAI9hB,EAAQhpB,KAEZ,GAAIA,KAAKgd,KAAKsS,OAAOkT,UACrB,CACIxiC,KAAK8qC,iBAAmB,SAAUjc,GAC9B,OAAO7F,EAAMoiB,cAAcvc,IAG/B7uB,KAAK+qC,iBAAmB,SAAUlc,GAC9B,OAAO7F,EAAMqiB,cAAcxc,IAG/B7uB,KAAKgrC,eAAiB,SAAUnc,GAC5B,OAAO7F,EAAMsiB,YAAYzc,IAG7B7uB,KAAKirC,qBAAuB,SAAUpc,GAClC,OAAO7F,EAAMuiB,kBAAkB1c,IAGnC7uB,KAAKkrC,gBAAkB,SAAUrc,GAC7B,OAAO7F,EAAMwiB,aAAa3c,IAG9B7uB,KAAKmrC,iBAAmB,SAAUtc,GAC9B,OAAO7F,EAAMyiB,cAAc5c,IAG/B,IAAId,EAAS/tB,KAAKgd,KAAK+Q,OAEvBA,EAAOkB,iBAAiB,gBAAiBjvB,KAAK8qC,kBAAkB,GAChE/c,EAAOkB,iBAAiB,gBAAiBjvB,KAAK+qC,kBAAkB,GAChEhd,EAAOkB,iBAAiB,cAAejvB,KAAKgrC,gBAAgB,GAG5Djd,EAAOkB,iBAAiB,cAAejvB,KAAK8qC,kBAAkB,GAC9D/c,EAAOkB,iBAAiB,cAAejvB,KAAK+qC,kBAAkB,GAC9Dhd,EAAOkB,iBAAiB,YAAajvB,KAAKgrC,gBAAgB,GAE1Djd,EAAOpO,MAAM,uBAAyB,OACtCoO,EAAOpO,MAAM,oBAAsB,OAE9B3f,KAAKgd,KAAKsS,OAAOmP,WAElBx2B,OAAOgnB,iBAAiB,cAAejvB,KAAKirC,sBAAsB,GAClEld,EAAOkB,iBAAiB,gBAAiBjvB,KAAKmrC,kBAAkB,GAChEpd,EAAOkB,iBAAiB,eAAgBjvB,KAAKkrC,iBAAiB,GAG9DjjC,OAAOgnB,iBAAiB,YAAajvB,KAAKirC,sBAAsB,GAChEld,EAAOkB,iBAAiB,cAAejvB,KAAKmrC,kBAAkB,GAC9Dpd,EAAOkB,iBAAiB,aAAcjvB,KAAKkrC,iBAAiB,OAYxEE,cAAe,SAAUvc,GAErB7uB,KAAKgd,KAAKsF,MAAMqiB,2BAA0B,EAAO9V,GAEjD7uB,KAAK6uB,MAAQA,EAET7uB,KAAKgnC,SAELnY,EAAMgQ,iBAGN7+B,KAAK2qC,qBAEL3qC,KAAK2qC,oBAAoB3jC,KAAKhH,KAAKulB,gBAAiBsJ,GAGnD7uB,KAAKsiB,MAAMoe,SAAY1gC,KAAK0gC,UAKjC7R,EAAMuW,WAAavW,EAAM8W,UAEC,UAAtB9W,EAAM6c,aAAiD,IAAtB7c,EAAM6c,YAEvC1rC,KAAKsiB,MAAM+f,aAAatxB,MAAM8d,GAI9B7uB,KAAKsiB,MAAM2iB,aAAapW,KAUhCwc,cAAe,SAAUxc,GAErB7uB,KAAK6uB,MAAQA,EAET7uB,KAAKgnC,SAELnY,EAAMgQ,iBAGN7+B,KAAK4qC,qBAEL5qC,KAAK4qC,oBAAoB5jC,KAAKhH,KAAKulB,gBAAiBsJ,GAGnD7uB,KAAKsiB,MAAMoe,SAAY1gC,KAAK0gC,UAKjC7R,EAAMuW,WAAavW,EAAM8W,UAEC,UAAtB9W,EAAM6c,aAAiD,IAAtB7c,EAAM6c,YAEvC1rC,KAAKsiB,MAAM+f,aAAagD,KAAKxW,GAI7B7uB,KAAKsiB,MAAM6iB,cAActW,KAUjCyc,YAAa,SAAUzc,GAEnB7uB,KAAKgd,KAAKsF,MAAMqiB,2BAA0B,EAAM9V,GAEhD7uB,KAAK6uB,MAAQA,EAET7uB,KAAKgnC,SAELnY,EAAMgQ,iBAGN7+B,KAAK6qC,mBAEL7qC,KAAK6qC,kBAAkB7jC,KAAKhH,KAAKulB,gBAAiBsJ,GAGjD7uB,KAAKsiB,MAAMoe,SAAY1gC,KAAK0gC,UAKjC7R,EAAMuW,WAAavW,EAAM8W,UAEC,UAAtB9W,EAAM6c,aAAiD,IAAtB7c,EAAM6c,YAEvC1rC,KAAKsiB,MAAM+f,aAAazC,KAAK/Q,GAI7B7uB,KAAKsiB,MAAMgjB,YAAYzW,KAW/B0c,kBAAmB,SAAU1c,GAEzB,GAA2B,UAAtBA,EAAM6c,aAAiD,IAAtB7c,EAAM6c,aAAgC1rC,KAAKsiB,MAAM+f,aAAa8G,WAKpG,CACI,IAAI9d,EAAUrrB,KAAKsiB,MAAMmjB,yBAAyB5W,EAAMuW,YAEpD/Z,GAAWA,EAAQ8d,YAEnBnpC,KAAKsrC,YAAYzc,QARrB7uB,KAAKsrC,YAAYzc,IAoBzB2c,aAAc,SAAU3c,GASpB,GAPA7uB,KAAK6uB,MAAQA,EAET7uB,KAAKgnC,SAELnY,EAAMgQ,iBAGgB,UAAtBhQ,EAAM6c,aAAiD,IAAtB7c,EAAM6c,YAEvC1rC,KAAKsiB,MAAM+f,aAAa8G,YAAa,MAGzC,CACI,IAAI9d,EAAUrrB,KAAKsiB,MAAMmjB,yBAAyB5W,EAAMuW,YAEpD/Z,IAEAA,EAAQ8d,YAAa,GAIzBnpC,KAAKsiB,MAAM+H,MAAMwc,kBAEjB7mC,KAAKsiB,MAAM+H,MAAMwc,iBAAiB7/B,KAAKhH,KAAKsiB,MAAM+H,MAAM9E,gBAAiBsJ,GAGxE7uB,KAAKsiB,MAAMoe,SAAY1gC,KAAK0gC,SAK7B1gC,KAAKsiB,MAAM+H,MAAM+c,gBAEjBvY,EAAkB,WAAI,EAElBxD,EAEAA,EAAQuU,KAAK/Q,GAIb7uB,KAAKsiB,MAAM+f,aAAazC,KAAK/Q,KAYzC4c,cAAe,SAAU5c,GASrB,GAPA7uB,KAAK6uB,MAAQA,EAET7uB,KAAKgnC,SAELnY,EAAMgQ,iBAGgB,UAAtBhQ,EAAM6c,aAAiD,IAAtB7c,EAAM6c,YAEvC1rC,KAAKsiB,MAAM+f,aAAa8G,YAAa,MAGzC,CACI,IAAI9d,EAAUrrB,KAAKsiB,MAAMmjB,yBAAyB5W,EAAMuW,YAEpD/Z,IAEAA,EAAQ8d,YAAa,GAIzBnpC,KAAKsiB,MAAM+H,MAAMyc,mBAEjB9mC,KAAKsiB,MAAM+H,MAAMyc,kBAAkB9/B,KAAKhH,KAAKsiB,MAAM+H,MAAM9E,gBAAiBsJ,IASlF+Q,KAAM,WAEF,IAAI7R,EAAS/tB,KAAKgd,KAAK+Q,OAEvBA,EAAOoC,oBAAoB,gBAAiBnwB,KAAK8qC,kBAAkB,GACnE/c,EAAOoC,oBAAoB,gBAAiBnwB,KAAK+qC,kBAAkB,GACnEhd,EAAOoC,oBAAoB,cAAenwB,KAAKgrC,gBAAgB,GAG/Djd,EAAOoC,oBAAoB,cAAenwB,KAAK8qC,kBAAkB,GACjE/c,EAAOoC,oBAAoB,cAAenwB,KAAK+qC,kBAAkB,GACjEhd,EAAOoC,oBAAoB,YAAanwB,KAAKgrC,gBAAgB,GAE7D/iC,OAAOkoB,oBAAoB,cAAenwB,KAAKirC,sBAAsB,GACrEld,EAAOoC,oBAAoB,gBAAiBnwB,KAAKmrC,kBAAkB,GACnEpd,EAAOoC,oBAAoB,eAAgBnwB,KAAKkrC,iBAAiB,GAGjEjjC,OAAOkoB,oBAAoB,YAAanwB,KAAKirC,sBAAsB,GACnEld,EAAOoC,oBAAoB,cAAenwB,KAAKmrC,kBAAkB,GACjEpd,EAAOoC,oBAAoB,aAAcnwB,KAAKkrC,iBAAiB,KAMvE7qC,EAAO0jC,UAAUx9B,UAAU8B,YAAchI,EAAO0jC,UAgChD1jC,EAAOsrC,aAAe,SAAU1f,EAAQ2f,GAKpC5rC,KAAKisB,OAASA,EAKdjsB,KAAKgd,KAAOiP,EAAOjP,KAMnBhd,KAAK6uB,MAAQ,KAMb7uB,KAAK6rC,QAAS,EAMd7rC,KAAK8rC,MAAO,EAMZ9rC,KAAK+rC,SAAW,EAMhB/rC,KAAKgsC,OAAS,EAQdhsC,KAAKisC,QAAU,EAQfjsC,KAAKksC,QAAS,EAQdlsC,KAAKmsC,UAAW,EAQhBnsC,KAAKosC,SAAU,EAMfpsC,KAAKkK,MAAQ,EAKblK,KAAK4rC,WAAaA,EAQlB5rC,KAAK2iC,OAAS,IAAItiC,EAAOud,OAQzB5d,KAAK4iC,KAAO,IAAIviC,EAAOud,OAQvB5d,KAAKqsC,QAAU,IAAIhsC,EAAOud,QAI9Bvd,EAAOsrC,aAAaplC,WAWhBwK,MAAO,SAAU8d,EAAO3kB,GAEhBlK,KAAK6rC,SAKT7rC,KAAK6rC,QAAS,EACd7rC,KAAK8rC,MAAO,EACZ9rC,KAAK+rC,SAAW/rC,KAAKgd,KAAKmE,KAAKA,KAC/BnhB,KAAKisC,QAAU,EAEfjsC,KAAK6uB,MAAQA,EACb7uB,KAAKkK,MAAQA,EAET2kB,IAEA7uB,KAAKksC,OAASrd,EAAMqd,OACpBlsC,KAAKmsC,SAAWtd,EAAMsd,SACtBnsC,KAAKosC,QAAUvd,EAAMud,SAGzBpsC,KAAK2iC,OAAOthB,SAASrhB,KAAMkK,KAa/B01B,KAAM,SAAU/Q,EAAO3kB,GAEflK,KAAK8rC,OAKT9rC,KAAK6rC,QAAS,EACd7rC,KAAK8rC,MAAO,EACZ9rC,KAAKgsC,OAAShsC,KAAKgd,KAAKmE,KAAKA,KAE7BnhB,KAAK6uB,MAAQA,EACb7uB,KAAKkK,MAAQA,EAET2kB,IAEA7uB,KAAKksC,OAASrd,EAAMqd,OACpBlsC,KAAKmsC,SAAWtd,EAAMsd,SACtBnsC,KAAKosC,QAAUvd,EAAMud,SAGzBpsC,KAAK4iC,KAAKvhB,SAASrhB,KAAMkK,KAc7BoiC,UAAW,SAAUC,EAAW1d,EAAO3kB,GAE/BqiC,EAEAvsC,KAAK+Q,MAAM8d,EAAO3kB,GAIlBlK,KAAK4/B,KAAK/Q,EAAO3kB,IAYzBsiC,SAAU,SAAUtiC,GAEhBlK,KAAK6rC,QAAS,EACd7rC,KAAK8rC,MAAO,EAEZ9rC,KAAKkK,MAAQA,EAEblK,KAAKqsC,QAAQhrB,SAASrhB,KAAMkK,IAYhCuiC,YAAa,SAAUpuB,GAInB,OAFAA,EAAWA,GAAY,IAEfre,KAAK6rC,QAAW7rC,KAAK+rC,SAAW1tB,EAAYre,KAAKgd,KAAKmE,KAAKA,MAYvEurB,aAAc,SAAUruB,GAIpB,OAFAA,EAAWA,GAAY,IAEfre,KAAK8rC,MAAS9rC,KAAKgsC,OAAS3tB,EAAYre,KAAKgd,KAAKmE,KAAKA,MASnEc,MAAO,WAEHjiB,KAAK6rC,QAAS,EACd7rC,KAAK8rC,MAAO,EAEZ9rC,KAAK+rC,SAAW/rC,KAAKgd,KAAKmE,KAAKA,KAC/BnhB,KAAKisC,QAAU,EAEfjsC,KAAKksC,QAAS,EACdlsC,KAAKmsC,UAAW,EAChBnsC,KAAKosC,SAAU,GAUnB9lB,QAAS,WAELtmB,KAAK2iC,OAAO5Z,UACZ/oB,KAAK4iC,KAAK7Z,UACV/oB,KAAKqsC,QAAQtjB,UAEb/oB,KAAKisB,OAAS,KACdjsB,KAAKgd,KAAO,OAMpB3c,EAAOsrC,aAAaplC,UAAU8B,YAAchI,EAAOsrC,aAUnDlkC,OAAOmF,eAAevM,EAAOsrC,aAAaplC,UAAW,YAEjDmG,IAAK,WAED,OAAI1M,KAAK8rC,MAEG,EAGL9rC,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAK+rC,YAqB1C1rC,EAAOojC,QAAU,SAAUzmB,EAAMlG,EAAI61B,GAKjC3sC,KAAKgd,KAAOA,EAKZhd,KAAK8W,GAAKA,EAMV9W,KAAKoI,KAAO/H,EAAOgC,QAMnBrC,KAAKitB,QAAS,EAMdjtB,KAAKolC,WAAa,EAMlBplC,KAAK2lC,UAAY,KAKjB3lC,KAAK2sC,YAAcA,GAAgBtsC,EAAOqjC,YAAYC,OAAStjC,EAAOqjC,YAAYkJ,QAMlF5sC,KAAKkH,OAAS,KASdlH,KAAKinC,OAAS,KAWdjnC,KAAK6sC,WAAa,IAAIxsC,EAAOsrC,aAAa3rC,KAAMK,EAAOojC,QAAQqE,aAa/D9nC,KAAK8sC,aAAe,IAAIzsC,EAAOsrC,aAAa3rC,KAAMK,EAAOojC,QAAQsE,eAajE/nC,KAAK+sC,YAAc,IAAI1sC,EAAOsrC,aAAa3rC,KAAMK,EAAOojC,QAAQuE,cAahEhoC,KAAKgtC,WAAa,IAAI3sC,EAAOsrC,aAAa3rC,KAAMK,EAAOojC,QAAQwE,aAa/DjoC,KAAKitC,cAAgB,IAAI5sC,EAAOsrC,aAAa3rC,KAAMK,EAAOojC,QAAQyE,gBAalEloC,KAAKktC,aAAe,IAAI7sC,EAAOsrC,aAAa3rC,KAAMK,EAAOojC,QAAQ0J,eAOjEntC,KAAKotC,WAAY,EAMjBptC,KAAKqtC,YAMLrtC,KAAKstC,UAAY,EAMjBttC,KAAKutC,aAAc,EAKnBvtC,KAAKmpC,YAAa,EAKlBnpC,KAAKwtC,SAAW,EAKhBxtC,KAAKytC,SAAW,EAKhBztC,KAAK0tC,OAAS,EAKd1tC,KAAK2tC,OAAS,EAKd3tC,KAAK4tC,SAAW,EAKhB5tC,KAAK6tC,SAAW,EAMhB7tC,KAAK8tC,aAAe,EAMpB9tC,KAAK+tC,aAAe,EAMpB/tC,KAAKguC,UAAY,EAMjBhuC,KAAKiuC,UAAY,EAMjBjuC,KAAKmG,GAAK,EAMVnG,KAAKkN,GAAK,EAKVlN,KAAKkuC,QAAkB,IAAPp3B,EAQhB9W,KAAK6rC,QAAS,EAQd7rC,KAAK8rC,MAAO,EAMZ9rC,KAAK+rC,SAAW,EAMhB/rC,KAAKgsC,OAAS,EAMdhsC,KAAKmuC,gBAAkB,EAMvBnuC,KAAKouC,aAAe,EAMpBpuC,KAAKquC,iBAAmBzzB,OAAOC,UAM/B7a,KAAKsuC,aAAe,KAWpBtuC,KAAKuuC,yBAMLvuC,KAAKqnB,QAAS,EAMdrnB,KAAKgqB,OAAQ,EAKbhqB,KAAK8b,SAAW,IAAIzb,EAAOoN,MAK3BzN,KAAKwuC,aAAe,IAAInuC,EAAOoN,MAK/BzN,KAAKyuC,WAAa,IAAIpuC,EAAOoN,MAO7BzN,KAAK8gC,OAAS,IAAIzgC,EAAO4M,OAAO,EAAG,EAAG,IAOtCjN,KAAK0uC,kBAAoB,KAQzB1uC,KAAK2uC,wBAA0B,MASnCtuC,EAAOojC,QAAQoE,UAAY,EAO3BxnC,EAAOojC,QAAQqE,YAAc,EAO7BznC,EAAOojC,QAAQuE,aAAe,EAO9B3nC,EAAOojC,QAAQsE,cAAgB,EAQ/B1nC,EAAOojC,QAAQwE,YAAc,EAQ7B5nC,EAAOojC,QAAQyE,eAAiB,GAOhC7nC,EAAOojC,QAAQ0J,cAAgB,GAE/B9sC,EAAOojC,QAAQl9B,WAQX6iC,aAAc,WAEVppC,KAAK6rC,QAAS,EACd7rC,KAAK8rC,MAAO,EAER9rC,KAAKkuC,UAELluC,KAAK6sC,WAAW5qB,QAChBjiB,KAAK8sC,aAAa7qB,QAClBjiB,KAAK+sC,YAAY9qB,QACjBjiB,KAAKgtC,WAAW/qB,QAChBjiB,KAAKitC,cAAchrB,QACnBjiB,KAAKktC,aAAajrB,UAa1B2sB,mBAAoB,SAAU3H,EAAQpY,GAI9BoY,IAAW5mC,EAAOwjC,MAAMiE,aAExB9nC,KAAK6sC,WAAW97B,MAAM8d,GAGtBoY,IAAW5mC,EAAOwjC,MAAMmE,cAExBhoC,KAAK+sC,YAAYh8B,MAAM8d,GAGvBoY,IAAW5mC,EAAOwjC,MAAMkE,eAExB/nC,KAAK8sC,aAAa/7B,MAAM8d,GAGxBoY,IAAW5mC,EAAOwjC,MAAMoE,aAExBjoC,KAAKgtC,WAAWj8B,MAAM8d,GAGtBoY,IAAW5mC,EAAOwjC,MAAMqE,gBAExBloC,KAAKitC,cAAcl8B,MAAM8d,IAajCggB,iBAAkB,SAAU5H,EAAQpY,GAI5BoY,IAAW5mC,EAAOwjC,MAAMiE,aAExB9nC,KAAK6sC,WAAWjN,KAAK/Q,GAGrBoY,IAAW5mC,EAAOwjC,MAAMmE,cAExBhoC,KAAK+sC,YAAYnN,KAAK/Q,GAGtBoY,IAAW5mC,EAAOwjC,MAAMkE,eAExB/nC,KAAK8sC,aAAalN,KAAK/Q,GAGvBoY,IAAW5mC,EAAOwjC,MAAMoE,aAExBjoC,KAAKgtC,WAAWpN,KAAK/Q,GAGrBoY,IAAW5mC,EAAOwjC,MAAMqE,gBAExBloC,KAAKitC,cAAcrN,KAAK/Q,IAahCigB,qBAAsB,SAAUC,EAASlgB,GAErC,IAAImgB,EAAgD,SAAxCngB,EAAMzmB,KAAK6mC,cAAchkC,QAAQ,GACzCo6B,EAAgD,SAAxCxW,EAAMzmB,KAAK6mC,cAAchkC,QAAQ,QAE7BV,IAAZwkC,GAGIC,GAAoB,IAAZD,GAAiBlgB,EAAMud,UAE/B2C,EAAU,GAId/uC,KAAK6sC,WAAWP,UAAUjsC,EAAOojC,QAAQqE,YAAciH,EAASlgB,GAChE7uB,KAAK+sC,YAAYT,UAAUjsC,EAAOojC,QAAQuE,aAAe+G,EAASlgB,GAClE7uB,KAAK8sC,aAAaR,UAAUjsC,EAAOojC,QAAQsE,cAAgBgH,EAASlgB,GACpE7uB,KAAKgtC,WAAWV,UAAUjsC,EAAOojC,QAAQwE,YAAc8G,EAASlgB,GAChE7uB,KAAKitC,cAAcX,UAAUjsC,EAAOojC,QAAQyE,eAAiB6G,EAASlgB,GACtE7uB,KAAKktC,aAAaZ,UAAUjsC,EAAOojC,QAAQ0J,cAAgB4B,EAASlgB,SAM/CtkB,IAAjBskB,EAAMoY,OAGF+H,GAAQngB,EAAMud,SAA4B,IAAjBvd,EAAMoY,OAE/BjnC,KAAK+sC,YAAYh8B,MAAM8d,GAInBmgB,EAEAhvC,KAAK4uC,mBAAmB/f,EAAMoY,OAAQpY,GAEhCwW,GAENrlC,KAAK6uC,iBAAiBhgB,EAAMoY,OAAQpY,GAMxCmgB,EAGIngB,EAAMud,QAENpsC,KAAK+sC,YAAYh8B,MAAM8d,GAIvB7uB,KAAK6sC,WAAW97B,MAAM8d,IAK1B7uB,KAAK6sC,WAAWjN,KAAK/Q,GACrB7uB,KAAK+sC,YAAYnN,KAAK/Q,KAetCqgB,cAAe,SAAUrgB,GAErB7uB,KAAKinC,OAASpY,EAAMoY,OACpBjnC,KAAK8uC,qBAAqBjgB,EAAMkgB,QAASlgB,GAEzC7uB,KAAK8rC,MAAO,EACZ9rC,KAAK6rC,QAAS,GAEV7rC,KAAK6sC,WAAWhB,QAAU7rC,KAAK+sC,YAAYlB,QAAU7rC,KAAK8sC,aAAajB,QAAU7rC,KAAKgtC,WAAWnB,QAAU7rC,KAAKitC,cAAcpB,QAAU7rC,KAAKktC,aAAarB,UAE1J7rC,KAAK8rC,MAAO,EACZ9rC,KAAK6rC,QAAS,IAUtB96B,MAAO,SAAU8d,GAEb,IAAIvM,EAAQtiB,KAAKgd,KAAKsF,MA2DtB,OAzDIuM,EAAiB,YAEjB7uB,KAAK2lC,UAAY9W,EAAM8W,WAG3B3lC,KAAKolC,WAAavW,EAAMuW,WACxBplC,KAAKkH,OAAS2nB,EAAM3nB,OAEhBlH,KAAKkuC,QAELluC,KAAKkvC,cAAcrgB,IAInB7uB,KAAK6rC,QAAS,EACd7rC,KAAK8rC,MAAO,GAGhB9rC,KAAKqnB,QAAS,EACdrnB,KAAKmpC,YAAa,EAClBnpC,KAAKgqB,OAAQ,EAEbhqB,KAAKqtC,YACLrtC,KAAK0uC,kBAAoB,KACzB1uC,KAAK2uC,wBAA0B,KAG/B3uC,KAAKquC,iBAAmBruC,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAK+rC,SACnD/rC,KAAK+rC,SAAW/rC,KAAKgd,KAAKmE,KAAKA,KAC/BnhB,KAAKotC,WAAY,EAGjBptC,KAAKqlC,KAAKxW,GAAO,GAGjB7uB,KAAKwuC,aAAavgC,MAAMjO,KAAKmG,EAAGnG,KAAKkN,IAEjCoV,EAAMqe,qBAAuBtgC,EAAO68B,MAAMoG,uBAC1ChhB,EAAMqe,qBAAuBtgC,EAAO68B,MAAM0D,qBACzCte,EAAMqe,qBAAuBtgC,EAAO68B,MAAMqG,uBAAuD,IAA9BjhB,EAAM6sB,uBAE1E7sB,EAAMnc,EAAInG,KAAKmG,EACfmc,EAAMpV,EAAIlN,KAAKkN,EACfoV,EAAMxG,SAAS7N,MAAMjO,KAAKmG,EAAGnG,KAAKkN,GAClCoV,EAAMqgB,OAAOthB,SAASrhB,KAAM6uB,GAC5BvM,EAAM0iB,WAAWhlC,KAAKmG,EAAGnG,KAAKkN,IAGlClN,KAAKutC,aAAc,EAEnBvtC,KAAKouC,eAEqB,OAAtBpuC,KAAKsuC,cAELtuC,KAAKsuC,aAAac,gBAAgBpvC,MAG/BA,MAQX+gB,OAAQ,WAEJ,IAAIuB,EAAQtiB,KAAKgd,KAAKsF,MAElBtiB,KAAKqnB,SAGDrnB,KAAKgqB,QAED1H,EAAM0gB,iBAAiBnL,MAAQ,GAE/B73B,KAAKqvC,2BAA0B,GAGnCrvC,KAAKgqB,OAAQ,IAGM,IAAnBhqB,KAAKotC,WAAuBptC,KAAKqe,UAAYiE,EAAM4e,YAE/C5e,EAAMqe,qBAAuBtgC,EAAO68B,MAAMoG,uBAC1ChhB,EAAMqe,qBAAuBtgC,EAAO68B,MAAM0D,qBACzCte,EAAMqe,qBAAuBtgC,EAAO68B,MAAMqG,uBAAuD,IAA9BjhB,EAAM6sB,sBAE1E7sB,EAAMwgB,OAAOzhB,SAASrhB,MAG1BA,KAAKotC,WAAY,GAIjB9qB,EAAM+e,sBAAwBrhC,KAAKgd,KAAKmE,KAAKA,MAAQnhB,KAAKstC,YAE1DttC,KAAKstC,UAAYttC,KAAKgd,KAAKmE,KAAKA,KAAOmB,EAAMgf,WAE7CthC,KAAKqtC,SAAS94B,MACVpO,EAAGnG,KAAK8b,SAAS3V,EACjB+G,EAAGlN,KAAK8b,SAAS5O,IAGjBlN,KAAKqtC,SAAStlC,OAASua,EAAMif,aAE7BvhC,KAAKqtC,SAASiC,WAc9BjK,KAAM,SAAUxW,EAAO0gB,GAEnB,IAAIjtB,EAAQtiB,KAAKgd,KAAKsF,MAEtB,IAAIA,EAAMktB,WAAV,MAKkBjlC,IAAdglC,IAA2BA,GAAY,QAEtBhlC,IAAjBskB,EAAMoY,SAENjnC,KAAKinC,OAASpY,EAAMoY,QAGpBjnC,KAAKkuC,SAELluC,KAAKkvC,cAAcrgB,GAGvB7uB,KAAKwtC,QAAU3e,EAAM2e,QACrBxtC,KAAKytC,QAAU5e,EAAM4e,QAErBztC,KAAK0tC,MAAQ7e,EAAM6e,MACnB1tC,KAAK2tC,MAAQ9e,EAAM8e,MAEnB3tC,KAAK4tC,QAAU/e,EAAM+e,QACrB5tC,KAAK6tC,QAAUhf,EAAMgf,QAEjB7tC,KAAKkuC,SAAW5rB,EAAM+H,MAAM8c,SAAWoI,IAEvCvvC,KAAK8tC,aAAejf,EAAMmf,WAAanf,EAAM4gB,cAAgB5gB,EAAM6gB,iBAAmB,EACtF1vC,KAAK+tC,aAAelf,EAAMof,WAAapf,EAAM8gB,cAAgB9gB,EAAM+gB,iBAAmB,EAEtF5vC,KAAKguC,WAAahuC,KAAK8tC,aACvB9tC,KAAKiuC,WAAajuC,KAAK+tC,cAG3B/tC,KAAKmG,GAAKnG,KAAK0tC,MAAQ1tC,KAAKgd,KAAKhG,MAAM7H,OAAOhJ,GAAKmc,EAAMtL,MAAM7Q,EAC/DnG,KAAKkN,GAAKlN,KAAK2tC,MAAQ3tC,KAAKgd,KAAKhG,MAAM7H,OAAOjC,GAAKoV,EAAMtL,MAAM9J,EAE/DlN,KAAK8b,SAAS7N,MAAMjO,KAAKmG,EAAGnG,KAAKkN,GACjClN,KAAK8gC,OAAO36B,EAAInG,KAAKmG,EACrBnG,KAAK8gC,OAAO5zB,EAAIlN,KAAKkN,GAEjBoV,EAAMqe,qBAAuBtgC,EAAO68B,MAAMoG,uBAC1ChhB,EAAMqe,qBAAuBtgC,EAAO68B,MAAM0D,qBACzCte,EAAMqe,qBAAuBtgC,EAAO68B,MAAMqG,uBAAuD,IAA9BjhB,EAAM6sB,uBAE1E7sB,EAAM8f,cAAgBpiC,KACtBsiB,EAAMnc,EAAInG,KAAKmG,EACfmc,EAAMpV,EAAIlN,KAAKkN,EACfoV,EAAMxG,SAAS7N,MAAMqU,EAAMnc,EAAGmc,EAAMpV,GACpCoV,EAAMwe,OAAO36B,EAAImc,EAAMnc,EACvBmc,EAAMwe,OAAO5zB,EAAIoV,EAAMpV,GAG3BlN,KAAKmpC,WAAanpC,KAAKgd,KAAKhG,MAAMmG,OAAO1O,SAASzO,KAAK0tC,MAAO1tC,KAAK2tC,OAInE,IAFA,IAAI3lC,EAAIsa,EAAMge,cAAcv4B,OAErBC,KAEHsa,EAAMge,cAAct4B,GAAGyrB,SAASzsB,KAAKsb,EAAMge,cAAct4B,GAAG6e,QAAS7mB,KAAMA,KAAKmG,EAAGnG,KAAKkN,EAAGqiC,GAgB/F,OAZ0B,OAAtBvvC,KAAKsuC,cAA2BtuC,KAAKgd,KAAKoG,SAAUpjB,KAAKsuC,aAAauB,UAA4C,IAAhC7vC,KAAKsuC,aAAawB,UAO/FxtB,EAAM0gB,iBAAiBnL,MAAQ,GAEpC73B,KAAKqvC,0BAA0BE,IAPQ,IAAnCvvC,KAAKsuC,aAAavtB,OAAO/gB,QAEzBA,KAAKsuC,aAAe,MAQrBtuC,OAYXqvC,0BAA2B,SAAUE,GAGjC,IAAIQ,EAAuB,EACvBC,GAA0B,EAC1BC,EAAkB,KAKlBC,EAAclwC,KAAKgd,KAAKsF,MAAM0gB,iBAAiBmN,MAInD,IAFAnwC,KAAKuuC,yBAEE2B,GAGHA,EAAYE,SAAU,GAElBF,EAAYG,cAAcL,EAAwBD,GAAsB,IAAY/vC,KAAKgd,KAAKoG,SAAU8sB,EAAY3V,OAAOsV,UAG3HK,EAAYE,SAAU,GAEjBb,GAAaW,EAAYI,iBAAiBtwC,MAAM,KAC/CuvC,GAAaW,EAAYK,iBAAiBvwC,MAAM,MAElD+vC,EAAuBG,EAAY3V,OAAOzD,cAC1CkZ,EAAyBE,EAAYM,WACrCP,EAAkBC,EAClBlwC,KAAKuuC,sBAAsBh6B,KAAK27B,KAIxCA,EAAclwC,KAAKgd,KAAKsF,MAAM0gB,iBAAiB/O,KASnD,IAFAic,EAAclwC,KAAKgd,KAAKsF,MAAM0gB,iBAAiBmN,MAExCD,IAEEA,EAAYE,SACbF,EAAYG,cAAcL,EAAwBD,GAAsB,KAEnER,GAAaW,EAAYI,iBAAiBtwC,MAAM,KAC/CuvC,GAAaW,EAAYK,iBAAiBvwC,MAAM,MAElD+vC,EAAuBG,EAAY3V,OAAOzD,cAC1CkZ,EAAyBE,EAAYM,WACrCP,EAAkBC,EAClBlwC,KAAKuuC,sBAAsBh6B,KAAK27B,IAIxCA,EAAclwC,KAAKgd,KAAKsF,MAAM0gB,iBAAiB/O,KAUnD,OAPIj0B,KAAKgd,KAAKsF,MAAMie,yBAEhB0P,EAAkBjwC,KAAKgd,KAAKsF,MAAMie,uBAAuBv5B,KAAKhH,KAAKgd,KAAKsF,MAAMke,8BAA+BxgC,KAAMA,KAAKuuC,sBAAuB0B,IAGnJjwC,KAAKywC,WAAWR,GAAiB,GAEH,OAAtBjwC,KAAKsuC,cAgBjBmC,WAAY,SAAUC,EAAWpe,QAEd/nB,IAAX+nB,IAAwBA,GAAS,GAGnB,OAAdoe,EAGI1wC,KAAKsuC,eAELtuC,KAAKsuC,aAAaqC,mBAAmB3wC,KAAMsyB,GAC3CtyB,KAAKsuC,aAAe,MAKE,OAAtBtuC,KAAKsuC,cAGLtuC,KAAKsuC,aAAeoC,EACpBA,EAAUE,oBAAoB5wC,KAAMsyB,IAKhCtyB,KAAKsuC,eAAiBoC,GAGS,IAA3BA,EAAU3vB,OAAO/gB,QAEjBA,KAAKsuC,aAAe,OAMxBtuC,KAAKsuC,aAAaqC,mBAAmB3wC,KAAMsyB,GAG3CtyB,KAAKsuC,aAAeoC,EACpB1wC,KAAKsuC,aAAasC,oBAAoB5wC,KAAMsyB,KAa5Due,MAAO,SAAUhiB,GAEb7uB,KAAKmpC,YAAa,EAClBnpC,KAAKqlC,KAAKxW,GAAO,IAUrB+Q,KAAM,SAAU/Q,GAEZ,IAAIvM,EAAQtiB,KAAKgd,KAAKsF,MAEtB,CAAA,IAAItiB,KAAKutC,cAAevtC,KAAKmpC,WAqE7B,OA/DAnpC,KAAKgsC,OAAShsC,KAAKgd,KAAKmE,KAAKA,MAEzBmB,EAAMqe,qBAAuBtgC,EAAO68B,MAAMoG,uBAC1ChhB,EAAMqe,qBAAuBtgC,EAAO68B,MAAM0D,qBACzCte,EAAMqe,qBAAuBtgC,EAAO68B,MAAMqG,uBAAuD,IAA9BjhB,EAAM6sB,uBAE1E7sB,EAAMsgB,KAAKvhB,SAASrhB,KAAM6uB,GAGtB7uB,KAAKqe,UAAY,GAAKre,KAAKqe,UAAYiE,EAAM0e,UAGzChhC,KAAKgsC,OAAShsC,KAAKmuC,gBAAkB7rB,EAAM2e,cAG3C3e,EAAMugB,MAAMxhB,SAASrhB,MAAM,GAK3BsiB,EAAMugB,MAAMxhB,SAASrhB,MAAM,GAG/BA,KAAKmuC,gBAAkBnuC,KAAKgsC,SAIhChsC,KAAKkuC,QAELluC,KAAKkvC,cAAcrgB,IAInB7uB,KAAK6rC,QAAS,EACd7rC,KAAK8rC,MAAO,GAIZ9rC,KAAK8W,GAAK,IAEV9W,KAAKqnB,QAAS,GAGlBrnB,KAAKmpC,WAAanpC,KAAKgd,KAAKhG,MAAMmG,OAAO1O,SAASogB,EAAM6e,MAAO7e,EAAM8e,OACrE3tC,KAAK2lC,UAAY,KACjB3lC,KAAKolC,WAAa,KAElBplC,KAAKyuC,WAAWxgC,MAAMjO,KAAKmG,EAAGnG,KAAKkN,IAEd,IAAjBlN,KAAKkuC,SAEL5rB,EAAMwuB,kBAGVxuB,EAAM0gB,iBAAiBtM,QAAQ,mBAAoB12B,MAE/CA,KAAK0uC,oBAEL1uC,KAAK2uC,wBAA0B3uC,KAAKsuC,cAGxCtuC,KAAKsuC,aAAe,KAEbtuC,KAnEH6uB,EAAMgQ,mBA+Ed4N,YAAa,SAAUpuB,GAInB,OAFAA,EAAWA,GAAYre,KAAKgd,KAAKsF,MAAM6e,iBAEf,IAAhBnhC,KAAK6rC,QAAoB7rC,KAAK+rC,SAAW1tB,EAAYre,KAAKgd,KAAKmE,KAAKA,MAYhFurB,aAAc,SAAUruB,GAIpB,OAFAA,EAAWA,GAAYre,KAAKgd,KAAKsF,MAAM8e,iBAE/BphC,KAAK8rC,MAAS9rC,KAAKgsC,OAAS3tB,EAAYre,KAAKgd,KAAKmE,KAAKA,MAqBnE4vB,mBAAoB,SAAU/mC,EAAMypB,EAAUlO,EAAiByrB,GAE3D,GAAKhxC,KAAK6rC,OAAV,CAOA,IAAK,IAFDoF,EAAejxC,KAAK0uC,kBAAoB1uC,KAAK0uC,sBAExC1mC,EAAI,EAAGA,EAAIipC,EAAYlpC,OAAQC,IAEpC,GAAIipC,EAAYjpC,GAAGgC,OAASA,EAC5B,CACIinC,EAAYtrB,OAAO3d,EAAG,GACtB,MAIRipC,EAAY18B,MACRvK,KAAMA,EACNskC,aAActuC,KAAKsuC,aACnB7a,SAAUA,EACVlO,gBAAiBA,EACjByrB,aAAcA,MAUtBtK,wBAAyB,WAErB,IAAIuK,EAAcjxC,KAAK0uC,kBAEvB,GAAKuC,EAAL,CAKA,IAAK,IAAIjpC,EAAI,EAAGA,EAAIipC,EAAYlpC,OAAQC,IACxC,CACI,IAAIkpC,EAAaD,EAAYjpC,GAEzBkpC,EAAW5C,eAAiBtuC,KAAK2uC,yBAEjCuC,EAAWzd,SAAStsB,MAAM+pC,EAAW3rB,gBAAiB2rB,EAAWF,cAIzEhxC,KAAK0uC,kBAAoB,KACzB1uC,KAAK2uC,wBAA0B,OAQnC1sB,MAAO,YAEkB,IAAjBjiB,KAAKkuC,UAELluC,KAAKqnB,QAAS,GAGlBrnB,KAAK2lC,UAAY,KACjB3lC,KAAKolC,WAAa,KAClBplC,KAAKgqB,OAAQ,EACbhqB,KAAKouC,aAAe,EACpBpuC,KAAKotC,WAAY,EACjBptC,KAAKqtC,SAAStlC,OAAS,EACvB/H,KAAKutC,aAAc,EAEnBvtC,KAAKopC,eAEDppC,KAAKsuC,cAELtuC,KAAKsuC,aAAa6C,iBAAiBnxC,MAGvCA,KAAKsuC,aAAe,MAQxB8C,cAAe,WAEXpxC,KAAKguC,UAAY,EACjBhuC,KAAKiuC,UAAY,IAMzB5tC,EAAOojC,QAAQl9B,UAAU8B,YAAchI,EAAOojC,QAW9Ch8B,OAAOmF,eAAevM,EAAOojC,QAAQl9B,UAAW,YAE5CmG,IAAK,WAED,OAAI1M,KAAK8rC,MAEG,EAGL9rC,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAK+rC,YAY1CtkC,OAAOmF,eAAevM,EAAOojC,QAAQl9B,UAAW,UAE5CmG,IAAK,WAED,OAAO1M,KAAKgd,KAAKC,MAAMoC,OAAOlZ,EAAInG,KAAKmG,KAY/CsB,OAAOmF,eAAevM,EAAOojC,QAAQl9B,UAAW,UAE5CmG,IAAK,WAED,OAAO1M,KAAKgd,KAAKC,MAAMoC,OAAOnS,EAAIlN,KAAKkN,KAgB/C7M,EAAOqjC,aASHC,OAAQ,EAMRiJ,QAAS,GAmBbvsC,EAAOyjC,MAAQ,SAAU9mB,GAKrBhd,KAAKgd,KAAOA,EAOZhd,KAAK0gC,SAAU,EAKf1gC,KAAKulB,gBAAkBvlB,KAAKgd,KAK5Bhd,KAAKqxC,mBAAqB,KAK1BrxC,KAAKsxC,kBAAoB,KAKzBtxC,KAAKuxC,iBAAmB,KAKxBvxC,KAAKwxC,mBAAqB,KAK1BxxC,KAAKyxC,mBAAqB,KAK1BzxC,KAAK0xC,oBAAsB,KAM3B1xC,KAAK6+B,gBAAiB,EAMtB7+B,KAAK6uB,MAAQ,KAMb7uB,KAAK2xC,cAAgB,KAMrB3xC,KAAK4xC,aAAe,KAMpB5xC,KAAK6xC,YAAc,KAMnB7xC,KAAK8xC,cAAgB,KAMrB9xC,KAAK+xC,cAAgB,KAMrB/xC,KAAKgyC,eAAiB,KAMtBhyC,KAAK4xC,aAAe,MAIxBvxC,EAAOyjC,MAAMv9B,WAMTwK,MAAO,WAEH,GAA2B,OAAvB/Q,KAAK2xC,cAAT,CAMA,IAAI3oB,EAAQhpB,KAERA,KAAKgd,KAAKsS,OAAOiT,QAEjBviC,KAAK2xC,cAAgB,SAAU9iB,GAC3B,OAAO7F,EAAMipB,aAAapjB,IAG9B7uB,KAAK4xC,aAAe,SAAU/iB,GAC1B,OAAO7F,EAAMkpB,YAAYrjB,IAG7B7uB,KAAK6xC,YAAc,SAAUhjB,GACzB,OAAO7F,EAAMmpB,WAAWtjB,IAG5B7uB,KAAK8xC,cAAgB,SAAUjjB,GAC3B,OAAO7F,EAAMopB,aAAavjB,IAG9B7uB,KAAK+xC,cAAgB,SAAUljB,GAC3B,OAAO7F,EAAMqpB,aAAaxjB,IAG9B7uB,KAAKgyC,eAAiB,SAAUnjB,GAC5B,OAAO7F,EAAMspB,cAAczjB,IAG/B7uB,KAAKgd,KAAK+Q,OAAOkB,iBAAiB,aAAcjvB,KAAK2xC,eAAe,GACpE3xC,KAAKgd,KAAK+Q,OAAOkB,iBAAiB,YAAajvB,KAAK4xC,cAAc,GAClE5xC,KAAKgd,KAAK+Q,OAAOkB,iBAAiB,WAAYjvB,KAAK6xC,aAAa,GAChE7xC,KAAKgd,KAAK+Q,OAAOkB,iBAAiB,cAAejvB,KAAKgyC,gBAAgB,GAEjEhyC,KAAKgd,KAAKsS,OAAOmP,WAElBz+B,KAAKgd,KAAK+Q,OAAOkB,iBAAiB,aAAcjvB,KAAK8xC,eAAe,GACpE9xC,KAAKgd,KAAK+Q,OAAOkB,iBAAiB,aAAcjvB,KAAK+xC,eAAe,KAU5E/xC,KAAKwkC,qBAAuBxkC,KAAKgd,KAAKsF,MAAMkiB,qBAAqBh+B,KAAKxG,KAAKgd,KAAKsF,OAQhFtiB,KAAK0kC,wBAA0B1kC,KAAKgd,KAAKsF,MAAMoiB,wBAAwBl+B,KAAKxG,KAAKgd,KAAKsF,SAQ1FiwB,uBAAwB,WAEpBvyC,KAAKwyC,mBAAqB,SAAU3jB,GAChCA,EAAMgQ,kBAGVrQ,SAASS,iBAAiB,YAAajvB,KAAKwyC,oBAAoB,IASpEP,aAAc,SAAUpjB,GAMpB,GAJA7uB,KAAKgd,KAAKsF,MAAMqiB,2BAA0B,EAAO9V,GAEjD7uB,KAAK6uB,MAAQA,EAER7uB,KAAKgd,KAAKsF,MAAMoe,SAAY1gC,KAAK0gC,QAAtC,CAKI1gC,KAAKqxC,oBAELrxC,KAAKqxC,mBAAmBrqC,KAAKhH,KAAKulB,gBAAiBsJ,GAGnD7uB,KAAK6+B,gBAELhQ,EAAMgQ,iBAMV,IAAK,IAAI72B,EAAI,EAAGA,EAAI6mB,EAAM4jB,eAAe1qC,OAAQC,IAE7ChI,KAAKgd,KAAKsF,MAAM2iB,aAAapW,EAAM4jB,eAAezqC,MAW1DsqC,cAAe,SAAUzjB,GASrB,GAPA7uB,KAAK6uB,MAAQA,EAET7uB,KAAK0xC,qBAEL1xC,KAAK0xC,oBAAoB1qC,KAAKhH,KAAKulB,gBAAiBsJ,GAGnD7uB,KAAKgd,KAAKsF,MAAMoe,SAAY1gC,KAAK0gC,QAAtC,CAKI1gC,KAAK6+B,gBAELhQ,EAAMgQ,iBAKV,IAAK,IAAI72B,EAAI,EAAGA,EAAI6mB,EAAM4jB,eAAe1qC,OAAQC,IAE7ChI,KAAKgd,KAAKsF,MAAMgjB,YAAYzW,EAAM4jB,eAAezqC,MAWzDoqC,aAAc,SAAUvjB,GAEpB7uB,KAAK6uB,MAAQA,EAET7uB,KAAKwxC,oBAELxxC,KAAKwxC,mBAAmBxqC,KAAKhH,KAAKulB,gBAAiBsJ,GAGlD7uB,KAAKgd,KAAKsF,MAAMoe,SAAY1gC,KAAK0gC,SAKlC1gC,KAAK6+B,gBAELhQ,EAAMgQ,kBAWdwT,aAAc,SAAUxjB,GAEpB7uB,KAAK6uB,MAAQA,EAET7uB,KAAKyxC,oBAELzxC,KAAKyxC,mBAAmBzqC,KAAKhH,KAAKulB,gBAAiBsJ,GAGnD7uB,KAAK6+B,gBAELhQ,EAAMgQ,kBAUdqT,YAAa,SAAUrjB,GAEnB7uB,KAAK6uB,MAAQA,EAET7uB,KAAKsxC,mBAELtxC,KAAKsxC,kBAAkBtqC,KAAKhH,KAAKulB,gBAAiBsJ,GAGlD7uB,KAAK6+B,gBAELhQ,EAAMgQ,iBAGV,IAAK,IAAI72B,EAAI,EAAGA,EAAI6mB,EAAM4jB,eAAe1qC,OAAQC,IAE7ChI,KAAKgd,KAAKsF,MAAM6iB,cAActW,EAAM4jB,eAAezqC,KAU3DmqC,WAAY,SAAUtjB,GAElB7uB,KAAKgd,KAAKsF,MAAMqiB,2BAA0B,EAAM9V,GAEhD7uB,KAAK6uB,MAAQA,EAET7uB,KAAKuxC,kBAELvxC,KAAKuxC,iBAAiBvqC,KAAKhH,KAAKulB,gBAAiBsJ,GAGjD7uB,KAAK6+B,gBAELhQ,EAAMgQ,iBAMV,IAAK,IAAI72B,EAAI,EAAGA,EAAI6mB,EAAM4jB,eAAe1qC,OAAQC,IAE7ChI,KAAKgd,KAAKsF,MAAMgjB,YAAYzW,EAAM4jB,eAAezqC,KASzD43B,KAAM,WAEE5/B,KAAKgd,KAAKsS,OAAOiT,QAEjBviC,KAAKgd,KAAK+Q,OAAOoC,oBAAoB,aAAcnwB,KAAK2xC,eACxD3xC,KAAKgd,KAAK+Q,OAAOoC,oBAAoB,YAAanwB,KAAK4xC,cACvD5xC,KAAKgd,KAAK+Q,OAAOoC,oBAAoB,WAAYnwB,KAAK6xC,aACtD7xC,KAAKgd,KAAK+Q,OAAOoC,oBAAoB,aAAcnwB,KAAK8xC,eACxD9xC,KAAKgd,KAAK+Q,OAAOoC,oBAAoB,aAAcnwB,KAAK+xC,eACxD/xC,KAAKgd,KAAK+Q,OAAOoC,oBAAoB,cAAenwB,KAAKgyC,mBAOrE3xC,EAAOyjC,MAAMv9B,UAAU8B,YAAchI,EAAOyjC,MAe5CzjC,EAAOqyC,aAAe,SAAUnY,GAK5Bv6B,KAAKu6B,OAASA,EAKdv6B,KAAKgd,KAAOud,EAAOvd,KAMnBhd,KAAK0gC,SAAU,EAMf1gC,KAAKowC,SAAU,EASfpwC,KAAKwwC,WAAa,EAMlBxwC,KAAK2yC,eAAgB,EAMrB3yC,KAAK4yC,gBAAiB,EAMtB5yC,KAAK8vC,WAAY,EAMjB9vC,KAAK6yC,qBAAsB,EAM3B7yC,KAAK8yC,mBAAoB,EAMzB9yC,KAAKu0B,YAAa,EAMlBv0B,KAAK+yC,WAAa,KAMlB/yC,KAAKgzC,YAAa,EAMlBhzC,KAAKizC,eAAgB,EAMrBjzC,KAAKkzC,MAAQ,EAMblzC,KAAKmzC,MAAQ,EAMbnzC,KAAKozC,YAAc,EAMnBpzC,KAAKqzC,YAAc,EAUnBrzC,KAAKszC,kBAAmB,EAUxBtzC,KAAKuzC,mBAAoB,EAMzBvzC,KAAKwzC,kBAAoB,IAMzBxzC,KAAKyzC,WAAY,EAMjBzzC,KAAK0zC,WAAa,KAMlB1zC,KAAK2zC,aAAe,KAKpB3zC,KAAK4zC,YAAa,EAKlB5zC,KAAK6zC,WAAa,IAAIxzC,EAAOoN,MAK7BzN,KAAK8zC,gBAAiB,EAKtB9zC,KAAK+zC,uBAAwB,EAK7B/zC,KAAKg0C,eAAiB,IAAI3zC,EAAOoN,MAKjCzN,KAAKi0C,sBAAwB,EAK7Bj0C,KAAKk0C,kBAAoB,EAKzBl0C,KAAKm0C,UAAY,IAAI9zC,EAAOoN,MAK5BzN,KAAKo0C,UAAY,IAAI/zC,EAAOoN,MAM5BzN,KAAKq0C,WAAa,IAAIh0C,EAAOoN,MAM7BzN,KAAKs0C,YAAa,EAMlBt0C,KAAKu0C,cAAe,EAMpBv0C,KAAKw0C,eAAgB,EAMrBx0C,KAAKy0C,mBAAoB,EAMzBz0C,KAAK00C,aAAc,EAMnB10C,KAAK20C,WAAa,IAAIt0C,EAAOoN,MAM7BzN,KAAK40C,gBAEL50C,KAAK40C,aAAargC,MACduC,GAAI,EACJ3Q,EAAG,EACH+G,EAAG,EACH2nC,KAAM,EACNC,KAAM,EACNjJ,QAAQ,EACRC,MAAM,EACNiJ,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACTnJ,SAAU,EACVC,OAAQ,EACRmJ,aAAc,EACdrF,WAAW,KAKnBzvC,EAAOqyC,aAAansC,WAUhBwK,MAAO,SAAU8W,EAAU8qB,GAMvB,GAJA9qB,EAAWA,GAAY,OACDtd,IAAlBooC,IAA+BA,GAAgB,IAG9B,IAAjB3yC,KAAK0gC,QACT,CAEI1gC,KAAKgd,KAAKsF,MAAM0gB,iBAAiBzvB,IAAIvT,MACrCA,KAAK2yC,cAAgBA,EACrB3yC,KAAKwwC,WAAa3oB,EAElB,IAAK,IAAI7f,EAAI,EAAGA,EAAI,GAAIA,IAEpBhI,KAAK40C,aAAa5sC,IACd8O,GAAI9O,EACJ7B,EAAG,EACH+G,EAAG,EACH2+B,QAAQ,EACRC,MAAM,EACNiJ,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACTnJ,SAAU,EACVC,OAAQ,EACRmJ,aAAc,EACdrF,WAAW,GAInB9vC,KAAK+yC,WAAa,IAAI1yC,EAAOoN,MAC7BzN,KAAK0gC,SAAU,EACf1gC,KAAK00C,aAAc,EAOvB,OAHA10C,KAAKu6B,OAAOzH,OAAOsiB,eAAe7hC,IAAIvT,KAAKq1C,aAAcr1C,MACzDA,KAAKu6B,OAAOzH,OAAOwiB,mBAAmB/hC,IAAIvT,KAAKu1C,iBAAkBv1C,MAE1DA,KAAKu6B,QAUhB8a,aAAc,WAENr1C,KAAKs0C,YAKLt0C,KAAK00C,cAAgB10C,KAAK0gC,SAE1B1gC,KAAK+Q,SAWbwkC,iBAAkB,WAEVv1C,KAAKs0C,aAKLt0C,KAAK0gC,SAEL1gC,KAAK00C,aAAc,EACnB10C,KAAK4/B,QAIL5/B,KAAK00C,aAAc,IAS3BzyB,MAAO,WAEHjiB,KAAK0gC,SAAU,EAEf,IAAK,IAAI14B,EAAI,EAAGA,EAAI,GAAIA,IAEpBhI,KAAK40C,aAAa5sC,IACd8O,GAAI9O,EACJ7B,EAAG,EACH+G,EAAG,EACH2+B,QAAQ,EACRC,MAAM,EACNiJ,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACTnJ,SAAU,EACVC,OAAQ,EACRmJ,aAAc,EACdrF,WAAW,IASvBlQ,KAAM,YAGmB,IAAjB5/B,KAAK0gC,UAOL1gC,KAAK0gC,SAAU,EACf1gC,KAAKgd,KAAKsF,MAAM0gB,iBAAiB1d,OAAOtlB,QAShDsmB,QAAS,WAEDtmB,KAAKu6B,SAEDv6B,KAAK4yC,iBAEL5yC,KAAKgd,KAAK+Q,OAAOpO,MAAMsR,OAAS,GAChCjxB,KAAK4yC,gBAAiB,GAG1B5yC,KAAK0gC,SAAU,EAEf1gC,KAAKgd,KAAKsF,MAAM0gB,iBAAiB1d,OAAOtlB,MAExCA,KAAK40C,aAAa7sC,OAAS,EAC3B/H,KAAK0zC,WAAa,KAClB1zC,KAAK2zC,aAAe,KACpB3zC,KAAKu6B,OAAS,OAgBtB8V,cAAe,SAAUmF,EAAWC,EAAiBC,GAIjD,YAF4BnrC,IAAxBmrC,IAAqCA,GAAsB,MAE1D11C,KAAK0gC,SACkB,IAAxB1gC,KAAKu6B,OAAOvjB,MAAM7Q,GACM,IAAxBnG,KAAKu6B,OAAOvjB,MAAM9J,GAClBlN,KAAKwwC,WAAaxwC,KAAKgd,KAAKsF,MAAMygB,eACjC/iC,KAAKu6B,OAAOtO,QAAUjsB,KAAKu6B,OAAOtO,OAAO0pB,uBAMzCD,IAAwB11C,KAAKuzC,mBAAqBvzC,KAAKszC,qBAKxDtzC,KAAKwwC,WAAagF,GAAcx1C,KAAKwwC,aAAegF,GAAax1C,KAAKu6B,OAAOzD,cAAgB2e,KAerGG,eAAgB,WAEZ,OAAQ51C,KAAKuzC,mBAAqBvzC,KAAKszC,kBAY3CuC,SAAU,SAAUlQ,GAIhB,OAFAA,EAAYA,GAAa,EAElB3lC,KAAK40C,aAAajP,GAAWx/B,GAYxC2vC,SAAU,SAAUnQ,GAIhB,OAFAA,EAAYA,GAAa,EAElB3lC,KAAK40C,aAAajP,GAAWz4B,GAYxC6oC,YAAa,SAAUpQ,GAInB,OAFAA,EAAYA,GAAa,EAElB3lC,KAAK40C,aAAajP,GAAWkG,QAYxCmK,UAAW,SAAUrQ,GAIjB,OAFAA,EAAYA,GAAa,EAElB3lC,KAAK40C,aAAajP,GAAWmG,MAWxCmK,gBAAiB,SAAUtQ,GAIvB,OAFAA,EAAYA,GAAa,EAElB3lC,KAAK40C,aAAajP,GAAWoG,UAWxCmK,cAAe,SAAUvQ,GAIrB,OAFAA,EAAYA,GAAa,EAElB3lC,KAAK40C,aAAajP,GAAWqG,QAWxCmK,YAAa,SAAUxQ,GAEnB,IAAK3lC,KAAK0gC,QAEN,OAAO,EAGX,QAAkBn2B,IAAdo7B,EACJ,CACI,IAAK,IAAI39B,EAAI,EAAGA,EAAI,GAAIA,IAEpB,GAAIhI,KAAK40C,aAAa5sC,GAAG+sC,OAErB,OAAO,EAIf,OAAO,EAIP,OAAO/0C,KAAK40C,aAAajP,GAAWoP,QAY5CqB,WAAY,SAAUzQ,GAElB,IAAK3lC,KAAK0gC,QAEN,OAAO,EAGX,QAAkBn2B,IAAdo7B,EAYA,OAAO3lC,KAAK40C,aAAajP,GAAWqP,MAVpC,IAAK,IAAIhtC,EAAI,EAAGA,EAAI,GAAIA,IAEpB,GAAIhI,KAAK40C,aAAa5sC,GAAGgtC,MAErB,OAAO,GAkBvBqB,gBAAiB,SAAU1Q,GAIvB,OAFAA,EAAYA,GAAa,EAElB3lC,KAAK40C,aAAajP,GAAWsP,UAWxCqB,eAAgB,SAAU3Q,GAItB,OAFAA,EAAYA,GAAa,EAElB3lC,KAAK40C,aAAajP,GAAWuP,SAWxCqB,eAAgB,SAAU5Q,GAItB,OAFAA,EAAYA,GAAa,EAElB3lC,KAAK40C,aAAajP,GAAWmK,WAaxCQ,iBAAkB,SAAUjlB,EAASmrB,GAEjC,SAAKnrB,EAAQwgB,QACR7rC,KAAK0gC,SACL1gC,KAAKu6B,QACLv6B,KAAKu6B,OAAOtO,QACZjsB,KAAKu6B,OAAOld,SACZrd,KAAKu6B,OAAOtO,OAAO5O,SACS,IAA7Brd,KAAKu6B,OAAOkc,WAAWtwC,GACM,IAA7BnG,KAAKu6B,OAAOkc,WAAWvpC,OAMvBlN,KAAKgd,KAAKsF,MAAMwjB,QAAQ9lC,KAAKu6B,OAAQlP,EAASrrB,KAAK20C,mBAElCpqC,IAAbisC,IAEAA,GAAW,MAGVA,GAAYx2C,KAAKuzC,oBAEXvzC,KAAK02C,WAAW12C,KAAK20C,WAAWxuC,EAAGnG,KAAK20C,WAAWznC,MAqBtEqjC,iBAAkB,SAAUllB,EAASmrB,GAEjC,SAAKx2C,KAAK0gC,SACL1gC,KAAKu6B,QACLv6B,KAAKu6B,OAAOtO,QACZjsB,KAAKu6B,OAAOld,SACZrd,KAAKu6B,OAAOtO,OAAO5O,SACS,IAA7Brd,KAAKu6B,OAAOkc,WAAWtwC,GACM,IAA7BnG,KAAKu6B,OAAOkc,WAAWvpC,OAMvBlN,KAAKgd,KAAKsF,MAAMwjB,QAAQ9lC,KAAKu6B,OAAQlP,EAASrrB,KAAK20C,mBAElCpqC,IAAbisC,IAEAA,GAAW,MAGVA,GAAYx2C,KAAKszC,mBAEXtzC,KAAK02C,WAAW12C,KAAK20C,WAAWxuC,EAAGnG,KAAK20C,WAAWznC,MAsBtEwpC,WAAY,SAAUvwC,EAAG+G,EAAGme,GAGxB,GAAIrrB,KAAKu6B,OAAO6L,QAAQC,YAAYl4B,OACpC,CACI,GAAU,OAANhI,GAAoB,OAAN+G,EAClB,CAEIlN,KAAKgd,KAAKsF,MAAMsjB,iBAAiB5lC,KAAKu6B,OAAQlP,EAASrrB,KAAK20C,YAE5D,IAAIxuC,EAAInG,KAAK20C,WAAWxuC,EACpB+G,EAAIlN,KAAK20C,WAAWznC,EAgB5B,GAb6B,IAAzBlN,KAAKu6B,OAAO1O,OAAO1lB,IAEnBA,IAAMnG,KAAKu6B,OAAO6L,QAAQ9S,MAAMzhB,MAAQ7R,KAAKu6B,OAAO1O,OAAO1lB,GAGlC,IAAzBnG,KAAKu6B,OAAO1O,OAAO3e,IAEnBA,IAAMlN,KAAKu6B,OAAO6L,QAAQ9S,MAAMxhB,OAAS9R,KAAKu6B,OAAO1O,OAAO3e,GAGhE/G,GAAKnG,KAAKu6B,OAAO6L,QAAQ9S,MAAMntB,EAC/B+G,GAAKlN,KAAKu6B,OAAO6L,QAAQ9S,MAAMpmB,EAE3BlN,KAAKu6B,OAAO6L,QAAQuQ,OAEpBxwC,GAAKnG,KAAKu6B,OAAO6L,QAAQuQ,KAAKxwC,EAC9B+G,GAAKlN,KAAKu6B,OAAO6L,QAAQuQ,KAAKzpC,EAG1B/G,EAAInG,KAAKu6B,OAAO6L,QAAQwQ,KAAKzwC,GAAKA,EAAInG,KAAKu6B,OAAO6L,QAAQwQ,KAAKnrC,OAASyB,EAAIlN,KAAKu6B,OAAO6L,QAAQwQ,KAAK1pC,GAAKA,EAAIlN,KAAKu6B,OAAO6L,QAAQwQ,KAAKlnC,QAIvI,OAFA1P,KAAK62C,IAAM1wC,EACXnG,KAAK82C,IAAM5pC,GACJ,EAYf,GARAlN,KAAK62C,IAAM1wC,EACXnG,KAAK82C,IAAM5pC,EAEXlN,KAAKgd,KAAKsF,MAAM+d,WAAW0W,UAAU,EAAG,EAAG,EAAG,GAC9C/2C,KAAKgd,KAAKsF,MAAM+d,WAAW2W,UAAUh3C,KAAKu6B,OAAO6L,QAAQC,YAAYl4B,OAAQhI,EAAG+G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAExFlN,KAAKgd,KAAKsF,MAAM+d,WAAW4W,aAAa,EAAG,EAAG,EAAG,GAEnD1Q,KAAK,IAAMvmC,KAAKwzC,kBAEpB,OAAO,EAIf,OAAO,GAaXzyB,OAAQ,SAAUsK,GAEd,GAAoB,OAAhBrrB,KAAKu6B,aAA0ChwB,IAAvBvK,KAAKu6B,OAAOtO,OAMxC,OAAKjsB,KAAK0gC,SAAY1gC,KAAKu6B,OAAOld,SAAYrd,KAAKu6B,OAAOtO,OAAO5O,QAM7Drd,KAAKu0C,cAEAv0C,KAAKy0C,oBAENz0C,KAAKy0C,kBAAqBp0C,EAAO4F,KAAKqI,SAAS+c,EAAQllB,EAAGklB,EAAQne,EAAGlN,KAAKm0C,UAAUhuC,EAAGnG,KAAKm0C,UAAUjnC,IAAMlN,KAAKi0C,uBAGjHj0C,KAAKy0C,mBAAqBz0C,KAAKw0C,eAE/Bx0C,KAAKk3C,UAAU7rB,IAGZ,GAEFrrB,KAAKyzC,WAAazzC,KAAKm3C,oBAAsB9rB,EAAQvU,GAEnD9W,KAAKo3C,WAAW/rB,GAAS,GAE3BrrB,KAAK40C,aAAavpB,EAAQvU,IAAIi+B,OAE/B/0C,KAAKuwC,iBAAiBllB,IAEtBrrB,KAAK40C,aAAavpB,EAAQvU,IAAI3Q,EAAIklB,EAAQllB,EAAInG,KAAKu6B,OAAOp0B,EAC1DnG,KAAK40C,aAAavpB,EAAQvU,IAAI5J,EAAIme,EAAQne,EAAIlN,KAAKu6B,OAAOrtB,GACnD,IAIPlN,KAAK2wC,mBAAmBtlB,IACjB,QAXV,GAtBDrrB,KAAK2wC,mBAAmBtlB,IACjB,IA6CfulB,oBAAqB,SAAUvlB,EAASiH,GAEpC,GAAoB,OAAhBtyB,KAAKu6B,OAAT,CAMA,IAAIgM,EAAOvmC,KAAK40C,aAAavpB,EAAQvU,IAErC,IAAoB,IAAhByvB,EAAKwO,QAAoB1pB,EAAQrB,MACrC,CACI,IAAIqtB,GAA6B,IAAhB9Q,EAAKwO,OAEtBxO,EAAKwO,QAAS,EACdxO,EAAKyO,OAAQ,EACbzO,EAAK0O,SAAWj1C,KAAKgd,KAAKmE,KAAKA,KAC/BolB,EAAKpgC,EAAIklB,EAAQllB,EAAInG,KAAKu6B,OAAOp0B,EACjCogC,EAAKr5B,EAAIme,EAAQne,EAAIlN,KAAKu6B,OAAOrtB,EAE7BlN,KAAK2yC,gBAAoC,IAAnBpM,EAAKuJ,YAE3B9vC,KAAKgd,KAAK+Q,OAAOpO,MAAMsR,OAAS,UAChCjxB,KAAK4yC,gBAAiB,IAGrBtgB,GAAU+kB,GAAar3C,KAAKu6B,QAAUv6B,KAAKu6B,OAAOzH,QAEnD9yB,KAAKu6B,OAAOzH,OAAOwkB,qBAAqBt3C,KAAKu6B,OAAQlP,GAGrDrrB,KAAKu6B,OAAOtO,QAAUjsB,KAAKu6B,OAAOtO,OAAOqF,kBAEzCtxB,KAAKu6B,OAAOtO,OAAOqF,iBAAiBjQ,SAASrhB,KAAKu6B,OAAQlP,MActEslB,mBAAoB,SAAUtlB,EAASiH,GAEnC,GAAoB,OAAhBtyB,KAAKu6B,OAAT,CAMA,IAAIgM,EAAOvmC,KAAK40C,aAAavpB,EAAQvU,IAErCyvB,EAAKwO,QAAS,EACdxO,EAAKyO,OAAQ,EACbzO,EAAK2O,QAAUl1C,KAAKgd,KAAKmE,KAAKA,KAE1BnhB,KAAK2yC,gBAAoC,IAAnBpM,EAAKuJ,YAE3B9vC,KAAKgd,KAAK+Q,OAAOpO,MAAMsR,OAAS,GAChCjxB,KAAK4yC,gBAAiB,IAGrBtgB,GAAUtyB,KAAKu6B,QAAUv6B,KAAKu6B,OAAOzH,SAEtC9yB,KAAKu6B,OAAOzH,OAAOykB,oBAAoBv3C,KAAKu6B,OAAQlP,GAEhDrrB,KAAKu6B,QAAUv6B,KAAKu6B,OAAOtO,QAAUjsB,KAAKu6B,OAAOtO,OAAOsF,iBAExDvxB,KAAKu6B,OAAOtO,OAAOsF,gBAAgBlQ,SAASrhB,KAAKu6B,OAAQlP,MAarE+jB,gBAAiB,SAAU/jB,GAEvB,GAAoB,OAAhBrrB,KAAKu6B,OAAT,CAMA,IAAIgM,EAAOvmC,KAAK40C,aAAavpB,EAAQvU,IAErC,IAAKyvB,EAAKsF,QAAUtF,EAAKwO,OACzB,CACI,GAAI/0C,KAAKuzC,oBAAsBvzC,KAAK02C,WAAW,KAAM,KAAMrrB,GAEvD,OAYJ,GATAkb,EAAKsF,QAAS,EACdtF,EAAKuF,MAAO,EACZvF,EAAKwF,SAAW/rC,KAAKgd,KAAKmE,KAAKA,KAE/BnhB,KAAKm0C,UAAUxnC,IAAI0e,EAAQllB,EAAGklB,EAAQne,GAGtCme,EAAQrB,OAAQ,EAEZhqB,KAAKu6B,QAAUv6B,KAAKu6B,OAAOzH,SAE3B9yB,KAAKu6B,OAAOzH,OAAO0kB,qBAAqBx3C,KAAKu6B,OAAQlP,GAGjDrrB,KAAKu6B,QAAUv6B,KAAKu6B,OAAOtO,QAAUjsB,KAAKu6B,OAAOtO,OAAOmF,kBAExDpxB,KAAKu6B,OAAOtO,OAAOmF,iBAAiB/P,SAASrhB,KAAKu6B,OAAQlP,GAI1C,OAAhBrrB,KAAKu6B,QAEL,OAKJv6B,KAAKyzC,YAAgC,IAAnBzzC,KAAK8vC,YAEQ,IAA3B9vC,KAAKk0C,mBAA0D,IAA/Bl0C,KAAKi0C,sBAErCj0C,KAAKk3C,UAAU7rB,IAIfrrB,KAAKu0C,cAAe,EAEpBv0C,KAAKy0C,kBAAoD,IAA/Bz0C,KAAKi0C,sBAE3Bj0C,KAAKk0C,kBAAoB,GAEzBl0C,KAAKw0C,eAAgB,EACrBx0C,KAAKgd,KAAKmE,KAAK2R,OAAOvf,IAAIvT,KAAKk0C,kBAAmBl0C,KAAKy3C,gBAAiBz3C,KAAMqrB,IAI9ErrB,KAAKw0C,eAAgB,IAK7Bx0C,KAAKu0B,YAELv0B,KAAKu6B,OAAOhG,gBAaxBkjB,gBAAiB,SAAUpsB,GAEvBrrB,KAAKw0C,eAAgB,EAEjBx0C,KAAKu0C,cAAgBv0C,KAAKu6B,QAEtBv6B,KAAKy0C,mBAELz0C,KAAKk3C,UAAU7rB,IAY3B8lB,iBAAkB,SAAU9lB,GAExB,GAAoB,OAAhBrrB,KAAKu6B,OAAT,CAMA,IAAIgM,EAAOvmC,KAAK40C,aAAavpB,EAAQvU,IAGrC,GAAIyvB,EAAKsF,QAAUxgB,EAAQygB,KAC3B,CACIvF,EAAKsF,QAAS,EACdtF,EAAKuF,MAAO,EACZvF,EAAKyF,OAAShsC,KAAKgd,KAAKmE,KAAKA,KAC7BolB,EAAK4O,aAAe5O,EAAKyF,OAASzF,EAAKwF,SAGvC,IAAIgJ,EAAS/0C,KAAKuwC,iBAAiBllB,GAE/BrrB,KAAKu6B,QAAUv6B,KAAKu6B,OAAOzH,SAEtB9yB,KAAK+zC,yBACN/zC,KAAK+zC,uBAA2B/zC,KAAKyzC,WAAazzC,KAAK8vC,WAAa9vC,KAAKm3C,oBAAsB9rB,EAAQvU,KAEvG9W,KAAKu6B,OAAOzH,OAAO4kB,mBAAmB13C,KAAKu6B,OAAQlP,EAAS0pB,GAG5D/0C,KAAKu6B,QAAUv6B,KAAKu6B,OAAOtO,QAAUjsB,KAAKu6B,OAAOtO,OAAOoF,gBAExDrxB,KAAKu6B,OAAOtO,OAAOoF,eAAehQ,SAASrhB,KAAKu6B,OAAQlP,EAAS0pB,GAIjEA,IAEAA,EAAS/0C,KAAKuwC,iBAAiBllB,KAIvCkb,EAAKwO,OAASA,GAETA,GAAU/0C,KAAK2yC,gBAEhB3yC,KAAKgd,KAAK+Q,OAAOpO,MAAMsR,OAAS,UAChCjxB,KAAK4yC,gBAAiB,GAI1BvnB,EAAQrB,OAAQ,EAEhBhqB,KAAKu0C,cAAe,EAGhBv0C,KAAKyzC,WAAazzC,KAAK8vC,WAAa9vC,KAAKm3C,oBAAsB9rB,EAAQvU,IAEvE9W,KAAK23C,SAAStsB,MAe1B+rB,WAAY,SAAU/rB,EAASusB,GAI3B,QAFkBrtC,IAAdqtC,IAA2BA,GAAY,GAEvCvsB,EAAQygB,KAGR,OADA9rC,KAAK23C,SAAStsB,IACP,EAGjB,IAAIwsB,EAAoB73C,KAAK83C,cAAczsB,GACjCrgB,EAAK6sC,EAAkB1xC,EAAInG,KAAKq0C,WAAWluC,EAAInG,KAAK6zC,WAAW1tC,EAC/D4xC,EAAKF,EAAkB3qC,EAAIlN,KAAKq0C,WAAWnnC,EAAIlN,KAAK6zC,WAAW3mC,EAEnE,GAAIlN,KAAKu6B,OAAO3I,cAER5xB,KAAK6yC,sBAEL7yC,KAAKu6B,OAAO1I,aAAa1rB,EAAI6E,EAAKhL,KAAKgd,KAAKqC,OAAOlZ,GAGnDnG,KAAK8yC,oBAEL9yC,KAAKu6B,OAAO1I,aAAa3kB,EAAI6qC,EAAK/3C,KAAKgd,KAAKqC,OAAOnS,GAGnDlN,KAAK0zC,YAEL1zC,KAAKg4C,kBAGLh4C,KAAK2zC,cAEL3zC,KAAKi4C,oBAGLj4C,KAAKgzC,aAELhzC,KAAKu6B,OAAO1I,aAAa1rB,EAAIF,KAAKsI,OAAOvO,KAAKu6B,OAAO1I,aAAa1rB,EAAKnG,KAAKozC,YAAcpzC,KAAKkzC,OAAUlzC,KAAKkzC,OAASlzC,KAAKkzC,MAASlzC,KAAKozC,YAAcpzC,KAAKkzC,MAC7JlzC,KAAKu6B,OAAO1I,aAAa3kB,EAAIjH,KAAKsI,OAAOvO,KAAKu6B,OAAO1I,aAAa3kB,EAAKlN,KAAKqzC,YAAcrzC,KAAKmzC,OAAUnzC,KAAKmzC,OAASnzC,KAAKmzC,MAASnzC,KAAKqzC,YAAcrzC,KAAKmzC,MAC7JnzC,KAAKo0C,UAAUznC,IAAI3M,KAAKu6B,OAAO1I,aAAa1rB,EAAGnG,KAAKu6B,OAAO1I,aAAa3kB,QAIhF,CACI,IAAI+C,EAAKjQ,KAAKgd,KAAKqC,OAAOlZ,EAAInG,KAAK40C,aAAavpB,EAAQvU,IAAI+9B,KACxDzkC,EAAKpQ,KAAKgd,KAAKqC,OAAOnS,EAAIlN,KAAK40C,aAAavpB,EAAQvU,IAAIg+B,KAExD90C,KAAK6yC,sBAEL7yC,KAAKu6B,OAAOp0B,EAAI6E,EAAKiF,GAGrBjQ,KAAK8yC,oBAEL9yC,KAAKu6B,OAAOrtB,EAAI6qC,EAAK3nC,GAGrBpQ,KAAK0zC,YAEL1zC,KAAKg4C,kBAGLh4C,KAAK2zC,cAEL3zC,KAAKi4C,oBAGLj4C,KAAKgzC,aAELhzC,KAAKu6B,OAAOp0B,EAAIF,KAAKsI,OAAOvO,KAAKu6B,OAAOp0B,EAAKnG,KAAKozC,YAAcpzC,KAAKkzC,OAAUlzC,KAAKkzC,OAASlzC,KAAKkzC,MAASlzC,KAAKozC,YAAcpzC,KAAKkzC,MACnIlzC,KAAKu6B,OAAOrtB,EAAIjH,KAAKsI,OAAOvO,KAAKu6B,OAAOrtB,EAAKlN,KAAKqzC,YAAcrzC,KAAKmzC,OAAUnzC,KAAKmzC,OAASnzC,KAAKmzC,MAASnzC,KAAKqzC,YAAcrzC,KAAKmzC,MACnInzC,KAAKo0C,UAAUznC,IAAI3M,KAAKu6B,OAAOp0B,EAAGnG,KAAKu6B,OAAOrtB,IAMtD,OAFAlN,KAAKu6B,OAAOzH,OAAOolB,aAAa72B,SAASrhB,KAAKu6B,OAAQlP,EAASrgB,EAAI+sC,EAAI/3C,KAAKo0C,UAAWwD,IAEhF,GAYXO,SAAU,SAAUxS,EAAWyS,GAK3B,OAHAzS,EAAYA,GAAa,EACzByS,EAAQA,GAAS,IAETp4C,KAAK40C,aAAajP,GAAWoP,QAAU/0C,KAAKq4C,aAAa1S,GAAayS,GAYlFE,QAAS,SAAU3S,EAAWyS,GAK1B,OAHAzS,EAAYA,GAAa,EACzByS,EAAQA,GAAS,IAETp4C,KAAK40C,aAAajP,GAAWqP,OAAUh1C,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAK40C,aAAajP,GAAWuP,QAAUkD,GAYhH3L,YAAa,SAAU9G,EAAWyS,GAK9B,OAHAzS,EAAYA,GAAa,EACzByS,EAAQA,GAAS,IAETp4C,KAAK40C,aAAajP,GAAWkG,QAAU7rC,KAAKm1C,aAAaxP,GAAayS,GAYlF1L,aAAc,SAAU/G,EAAWyS,GAK/B,OAHAzS,EAAYA,GAAa,EACzByS,EAAQA,GAAS,IAETp4C,KAAK40C,aAAajP,GAAWmG,MAAS9rC,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAK40C,aAAajP,GAAWqG,OAASoM,GAW9GC,aAAc,SAAU1S,GAIpB,OAFAA,EAAYA,GAAa,EAErB3lC,KAAK40C,aAAajP,GAAWoP,OAEtB/0C,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAK40C,aAAajP,GAAWsP,UAGtD,GAWZE,aAAc,SAAUxP,GAIpB,OAFAA,EAAYA,GAAa,EAErB3lC,KAAK40C,aAAajP,GAAWkG,OAEtB7rC,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAK40C,aAAajP,GAAWoG,UAGtD,GAgCZwM,WAAY,SAAUC,EAAYjkB,EAAYkkB,EAAcC,EAAgBhF,EAAYC,QAEjEppC,IAAfiuC,IAA4BA,GAAa,QAC1BjuC,IAAfgqB,IAA4BA,GAAa,QACxBhqB,IAAjBkuC,IAA8BA,GAAe,QAC1BluC,IAAnBmuC,IAAgCA,EAAiB,UAClCnuC,IAAfmpC,IAA4BA,EAAa,WACxBnpC,IAAjBopC,IAA8BA,EAAe,MAEjD3zC,KAAKq0C,WAAa,IAAIh0C,EAAOoN,MAC7BzN,KAAKyzC,WAAY,EACjBzzC,KAAKu0B,WAAaA,EAClBv0B,KAAK6zC,WAAa,IAAIxzC,EAAOoN,MAC7BzN,KAAK8zC,eAAiB0E,EAEtBx4C,KAAKuzC,kBAAoBkF,EACzBz4C,KAAKwzC,kBAAoBkF,EAErBhF,IAEA1zC,KAAK0zC,WAAaA,GAGlBC,IAEA3zC,KAAK2zC,aAAeA,IAW5BgF,YAAa,WAET,GAAI34C,KAAK40C,aAEL,IAAK,IAAI5sC,EAAI,EAAGA,EAAI,GAAIA,IAEpBhI,KAAK40C,aAAa5sC,GAAG8nC,WAAY,EAIzC9vC,KAAKyzC,WAAY,EACjBzzC,KAAK8vC,WAAY,EACjB9vC,KAAKm3C,mBAAqB,EAC1Bn3C,KAAKu0C,cAAe,GAUxB2C,UAAW,SAAU7rB,GAEjB,IAAIllB,EAAInG,KAAKu6B,OAAOp0B,EAChB+G,EAAIlN,KAAKu6B,OAAOrtB,EACtB2qC,EAAoB73C,KAAK83C,cAAczsB,GAUrC,GARArrB,KAAK8vC,WAAY,EACjB9vC,KAAKm3C,kBAAoB9rB,EAAQvU,GAEjC9W,KAAK40C,aAAavpB,EAAQvU,IAAI+9B,KAAO70C,KAAKgd,KAAKqC,OAAOlZ,EACtDnG,KAAK40C,aAAavpB,EAAQvU,IAAIg+B,KAAO90C,KAAKgd,KAAKqC,OAAOnS,EAEtDlN,KAAK40C,aAAavpB,EAAQvU,IAAIg5B,WAAY,EAEtC9vC,KAAKu6B,OAAO3I,cAChB,CACI,GAAI5xB,KAAK8zC,eACT,CACI,IAAI32B,EAASnd,KAAKu6B,OAAOxsB,YACjC6qC,EAAyB54C,KAAK83C,cAAc,IAAIz3C,EAAOoN,MAAM0P,EAAO1K,QAAS0K,EAAOzK,UAE5E1S,KAAKu6B,OAAO1I,aAAa1rB,EAAI0xC,EAAkB1xC,GAAKnG,KAAKu6B,OAAO1I,aAAa1rB,EAAIyyC,EAAuBzyC,GACxGnG,KAAKu6B,OAAO1I,aAAa3kB,EAAI2qC,EAAkB3qC,GAAKlN,KAAKu6B,OAAO1I,aAAa3kB,EAAI0rC,EAAuB1rC,GAG5GlN,KAAKq0C,WAAWpmC,MAAMjO,KAAKu6B,OAAO1I,aAAa1rB,EAAIklB,EAAQllB,EAAGnG,KAAKu6B,OAAO1I,aAAa3kB,EAAIme,EAAQne,OAGvG,CACI,GAAIlN,KAAK8zC,eACT,CACI,IAAI32B,EAASnd,KAAKu6B,OAAOxsB,YACjC6qC,EAAyB54C,KAAK83C,cAAc,IAAIz3C,EAAOoN,MAAM0P,EAAO1K,QAAS0K,EAAOzK,UAE5E1S,KAAKu6B,OAAOp0B,EAAI0xC,EAAkB1xC,GAAKnG,KAAKu6B,OAAOp0B,EAAIyyC,EAAuBzyC,GAC9EnG,KAAKu6B,OAAOrtB,EAAI2qC,EAAkB3qC,GAAKlN,KAAKu6B,OAAOrtB,EAAI0rC,EAAuB1rC,GAGlFlN,KAAKq0C,WAAWpmC,MAAMjO,KAAKu6B,OAAOp0B,EAAI0xC,EAAkB1xC,EAAGnG,KAAKu6B,OAAOrtB,EAAI2qC,EAAkB3qC,GAGjGlN,KAAKo3C,WAAW/rB,GAAS,GAErBrrB,KAAKu0B,aAELv0B,KAAKs0C,YAAa,EAClBt0C,KAAKu6B,OAAOhG,cAGhBv0B,KAAKg0C,eAAernC,IAAIxG,EAAG+G,GAE3BlN,KAAKu6B,OAAOzH,OAAO+lB,qBAAqB74C,KAAKu6B,OAAQlP,EAASllB,EAAG+G,GAEjElN,KAAKu0C,cAAe,GAUxBuE,eAAgB,SAAU3yC,GAQtB,OANInG,KAAK4zC,aAELztC,GAAKnG,KAAKgd,KAAKhG,MAAM+hC,KAAKC,YAAY7yC,EACtCA,GAAKnG,KAAKgd,KAAKhG,MAAM+hC,KAAKE,mBAAmB9yC,GAG1CA,GAUX+yC,eAAgB,SAAUhsC,GAQtB,OANIlN,KAAK4zC,aAEL1mC,GAAKlN,KAAKgd,KAAKhG,MAAM+hC,KAAKC,YAAY9rC,EACtCA,GAAKlN,KAAKgd,KAAKhG,MAAM+hC,KAAKE,mBAAmB/rC,GAG1CA,GAWX4qC,cAAe,SAAUqB,GAE3B,OAAIn5C,KAAKu6B,OAAOtO,OAERjsB,KAAKgd,KAAKsF,MAAMsjB,iBAAiB5lC,KAAKu6B,OAAOtO,QAAS9lB,EAAGgzC,EAAYhzC,EAAG+G,EAAGisC,EAAYjsC,IAIvFisC,GAWNxB,SAAU,SAAUtsB,GAEhBrrB,KAAK8vC,WAAY,EACjB9vC,KAAKm3C,mBAAqB,EAC1Bn3C,KAAK40C,aAAavpB,EAAQvU,IAAIg5B,WAAY,EAC1C9vC,KAAKs0C,YAAa,EAClBt0C,KAAKu0C,cAAe,EAEhBv0C,KAAKizC,gBAEDjzC,KAAKu6B,OAAO3I,eAEZ5xB,KAAKu6B,OAAO1I,aAAa1rB,EAAIF,KAAKsI,OAAOvO,KAAKu6B,OAAO1I,aAAa1rB,EAAKnG,KAAKozC,YAAcpzC,KAAKkzC,OAAUlzC,KAAKkzC,OAASlzC,KAAKkzC,MAASlzC,KAAKozC,YAAcpzC,KAAKkzC,MAC7JlzC,KAAKu6B,OAAO1I,aAAa3kB,EAAIjH,KAAKsI,OAAOvO,KAAKu6B,OAAO1I,aAAa3kB,EAAKlN,KAAKqzC,YAAcrzC,KAAKmzC,OAAUnzC,KAAKmzC,OAASnzC,KAAKmzC,MAASnzC,KAAKqzC,YAAcrzC,KAAKmzC,QAI7JnzC,KAAKu6B,OAAOp0B,EAAIF,KAAKsI,OAAOvO,KAAKu6B,OAAOp0B,EAAKnG,KAAKozC,YAAcpzC,KAAKkzC,OAAUlzC,KAAKkzC,OAASlzC,KAAKkzC,MAASlzC,KAAKozC,YAAcpzC,KAAKkzC,MACnIlzC,KAAKu6B,OAAOrtB,EAAIjH,KAAKsI,OAAOvO,KAAKu6B,OAAOrtB,EAAKlN,KAAKqzC,YAAcrzC,KAAKmzC,OAAUnzC,KAAKmzC,OAASnzC,KAAKmzC,MAASnzC,KAAKqzC,YAAcrzC,KAAKmzC,QAI3InzC,KAAKu6B,OAAOzH,OAAOsmB,oBAAoBp5C,KAAKu6B,OAAQlP,IAEb,IAAnCrrB,KAAKuwC,iBAAiBllB,IAEtBrrB,KAAK2wC,mBAAmBtlB,IAYhCguB,YAAa,SAAUC,EAAiBC,QAEZhvC,IAApB+uC,IAAiCA,GAAkB,QACjC/uC,IAAlBgvC,IAA+BA,GAAgB,GAEnDv5C,KAAK6yC,oBAAsByG,EAC3Bt5C,KAAK8yC,kBAAoByG,GAgB7BC,WAAY,SAAUtG,EAAOC,EAAOsG,EAAQC,EAAWtG,EAAaC,QAEjD9oC,IAAXkvC,IAAwBA,GAAS,QACnBlvC,IAAdmvC,IAA2BA,GAAY,QACvBnvC,IAAhB6oC,IAA6BA,EAAc,QAC3B7oC,IAAhB8oC,IAA6BA,EAAc,GAE/CrzC,KAAKkzC,MAAQA,EACblzC,KAAKmzC,MAAQA,EACbnzC,KAAKozC,YAAcA,EACnBpzC,KAAKqzC,YAAcA,EACnBrzC,KAAKgzC,WAAayG,EAClBz5C,KAAKizC,cAAgByG,GASzBC,YAAa,WAET35C,KAAKgzC,YAAa,EAClBhzC,KAAKizC,eAAgB,GASzB+E,gBAAiB,WAETh4C,KAAKu6B,OAAO3I,eAER5xB,KAAKu6B,OAAO1I,aAAa1rB,EAAInG,KAAK0zC,WAAWhoC,KAE7C1L,KAAKu6B,OAAO1I,aAAa1rB,EAAInG,KAAK0zC,WAAWhoC,KAEvC1L,KAAKu6B,OAAO1I,aAAa1rB,EAAInG,KAAKu6B,OAAO1oB,MAAS7R,KAAK0zC,WAAWjoC,QAExEzL,KAAKu6B,OAAO1I,aAAa1rB,EAAInG,KAAK0zC,WAAWjoC,MAAQzL,KAAKu6B,OAAO1oB,OAGjE7R,KAAKu6B,OAAO1I,aAAa3kB,EAAIlN,KAAK0zC,WAAWjkC,IAE7CzP,KAAKu6B,OAAO1I,aAAa3kB,EAAIlN,KAAK0zC,WAAWjkC,IAEvCzP,KAAKu6B,OAAO1I,aAAa3kB,EAAIlN,KAAKu6B,OAAOzoB,OAAU9R,KAAK0zC,WAAWhkC,SAEzE1P,KAAKu6B,OAAO1I,aAAa3kB,EAAIlN,KAAK0zC,WAAWhkC,OAAS1P,KAAKu6B,OAAOzoB,UAKlE9R,KAAKu6B,OAAO7uB,KAAO1L,KAAK0zC,WAAWhoC,KAEnC1L,KAAKu6B,OAAOp0B,EAAInG,KAAK0zC,WAAWvtC,EAAInG,KAAKu6B,OAAOqf,QAE3C55C,KAAKu6B,OAAO9uB,MAAQzL,KAAK0zC,WAAWjoC,QAEzCzL,KAAKu6B,OAAOp0B,EAAInG,KAAK0zC,WAAWjoC,OAASzL,KAAKu6B,OAAO1oB,MAAQ7R,KAAKu6B,OAAOqf,UAGzE55C,KAAKu6B,OAAO9qB,IAAMzP,KAAK0zC,WAAWjkC,IAElCzP,KAAKu6B,OAAOrtB,EAAIlN,KAAK0zC,WAAWjkC,IAAMzP,KAAKu6B,OAAOsf,QAE7C75C,KAAKu6B,OAAO7qB,OAAS1P,KAAK0zC,WAAWhkC,SAE1C1P,KAAKu6B,OAAOrtB,EAAIlN,KAAK0zC,WAAWhkC,QAAU1P,KAAKu6B,OAAOzoB,OAAS9R,KAAKu6B,OAAOsf,YAWvF5B,kBAAmB,WAEXj4C,KAAKu6B,OAAO3I,eAAiB5xB,KAAK2zC,aAAa/hB,eAE3C5xB,KAAKu6B,OAAO1I,aAAa1rB,EAAInG,KAAK2zC,aAAa9hB,aAAa1rB,EAE5DnG,KAAKu6B,OAAO1I,aAAa1rB,EAAInG,KAAK2zC,aAAa9hB,aAAa1rB,EAEtDnG,KAAKu6B,OAAO1I,aAAa1rB,EAAInG,KAAKu6B,OAAO1oB,MAAU7R,KAAK2zC,aAAa9hB,aAAa1rB,EAAInG,KAAK2zC,aAAa9hC,QAE9G7R,KAAKu6B,OAAO1I,aAAa1rB,EAAKnG,KAAK2zC,aAAa9hB,aAAa1rB,EAAInG,KAAK2zC,aAAa9hC,MAAS7R,KAAKu6B,OAAO1oB,OAGxG7R,KAAKu6B,OAAO1I,aAAa3kB,EAAIlN,KAAK2zC,aAAa9hB,aAAa3kB,EAE5DlN,KAAKu6B,OAAO1I,aAAa3kB,EAAIlN,KAAK2zC,aAAa9hB,aAAa3kB,EAEtDlN,KAAKu6B,OAAO1I,aAAa3kB,EAAIlN,KAAKu6B,OAAOzoB,OAAW9R,KAAK2zC,aAAa9hB,aAAa3kB,EAAIlN,KAAK2zC,aAAa7hC,SAE/G9R,KAAKu6B,OAAO1I,aAAa3kB,EAAKlN,KAAK2zC,aAAa9hB,aAAa3kB,EAAIlN,KAAK2zC,aAAa7hC,OAAU9R,KAAKu6B,OAAOzoB,UAKzG9R,KAAKu6B,OAAO7uB,KAAO1L,KAAK2zC,aAAajoC,KAErC1L,KAAKu6B,OAAOp0B,EAAInG,KAAK2zC,aAAajoC,KAAO1L,KAAKu6B,OAAOqf,QAEhD55C,KAAKu6B,OAAO9uB,MAAQzL,KAAK2zC,aAAaloC,QAE3CzL,KAAKu6B,OAAOp0B,EAAInG,KAAK2zC,aAAaloC,OAASzL,KAAKu6B,OAAO1oB,MAAQ7R,KAAKu6B,OAAOqf,UAG3E55C,KAAKu6B,OAAO9qB,IAAMzP,KAAK2zC,aAAalkC,IAEpCzP,KAAKu6B,OAAOrtB,EAAIlN,KAAK2zC,aAAalkC,IAAMzP,KAAKu6B,OAAOsf,QAE/C75C,KAAKu6B,OAAO7qB,OAAS1P,KAAK2zC,aAAajkC,SAE5C1P,KAAKu6B,OAAOrtB,EAAIlN,KAAK2zC,aAAajkC,QAAU1P,KAAKu6B,OAAOzoB,OAAS9R,KAAKu6B,OAAOsf,aAQ7Fx5C,EAAOqyC,aAAansC,UAAU8B,YAAchI,EAAOqyC,aAsBnDryC,EAAO4jC,QAAU,SAAUjnB,GAKvBhd,KAAKgd,KAAOA,EAMZhd,KAAK85C,oBAML95C,KAAK+5C,YAOL/5C,KAAKg6C,SAAU,EAOfh6C,KAAK0gC,SAAU,EAOf1gC,KAAKi6C,2BAA6BC,UAAUC,qBAAuBD,UAAUE,iBAAgE,IAA7CF,UAAUG,UAAUpnB,QAAQ,eAAyBinB,UAAUI,YAQ/Jt6C,KAAKu6C,wBAQLv6C,KAAKw6C,mBAKLx6C,KAAKulB,gBAAkBvlB,KAKvBA,KAAKy6C,kBAAoB,KAKzBz6C,KAAK06C,qBAAuB,KAK5B16C,KAAK26C,eAAiB,KAKtB36C,KAAK46C,aAAe,KAKpB56C,KAAK66C,eAAiB,KAKtB76C,KAAK86C,gBAAkB,KAMvB96C,KAAK+6C,oBAAsB,KAM3B/6C,KAAKg7C,qBAAuB,KAM5Bh7C,KAAKi7C,WACD,IAAI56C,EAAO66C,UAAUl+B,EAAMhd,MAC3B,IAAIK,EAAO66C,UAAUl+B,EAAMhd,MAC3B,IAAIK,EAAO66C,UAAUl+B,EAAMhd,MAC3B,IAAIK,EAAO66C,UAAUl+B,EAAMhd,QAKnCK,EAAO4jC,QAAQ19B,WAUX40C,aAAc,SAAUt0B,EAASu0B,QAEJ,IAAdA,IAEPp7C,KAAKy6C,kBAAoD,mBAAxBW,EAAUC,UAA4BD,EAAUC,UAAYr7C,KAAKy6C,kBAClGz6C,KAAK06C,qBAA0D,mBAA3BU,EAAUE,aAA+BF,EAAUE,aAAet7C,KAAK06C,qBAC3G16C,KAAK26C,eAA8C,mBAArBS,EAAUzY,OAAyByY,EAAUzY,OAAS3iC,KAAK26C,eACzF36C,KAAK46C,aAA0C,mBAAnBQ,EAAUxY,KAAuBwY,EAAUxY,KAAO5iC,KAAK46C,aACnF56C,KAAK66C,eAA8C,mBAArBO,EAAUG,OAAyBH,EAAUG,OAASv7C,KAAK66C,eACzF76C,KAAK86C,gBAAgD,mBAAtBM,EAAU/O,QAA0B+O,EAAU/O,QAAUrsC,KAAK86C,gBAC5F96C,KAAKulB,gBAAkBsB,IAW/B9V,MAAO,WAEH,IAAI/Q,KAAKg6C,QAAT,CAMAh6C,KAAKg6C,SAAU,EAEf,IAAIhxB,EAAQhpB,KAEZA,KAAKw7C,oBAAsB,SAAU3sB,GACjC,OAAO7F,EAAMyyB,mBAAmB5sB,IAGpC7uB,KAAK07C,uBAAyB,SAAU7sB,GACpC,OAAO7F,EAAM2yB,sBAAsB9sB,IAGvC5mB,OAAOgnB,iBAAiB,mBAAoBjvB,KAAKw7C,qBAAqB,GACtEvzC,OAAOgnB,iBAAiB,sBAAuBjvB,KAAK07C,wBAAwB,KAWhFD,mBAAoB,SAAU5sB,GAE1B,IAAI+sB,EAAS/sB,EAAM4T,QACnBziC,KAAK+5C,SAASxlC,KAAKqnC,GACnB57C,KAAKi7C,UAAUW,EAAO7yC,OAAO8yC,QAAQD,IAWzCD,sBAAuB,SAAU9sB,GAE7B,IAAIitB,EAAajtB,EAAM4T,QAEvB,IAAK,IAAIz6B,KAAKhI,KAAK+5C,SAEX/5C,KAAK+5C,SAAS/xC,GAAGe,QAAU+yC,EAAW/yC,OAEtC/I,KAAK+5C,SAASp0B,OAAO3d,EAAE,GAI/BhI,KAAKi7C,UAAUa,EAAW/yC,OAAOgzC,cASrCh7B,OAAQ,WAEJ/gB,KAAKg8C,gBAELh8C,KAAKi8C,KAAKC,aACVl8C,KAAKm8C,KAAKD,aACVl8C,KAAKo8C,KAAKF,aACVl8C,KAAKq8C,KAAKH,cAUdF,cAAe,WAEX,GAAKh8C,KAAKg6C,QAAV,CAKA,GAAIE,UAAuB,YAEnBoC,EAAcpC,UAAUI,mBAE3B,GAAIJ,UAA6B,kBAE9BoC,EAAcpC,UAAUC,yBAE3B,GAAID,UAA0B,eAE/B,IAAIoC,EAAcpC,UAAUE,iBAGhC,GAAIkC,EACJ,CACIt8C,KAAK+5C,YAIL,IAAK,IAFDwC,GAAkB,EAEbv0C,EAAI,EAAGA,EAAIs0C,EAAYv0C,gBAEjBu0C,EAAYt0C,KAAOhI,KAAKu6C,qBAAqBvyC,KAEpDu0C,GAAkB,EAClBv8C,KAAKu6C,qBAAqBvyC,UAAYs0C,EAAYt0C,IAGlDs0C,EAAYt0C,IAEZhI,KAAK+5C,SAASxlC,KAAK+nC,EAAYt0C,IAIzB,IAANA,GAdgCA,KAoBxC,IAAK,IAAIulB,EAAI,EAAGA,EAAIvtB,KAAKi7C,UAAUlzC,OAAQwlB,IAEvCvtB,KAAKi7C,UAAU1tB,GAAGivB,QAAUx8C,KAAK+5C,SAASxsB,GAG9C,GAAIgvB,EACJ,CAII,IAAK,IAFDE,EADAC,GAAqBC,cAAgBC,eAGhCriC,EAAI,EAAGA,EAAIva,KAAKi7C,UAAUlzC,OAAQwS,IAIvC,IAFAkiC,EAAYz8C,KAAKi7C,UAAU1gC,IAEbsiC,UAEV,IAAK,IAAIjsC,EAAI,EAAGA,EAAI5Q,KAAK+5C,SAAShyC,OAAQ6I,IAElC5Q,KAAK+5C,SAASnpC,GAAG7H,QAAU0zC,EAAU1zC,QAErC2zC,EAAiBC,WAAWF,EAAU1zC,QAAS,EAC/C2zC,EAAiBE,WAAWriC,IAAK,GAMjD,IAAK,IAAI9J,EAAI,EAAGA,EAAIzQ,KAAKi7C,UAAUlzC,OAAQ0I,IAIvC,GAFAgsC,EAAYz8C,KAAKi7C,UAAUxqC,IAEvBisC,EAAiBE,WAAWnsC,GAAhC,CAKIzQ,KAAK+5C,SAAShyC,OAAS,GAEvB00C,EAAUV,aAGd,IAAK,IAAIlrC,EAAI,EAAGA,EAAI7Q,KAAK+5C,SAAShyC,SAE1B20C,EAAiBE,WAAWnsC,GAFMI,IAC1C,CAMI,IAAIisC,EAAS98C,KAAK+5C,SAASlpC,GAE3B,GAAIisC,EACJ,CACI,GAAIJ,EAAiBC,WAAWG,EAAO/zC,OACvC,CACI0zC,EAAUV,aACV,SAIAU,EAAUZ,QAAQiB,GAClBJ,EAAiBC,WAAWG,EAAO/zC,QAAS,EAC5C2zC,EAAiBE,WAAWnsC,IAAK,OAKrCgsC,EAAUV,mBAYlCgB,aAAc,SAAU7yC,GAEpB,IAAK,IAAIlC,EAAI,EAAGA,EAAIhI,KAAKi7C,UAAUlzC,OAAQC,IAEvChI,KAAKi7C,UAAUjzC,GAAGg1C,SAAW9yC,GAUrC01B,KAAM,WAEF5/B,KAAKg6C,SAAU,EAEf/xC,OAAOkoB,oBAAoB,mBAAoBnwB,KAAKw7C,qBACpDvzC,OAAOkoB,oBAAoB,sBAAuBnwB,KAAK07C,yBAQ3Dz5B,MAAO,WAEHjiB,KAAK+gB,SAEL,IAAK,IAAI/Y,EAAI,EAAGA,EAAIhI,KAAKi7C,UAAUlzC,OAAQC,IAEvChI,KAAKi7C,UAAUjzC,GAAGia,SAY1BwqB,YAAa,SAAUb,EAAYvtB,GAE/B,IAAK,IAAIrW,EAAI,EAAGA,EAAIhI,KAAKi7C,UAAUlzC,OAAQC,IAEvC,IAA4D,IAAxDhI,KAAKi7C,UAAUjzC,GAAGykC,YAAYb,EAAYvtB,GAE1C,OAAO,EAIf,OAAO,GAWXquB,aAAc,SAAUd,EAAYvtB,GAEhC,IAAK,IAAIrW,EAAI,EAAGA,EAAIhI,KAAKi7C,UAAUlzC,OAAQC,IAEvC,IAA6D,IAAzDhI,KAAKi7C,UAAUjzC,GAAG0kC,aAAad,EAAYvtB,GAE3C,OAAO,EAIf,OAAO,GAUXwtB,OAAQ,SAAUD,GAEd,IAAK,IAAI5jC,EAAI,EAAGA,EAAIhI,KAAKi7C,UAAUlzC,OAAQC,IAEvC,IAA6C,IAAzChI,KAAKi7C,UAAUjzC,GAAG6jC,OAAOD,GAEzB,OAAO,EAIf,OAAO,GAQXtlB,QAAS,WAELtmB,KAAK4/B,OAEL,IAAK,IAAI53B,EAAI,EAAGA,EAAIhI,KAAKi7C,UAAUlzC,OAAQC,IAEvChI,KAAKi7C,UAAUjzC,GAAGse,YAO9BjmB,EAAO4jC,QAAQ19B,UAAU8B,YAAchI,EAAO4jC,QAQ9Cx8B,OAAOmF,eAAevM,EAAO4jC,QAAQ19B,UAAW,UAE5CmG,IAAK,WACD,OAAO1M,KAAKg6C,WAWpBvyC,OAAOmF,eAAevM,EAAO4jC,QAAQ19B,UAAW,aAE5CmG,IAAK,WACD,OAAO1M,KAAKi6C,4BAWpBxyC,OAAOmF,eAAevM,EAAO4jC,QAAQ19B,UAAW,iBAE5CmG,IAAK,WACD,OAAO1M,KAAK+5C,SAAShyC,UAW7BN,OAAOmF,eAAevM,EAAO4jC,QAAQ19B,UAAW,QAE5CmG,IAAK,WACD,OAAO1M,KAAKi7C,UAAU,MAW9BxzC,OAAOmF,eAAevM,EAAO4jC,QAAQ19B,UAAW,QAE5CmG,IAAK,WACD,OAAO1M,KAAKi7C,UAAU,MAW9BxzC,OAAOmF,eAAevM,EAAO4jC,QAAQ19B,UAAW,QAE5CmG,IAAK,WACD,OAAO1M,KAAKi7C,UAAU,MAW9BxzC,OAAOmF,eAAevM,EAAO4jC,QAAQ19B,UAAW,QAE5CmG,IAAK,WACD,OAAO1M,KAAKi7C,UAAU,MAK9B56C,EAAO4jC,QAAQgZ,SAAW,EAC1B58C,EAAO4jC,QAAQiZ,SAAW,EAC1B78C,EAAO4jC,QAAQkZ,SAAW,EAC1B98C,EAAO4jC,QAAQmZ,SAAW,EAC1B/8C,EAAO4jC,QAAQoZ,SAAW,EAC1Bh9C,EAAO4jC,QAAQqZ,SAAW,EAC1Bj9C,EAAO4jC,QAAQsZ,SAAW,EAC1Bl9C,EAAO4jC,QAAQuZ,SAAW,EAC1Bn9C,EAAO4jC,QAAQwZ,SAAW,EAC1Bp9C,EAAO4jC,QAAQyZ,SAAW,EAC1Br9C,EAAO4jC,QAAQ0Z,UAAY,GAC3Bt9C,EAAO4jC,QAAQ2Z,UAAY,GAC3Bv9C,EAAO4jC,QAAQ4Z,UAAY,GAC3Bx9C,EAAO4jC,QAAQ6Z,UAAY,GAC3Bz9C,EAAO4jC,QAAQ8Z,UAAY,GAC3B19C,EAAO4jC,QAAQ+Z,UAAY,GAE3B39C,EAAO4jC,QAAQga,OAAS,EACxB59C,EAAO4jC,QAAQia,OAAS,EACxB79C,EAAO4jC,QAAQka,OAAS,EACxB99C,EAAO4jC,QAAQma,OAAS,EACxB/9C,EAAO4jC,QAAQoa,OAAS,EACxBh+C,EAAO4jC,QAAQqa,OAAS,EACxBj+C,EAAO4jC,QAAQsa,OAAS,EACxBl+C,EAAO4jC,QAAQua,OAAS,EACxBn+C,EAAO4jC,QAAQwa,OAAS,EACxBp+C,EAAO4jC,QAAQya,OAAS,EAMxBr+C,EAAO4jC,QAAQ0a,UAAY,EAC3Bt+C,EAAO4jC,QAAQ2a,UAAY,EAC3Bv+C,EAAO4jC,QAAQ4a,UAAY,EAC3Bx+C,EAAO4jC,QAAQ6a,UAAY,EAC3Bz+C,EAAO4jC,QAAQ8a,oBAAsB,EACrC1+C,EAAO4jC,QAAQ+a,qBAAuB,EACtC3+C,EAAO4jC,QAAQgb,qBAAuB,EACtC5+C,EAAO4jC,QAAQib,sBAAwB,EACvC7+C,EAAO4jC,QAAQkb,aAAe,EAC9B9+C,EAAO4jC,QAAQmb,cAAgB,EAC/B/+C,EAAO4jC,QAAQob,0BAA4B,GAC3Ch/C,EAAO4jC,QAAQqb,2BAA6B,GAE5Cj/C,EAAO4jC,QAAQsb,kBAAoB,GACnCl/C,EAAO4jC,QAAQub,mBAAqB,GACpCn/C,EAAO4jC,QAAQwb,gBAAkB,GACjCp/C,EAAO4jC,QAAQyb,kBAAoB,GAGnCr/C,EAAO4jC,QAAQ0b,qBAAuB,EACtCt/C,EAAO4jC,QAAQ2b,qBAAuB,EACtCv/C,EAAO4jC,QAAQ4b,sBAAwB,EACvCx/C,EAAO4jC,QAAQ6b,sBAAwB,EAIvCz/C,EAAO4jC,QAAQ8b,QAAU,EACzB1/C,EAAO4jC,QAAQ+b,aAAe,EAC9B3/C,EAAO4jC,QAAQgc,aAAe,EAC9B5/C,EAAO4jC,QAAQic,eAAiB,EAChC7/C,EAAO4jC,QAAQkc,SAAW,EAC1B9/C,EAAO4jC,QAAQmc,SAAW,EAC1B//C,EAAO4jC,QAAQoc,SAAW,EAC1BhgD,EAAO4jC,QAAQqc,SAAW,EAC1BjgD,EAAO4jC,QAAQsc,aAAe,EAC9BlgD,EAAO4jC,QAAQuc,YAAc,EAC7BngD,EAAO4jC,QAAQwc,wBAA0B,GACzCpgD,EAAO4jC,QAAQyc,yBAA2B,GAC1CrgD,EAAO4jC,QAAQ0c,cAAgB,GAC/BtgD,EAAO4jC,QAAQ2c,gBAAkB,GACjCvgD,EAAO4jC,QAAQ4c,gBAAkB,GACjCxgD,EAAO4jC,QAAQ6c,iBAAmB,GAClCzgD,EAAO4jC,QAAQ8c,mBAAqB,EACpC1gD,EAAO4jC,QAAQ+c,mBAAqB,EACpC3gD,EAAO4jC,QAAQgd,oBAAsB,EACrC5gD,EAAO4jC,QAAQid,oBAAsB,EAiBrC7gD,EAAO66C,UAAY,SAAUl+B,EAAMmkC,GAK/BnhD,KAAKgd,KAAOA,EAMZhd,KAAK+I,MAAQ,KAMb/I,KAAK68C,WAAY,EAKjB78C,KAAKulB,gBAAkBvlB,KAKvBA,KAAKy6C,kBAAoB,KAKzBz6C,KAAK06C,qBAAuB,KAK5B16C,KAAK26C,eAAiB,KAKtB36C,KAAK46C,aAAe,KAKpB56C,KAAK66C,eAAiB,KAKtB76C,KAAK86C,gBAAkB,KAKvB96C,KAAKg9C,SAAW,IAMhBh9C,KAAKohD,WAAaD,EAMlBnhD,KAAKw8C,QAAU,KAMfx8C,KAAKqhD,eAAiB,KAMtBrhD,KAAKshD,YAMLthD,KAAKuhD,YAAc,EAMnBvhD,KAAKwhD,SAMLxhD,KAAKyhD,SAAW,GAIpBphD,EAAO66C,UAAU30C,WAUb40C,aAAc,SAAUt0B,EAASu0B,QAEJ,IAAdA,IAEPp7C,KAAKy6C,kBAAoD,mBAAxBW,EAAUC,UAA4BD,EAAUC,UAAYr7C,KAAKy6C,kBAClGz6C,KAAK06C,qBAA0D,mBAA3BU,EAAUE,aAA+BF,EAAUE,aAAet7C,KAAK06C,qBAC3G16C,KAAK26C,eAA8C,mBAArBS,EAAUzY,OAAyByY,EAAUzY,OAAS3iC,KAAK26C,eACzF36C,KAAK46C,aAA0C,mBAAnBQ,EAAUxY,KAAuBwY,EAAUxY,KAAO5iC,KAAK46C,aACnF56C,KAAK66C,eAA8C,mBAArBO,EAAUG,OAAyBH,EAAUG,OAASv7C,KAAK66C,eACzF76C,KAAK86C,gBAAgD,mBAAtBM,EAAU/O,QAA0B+O,EAAU/O,QAAUrsC,KAAK86C,gBAE5F96C,KAAKulB,gBAAkBsB,IAY/B66B,UAAW,SAAU9V,GAEjB,OAAI5rC,KAAKshD,SAAS1V,GAEP5rC,KAAKshD,SAAS1V,GAId,MAUfsQ,WAAY,WAER,GAAKl8C,KAAK68C,WAAc78C,KAAKgd,KAAKsF,MAAMoe,SAAY1gC,KAAKgd,KAAKsF,MAAMmgB,QAAQ/B,WAAY1gC,KAAKw8C,QAAQmF,WAAc3hD,KAAKw8C,QAAQmF,YAAc3hD,KAAKqhD,gBAAnJ,CAKA,IAAK,IAAIr5C,EAAI,EAAGA,EAAIhI,KAAKuhD,YAAav5C,IACtC,CACI,IAAI45C,EAAeC,MAAM7hD,KAAKw8C,QAAQzN,QAAQ/mC,IAAMhI,KAAKw8C,QAAQzN,QAAQ/mC,GAAGkC,MAAQlK,KAAKw8C,QAAQzN,QAAQ/mC,GAErG45C,IAAiB5hD,KAAKshD,SAASt5C,GAAGkC,QAEb,IAAjB03C,EAEA5hD,KAAK8hD,kBAAkB95C,EAAG45C,GAEJ,IAAjBA,EAEL5hD,KAAK+hD,gBAAgB/5C,EAAG45C,GAIxB5hD,KAAKgiD,mBAAmBh6C,EAAG45C,IAKvC,IAAK,IAAI74C,EAAQ,EAAGA,EAAQ/I,KAAKyhD,SAAU14C,IAC3C,CACI,IAAImB,EAAQlK,KAAKw8C,QAAQyF,KAAKl5C,GAEzBmB,EAAQ,GAAKA,EAAQlK,KAAKg9C,UAAc9yC,EAAQ,GAAKA,GAASlK,KAAKg9C,SAEpEh9C,KAAKkiD,kBAAkBn5C,EAAOmB,GAI9BlK,KAAKkiD,kBAAkBn5C,EAAO,GAItC/I,KAAKqhD,eAAiBrhD,KAAKw8C,QAAQmF,YAUvC9F,QAAS,SAAUiB,GAEf,IAAIqF,GAAmBniD,KAAK68C,UAE5B78C,KAAK68C,WAAY,EACjB78C,KAAK+I,MAAQ+zC,EAAO/zC,MAEpB/I,KAAKw8C,QAAUM,EAEf98C,KAAKshD,YACLthD,KAAKuhD,YAAczE,EAAO/N,QAAQhnC,OAElC/H,KAAKwhD,SACLxhD,KAAKyhD,SAAW3E,EAAOmF,KAAKl6C,OAE5B,IAAK,IAAIyH,EAAI,EAAGA,EAAIxP,KAAKyhD,SAAUjyC,IAE/BxP,KAAKwhD,MAAMhyC,GAAKstC,EAAOmF,KAAKzyC,GAGhC,IAAK,IAAIo8B,KAAckR,EAAO/N,QAE1BnD,EAAa1gC,SAAS0gC,EAAY,IAClC5rC,KAAKshD,SAAS1V,GAAc,IAAIvrC,EAAOsrC,aAAa3rC,KAAM4rC,GAG1DuW,GAAmBniD,KAAKohD,WAAW3G,mBAEnCz6C,KAAKohD,WAAW3G,kBAAkBzzC,KAAKhH,KAAKohD,WAAW77B,gBAAiBvlB,KAAK+I,OAG7Eo5C,GAAmBniD,KAAKy6C,mBAExBz6C,KAAKy6C,kBAAkBzzC,KAAKhH,KAAKulB,kBAUzCw2B,WAAY,WAER,IAAIoG,EAAkBniD,KAAK68C,UACvBuF,EAAqBpiD,KAAK+I,MAE9B/I,KAAK68C,WAAY,EACjB78C,KAAK+I,MAAQ,KAEb/I,KAAKw8C,aAAUjyC,EAEf,IAAK,IAAIvC,EAAI,EAAGA,EAAIhI,KAAKuhD,YAAav5C,IAElChI,KAAKshD,SAASt5C,GAAGse,UAGrBtmB,KAAKshD,YACLthD,KAAKuhD,YAAc,EAEnBvhD,KAAKwhD,SACLxhD,KAAKyhD,SAAW,EAEZU,GAAmBniD,KAAKohD,WAAW1G,sBAEnC16C,KAAKohD,WAAW1G,qBAAqB1zC,KAAKhH,KAAKohD,WAAW77B,gBAAiB68B,GAG3ED,GAAmBniD,KAAK06C,sBAExB16C,KAAK06C,qBAAqB1zC,KAAKhH,KAAKulB,kBAU5Ce,QAAS,WAELtmB,KAAKw8C,aAAUjyC,EAEf,IAAK,IAAIvC,EAAI,EAAGA,EAAIhI,KAAKuhD,YAAav5C,IAElChI,KAAKshD,SAASt5C,GAAGse,UAGrBtmB,KAAKshD,YACLthD,KAAKuhD,YAAc,EAEnBvhD,KAAKwhD,SACLxhD,KAAKyhD,SAAW,EAEhBzhD,KAAKy6C,kBAAoB,KACzBz6C,KAAK06C,qBAAuB,KAC5B16C,KAAK26C,eAAiB,KACtB36C,KAAK46C,aAAe,KACpB56C,KAAK66C,eAAiB,KACtB76C,KAAK86C,gBAAkB,MAU3BoH,kBAAmB,SAAUn5C,EAAOmB,GAE5BlK,KAAKwhD,MAAMz4C,KAAWmB,IAK1BlK,KAAKwhD,MAAMz4C,GAASmB,EAEhBlK,KAAKohD,WAAWvG,gBAEhB76C,KAAKohD,WAAWvG,eAAe7zC,KAAKhH,KAAKohD,WAAW77B,gBAAiBvlB,KAAM+I,EAAOmB,GAGlFlK,KAAK66C,gBAEL76C,KAAK66C,eAAe7zC,KAAKhH,KAAKulB,gBAAiBvlB,KAAM+I,EAAOmB,KAYpE43C,kBAAmB,SAAUlW,EAAY1hC,GAEjClK,KAAKshD,SAAS1V,IAEd5rC,KAAKshD,SAAS1V,GAAY76B,MAAM,KAAM7G,GAGtClK,KAAKohD,WAAWzG,gBAEhB36C,KAAKohD,WAAWzG,eAAe3zC,KAAKhH,KAAKohD,WAAW77B,gBAAiBqmB,EAAY1hC,EAAOlK,KAAK+I,OAG7F/I,KAAK26C,gBAEL36C,KAAK26C,eAAe3zC,KAAKhH,KAAKulB,gBAAiBqmB,EAAY1hC,IAYnE63C,gBAAiB,SAAUnW,EAAY1hC,GAE/BlK,KAAKohD,WAAWxG,cAEhB56C,KAAKohD,WAAWxG,aAAa5zC,KAAKhH,KAAKohD,WAAW77B,gBAAiBqmB,EAAY1hC,EAAOlK,KAAK+I,OAG3F/I,KAAK46C,cAEL56C,KAAK46C,aAAa5zC,KAAKhH,KAAKulB,gBAAiBqmB,EAAY1hC,GAGzDlK,KAAKshD,SAAS1V,IAEd5rC,KAAKshD,SAAS1V,GAAYhM,KAAK,KAAM11B,IAY7C83C,mBAAoB,SAAUpW,EAAY1hC,GAElClK,KAAKohD,WAAWtG,iBAEhB96C,KAAKohD,WAAWtG,gBAAgB9zC,KAAKhH,KAAKohD,WAAW77B,gBAAiBqmB,EAAY1hC,EAAOlK,KAAK+I,OAG9F/I,KAAK86C,iBAEL96C,KAAK86C,gBAAgB9zC,KAAKhH,KAAKulB,gBAAiBqmB,EAAY1hC,GAG5DlK,KAAKshD,SAAS1V,IAEd5rC,KAAKshD,SAAS1V,GAAYY,SAAStiC,IAY3Cm4C,KAAM,SAAUC,GAEZ,QAAItiD,KAAKwhD,MAAMc,IAEJtiD,KAAKwhD,MAAMc,IAc1BzW,OAAQ,SAAUD,GAEd,QAAI5rC,KAAKshD,SAAS1V,IAEP5rC,KAAKshD,SAAS1V,GAAYC,QAczCC,KAAM,SAAUF,GAEZ,QAAI5rC,KAAKshD,SAAS1V,IAEP5rC,KAAKshD,SAAS1V,GAAYE,MAezCY,aAAc,SAAUd,EAAYvtB,GAEhC,GAAIre,KAAKshD,SAAS1V,GAEd,OAAO5rC,KAAKshD,SAAS1V,GAAYc,aAAaruB,IAatDouB,YAAa,SAAUb,EAAYvtB,GAE/B,GAAIre,KAAKshD,SAAS1V,GAEd,OAAO5rC,KAAKshD,SAAS1V,GAAYa,YAAYpuB,IAarDkkC,YAAa,SAAU3W,GAEnB,OAAI5rC,KAAKshD,SAAS1V,GAEP5rC,KAAKshD,SAAS1V,GAAY1hC,MAG9B,MASX+X,MAAO,WAEH,IAAK,IAAI1H,EAAI,EAAGA,EAAIva,KAAKwhD,MAAMz5C,OAAQwS,IAEnCva,KAAKwhD,MAAMjnC,GAAK,IAO5Bla,EAAO66C,UAAU30C,UAAU8B,YAAchI,EAAO66C,UAgBhD76C,EAAOmiD,IAAM,SAAUxlC,EAAMylC,GAKzBziD,KAAKgd,KAAOA,EAOZhd,KAAK0iD,UAAW,EAMhB1iD,KAAK6uB,MAAQ,KAMb7uB,KAAK6rC,QAAS,EAMd7rC,KAAK8rC,MAAO,EAMZ9rC,KAAKksC,QAAS,EAMdlsC,KAAKosC,SAAU,EAMfpsC,KAAKmsC,UAAW,EAKhBnsC,KAAK+rC,SAAW,EAQhB/rC,KAAKqe,SAAW,EAMhBre,KAAKgsC,QAAU,KAQfhsC,KAAK2iD,YAAc,KAMnB3iD,KAAKisC,QAAU,EAKfjsC,KAAK4iD,QAAUH,EAKfziD,KAAK2iC,OAAS,IAAItiC,EAAOud,OAKzB5d,KAAK6iD,eAAiB,KAKtB7iD,KAAK8iD,cAAgB,KAKrB9iD,KAAK4iC,KAAO,IAAIviC,EAAOud,OAMvB5d,KAAK+iD,WAAY,EAMjB/iD,KAAKgjD,SAAU,GAInB3iD,EAAOmiD,IAAIj8C,WAQPwa,OAAQ,WAEC/gB,KAAK0iD,WAEN1iD,KAAK6rC,QAEL7rC,KAAKqe,SAAWre,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAK+rC,SAC3C/rC,KAAKisC,UAEDjsC,KAAK6iD,gBAEL7iD,KAAK6iD,eAAe77C,KAAKhH,KAAK8iD,cAAe9iD,OAKjDA,KAAK2iD,WAAa3iD,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAKgsC,SAYrDiX,eAAgB,SAAUp0B,GAEjB7uB,KAAK0iD,WAEV1iD,KAAK6uB,MAAQA,EAGT7uB,KAAK6rC,SAKT7rC,KAAKksC,OAASrd,EAAMqd,OACpBlsC,KAAKosC,QAAUvd,EAAMud,QACrBpsC,KAAKmsC,SAAWtd,EAAMsd,SAEtBnsC,KAAK6rC,QAAS,EACd7rC,KAAK8rC,MAAO,EACZ9rC,KAAK+rC,SAAW/rC,KAAKgd,KAAKmE,KAAKA,KAC/BnhB,KAAKqe,SAAW,EAChBre,KAAK2iD,WAAa3iD,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAKgsC,OAC7ChsC,KAAKisC,QAAU,EAIfjsC,KAAK+iD,WAAY,EAEjB/iD,KAAK2iC,OAAOthB,SAASrhB,SAWzBkjD,aAAc,SAAUr0B,GAEf7uB,KAAK0iD,WAEV1iD,KAAK6uB,MAAQA,EAET7uB,KAAK8rC,OAKT9rC,KAAK6rC,QAAS,EACd7rC,KAAK8rC,MAAO,EACZ9rC,KAAKgsC,OAAShsC,KAAKgd,KAAKmE,KAAKA,KAC7BnhB,KAAKqe,SAAWre,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAK+rC,SAC3C/rC,KAAK2iD,WAAa,EAIlB3iD,KAAKgjD,SAAU,EAEfhjD,KAAK4iC,KAAKvhB,SAASrhB,SAavBiiB,MAAO,SAAU8iB,QAEAx6B,IAATw6B,IAAsBA,GAAO,GAEjC/kC,KAAK6rC,QAAS,EACd7rC,KAAK8rC,MAAO,EACZ9rC,KAAKgsC,OAAShsC,KAAKgd,KAAKmE,KAAKA,KAC7BnhB,KAAKqe,SAAW,EAChBre,KAAK2iD,YAAc,KACnB3iD,KAAK0iD,UAAW,EAChB1iD,KAAK+iD,WAAY,EACjB/iD,KAAKgjD,SAAU,EAEXje,IAEA/kC,KAAK2iC,OAAOvc,YACZpmB,KAAK4iC,KAAKxc,YACVpmB,KAAK6iD,eAAiB,KACtB7iD,KAAK8iD,cAAgB,OAa7B3N,aAAc,SAAU92B,GAIpB,YAFiB9T,IAAb8T,IAA0BA,EAAW,IAEjCre,KAAK6rC,QAAU7rC,KAAKqe,SAAWA,GAY3C8kC,WAAY,SAAU9kC,GAIlB,YAFiB9T,IAAb8T,IAA0BA,EAAW,KAEhCre,KAAK6rC,QAAY7rC,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAKgsC,OAAU3tB,GAWnEouB,YAAa,WAET,OAAQzsC,KAAK6rC,QAA4B,IAAlB7rC,KAAKqe,UAWhCquB,aAAc,WAEV,OAAS1sC,KAAK6rC,QAA8B,IAApB7rC,KAAK2iD,aAiBrCl7C,OAAOmF,eAAevM,EAAOmiD,IAAIj8C,UAAW,YAExCmG,IAAK,WAED,IAAIsX,EAAUhkB,KAAK+iD,UAEnB,OADA/iD,KAAK+iD,WAAY,EACV/+B,KAiBfvc,OAAOmF,eAAevM,EAAOmiD,IAAIj8C,UAAW,UAExCmG,IAAK,WAED,IAAIsX,EAAUhkB,KAAKgjD,QAEnB,OADAhjD,KAAKgjD,SAAU,EACRh/B,KAcfvc,OAAOmF,eAAevM,EAAOmiD,IAAIj8C,UAAW,WAExCmG,IAAK,WAED,OAAO1M,KAAK0iD,UAIhB/1C,IAAK,SAAUzC,IAEXA,IAAUA,KAEIlK,KAAK0iD,WAEVx4C,GAEDlK,KAAKiiB,OAAM,GAGfjiB,KAAK0iD,SAAWx4C,MAM5B7J,EAAOmiD,IAAIj8C,UAAU8B,YAAchI,EAAOmiD,IAsB1CniD,EAAO2jC,SAAW,SAAUhnB,GAKxBhd,KAAKgd,KAAOA,EAOZhd,KAAK0gC,SAAU,EAKf1gC,KAAK6uB,MAAQ,KAKb7uB,KAAKojD,WAAa,KAKlBpjD,KAAKulB,gBAAkBvlB,KAKvBA,KAAK26C,eAAiB,KAKtB36C,KAAKqjD,gBAAkB,KAKvBrjD,KAAK46C,aAAe,KAMpB56C,KAAKsjD,SAMLtjD,KAAKujD,YAOLvjD,KAAKwjD,WAAa,KAOlBxjD,KAAKyjD,YAAc,KAOnBzjD,KAAK0jD,SAAW,KAMhB1jD,KAAK2sB,GAAK,EAMV3sB,KAAK2jD,GAAK,GAIdtjD,EAAO2jC,SAASz9B,WAWZ40C,aAAc,SAAUt0B,EAAS8b,EAAQC,EAAMghB,GAE3C5jD,KAAKulB,gBAAkBsB,OAERtc,IAAXo4B,GAAmC,OAAXA,IAExB3iC,KAAK26C,eAAiBhY,QAGbp4B,IAATq4B,GAA+B,OAATA,IAEtB5iC,KAAK46C,aAAehY,QAGRr4B,IAAZq5C,GAAqC,OAAZA,IAEzB5jD,KAAKqjD,gBAAkBO,IAa/BC,OAAQ,SAAUpB,GASd,OAPKziD,KAAKsjD,MAAMb,KAEZziD,KAAKsjD,MAAMb,GAAW,IAAIpiD,EAAOmiD,IAAIxiD,KAAKgd,KAAMylC,GAEhDziD,KAAK8jD,cAAcrB,IAGhBziD,KAAKsjD,MAAMb,IAiBtBsB,QAAS,SAAUt3C,GAEf,IAAI+B,KAEJ,IAAK,IAAI3E,KAAO4C,EAEZ+B,EAAO3E,GAAO7J,KAAK6jD,OAAOp3C,EAAK5C,IAGnC,OAAO2E,GAUXw1C,UAAW,SAAUvB,GAEbziD,KAAKsjD,MAAMb,KAEXziD,KAAKsjD,MAAMb,GAAW,KAEtBziD,KAAKikD,iBAAiBxB,KAW9ByB,iBAAkB,WAEd,OAAOlkD,KAAK+jD,SAAUI,GAAM9jD,EAAO+jD,QAAQpjD,GAAIguC,KAAQ3uC,EAAO+jD,QAAQnjD,KAAMyK,KAAQrL,EAAO+jD,QAAQtjD,KAAM2K,MAASpL,EAAO+jD,QAAQrjD,SAWrIgQ,MAAO,WAEH,IAAI/Q,KAAKgd,KAAKsS,OAAOmP,UAKG,OAApBz+B,KAAKwjD,WAAT,CAMA,IAAIx6B,EAAQhpB,KAEZA,KAAKwjD,WAAa,SAAU30B,GACxB,OAAO7F,EAAMi6B,eAAep0B,IAGhC7uB,KAAK0jD,SAAW,SAAU70B,GACtB,OAAO7F,EAAMk6B,aAAar0B,IAG9B7uB,KAAKyjD,YAAc,SAAU50B,GACzB,OAAO7F,EAAMq7B,gBAAgBx1B,IAGjC5mB,OAAOgnB,iBAAiB,UAAWjvB,KAAKwjD,YAAY,GACpDv7C,OAAOgnB,iBAAiB,QAASjvB,KAAK0jD,UAAU,GAChDz7C,OAAOgnB,iBAAiB,WAAYjvB,KAAKyjD,aAAa,KAS1D7jB,KAAM,WAEF33B,OAAOkoB,oBAAoB,UAAWnwB,KAAKwjD,YAC3Cv7C,OAAOkoB,oBAAoB,QAASnwB,KAAK0jD,UACzCz7C,OAAOkoB,oBAAoB,WAAYnwB,KAAKyjD,aAE5CzjD,KAAKwjD,WAAa,KAClBxjD,KAAK0jD,SAAW,KAChB1jD,KAAKyjD,YAAc,MAUvBn9B,QAAS,WAELtmB,KAAK4/B,OAEL5/B,KAAKskD,gBAELtkD,KAAKsjD,MAAMv7C,OAAS,EACpB/H,KAAK2sB,GAAK,GAgBdm3B,cAAe,SAAUrB,GAErB,GAAuB,iBAAZA,EAEP,IAAK,IAAI54C,KAAO44C,EAEZziD,KAAKujD,SAASd,EAAQ54C,KAAQ,OAKlC7J,KAAKujD,SAASd,IAAW,GAUjCwB,iBAAkB,SAAUxB,UAEjBziD,KAAKujD,SAASd,IASzB6B,cAAe,WAEXtkD,KAAKujD,aASTxiC,OAAQ,WAIJ,IAFA/gB,KAAK2sB,GAAK3sB,KAAKsjD,MAAMv7C,OAEd/H,KAAK2sB,MAEJ3sB,KAAKsjD,MAAMtjD,KAAK2sB,KAEhB3sB,KAAKsjD,MAAMtjD,KAAK2sB,IAAI5L,UAahCkiC,eAAgB,SAAUp0B,GAItB,GAFA7uB,KAAK6uB,MAAQA,EAER7uB,KAAKgd,KAAKsF,MAAMoe,SAAY1gC,KAAK0gC,QAAtC,CAKA,IAAI72B,EAAMglB,EAAM+zB,QAGZ5iD,KAAKujD,SAAS15C,IAEdglB,EAAMgQ,iBAGL7+B,KAAKsjD,MAAMz5C,KAEZ7J,KAAKsjD,MAAMz5C,GAAO,IAAIxJ,EAAOmiD,IAAIxiD,KAAKgd,KAAMnT,IAGhD7J,KAAKsjD,MAAMz5C,GAAKo5C,eAAep0B,GAE/B7uB,KAAK2jD,GAAK95C,EAEN7J,KAAK26C,gBAEL36C,KAAK26C,eAAe3zC,KAAKhH,KAAKulB,gBAAiBsJ,KAYvDw1B,gBAAiB,SAAUx1B,GAEvB7uB,KAAKojD,WAAav0B,EAEb7uB,KAAKgd,KAAKsF,MAAMoe,SAAY1gC,KAAK0gC,SAKlC1gC,KAAKqjD,iBAELrjD,KAAKqjD,gBAAgBr8C,KAAKhH,KAAKulB,gBAAiBg/B,OAAOC,aAAa31B,EAAM41B,UAAW51B,IAY7Fq0B,aAAc,SAAUr0B,GAIpB,GAFA7uB,KAAK6uB,MAAQA,EAER7uB,KAAKgd,KAAKsF,MAAMoe,SAAY1gC,KAAK0gC,QAAtC,CAKA,IAAI72B,EAAMglB,EAAM+zB,QAEZ5iD,KAAKujD,SAAS15C,IAEdglB,EAAMgQ,iBAGL7+B,KAAKsjD,MAAMz5C,KAEZ7J,KAAKsjD,MAAMz5C,GAAO,IAAIxJ,EAAOmiD,IAAIxiD,KAAKgd,KAAMnT,IAGhD7J,KAAKsjD,MAAMz5C,GAAKq5C,aAAar0B,GAEzB7uB,KAAK46C,cAEL56C,KAAK46C,aAAa5zC,KAAKhH,KAAKulB,gBAAiBsJ,KAWrD5M,MAAO,SAAU8iB,QAEAx6B,IAATw6B,IAAsBA,GAAO,GAEjC/kC,KAAK6uB,MAAQ,KAIb,IAFA,IAAI7mB,EAAIhI,KAAKsjD,MAAMv7C,OAEZC,KAEChI,KAAKsjD,MAAMt7C,IAEXhI,KAAKsjD,MAAMt7C,GAAGia,MAAM8iB,IAehCoQ,aAAc,SAAUsN,EAASpkC,GAE7B,OAAIre,KAAKsjD,MAAMb,GAEJziD,KAAKsjD,MAAMb,GAAStN,aAAa92B,GAIjC,MAcf8kC,WAAY,SAAUV,EAASpkC,GAE3B,OAAIre,KAAKsjD,MAAMb,GAEJziD,KAAKsjD,MAAMb,GAASU,WAAW9kC,GAI/B,MAKfouB,YAAa,SAAUgW,GAEnB,OAAIziD,KAAKsjD,MAAMb,GAEJziD,KAAKsjD,MAAMb,GAAShW,cAIpB,MAKfC,aAAc,SAAU+V,GAEpB,OAAIziD,KAAKsjD,MAAMb,GAEJziD,KAAKsjD,MAAMb,GAAS/V,eAIpB,MAYfb,OAAQ,SAAU4W,GAEd,OAAIziD,KAAKsjD,MAAMb,GAEJziD,KAAKsjD,MAAMb,GAAS5W,OAIpB,OAanBpkC,OAAOmF,eAAevM,EAAO2jC,SAASz9B,UAAW,YAE7CmG,IAAK,WAED,OAAI1M,KAAK6uB,OAAiC,KAAxB7uB,KAAK6uB,MAAM41B,SAElB,GAEFzkD,KAAKojD,WAEHmB,OAAOC,aAAaxkD,KAAKojD,WAAWqB,UAIpC,QAanBh9C,OAAOmF,eAAevM,EAAO2jC,SAASz9B,UAAW,WAE7CmG,IAAK,WAED,OAAO1M,KAAKsjD,MAAMtjD,KAAK2jD,OAM/BtjD,EAAO2jC,SAASz9B,UAAU8B,YAAchI,EAAO2jC,SAiB/C3jC,EAAO+jD,SAEHM,EAAG,IAAIC,WAAW,GAElBC,EAAG,IAAID,WAAW,GAElBE,EAAG,IAAIF,WAAW,GAElBG,EAAG,IAAIH,WAAW,GAElBI,EAAG,IAAIJ,WAAW,GAElBt9C,EAAG,IAAIs9C,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,GAErB0B,IAAK,IAAI1B,WAAW,GAEpB2B,IAAK,IAAI3B,WAAW,GAEpB4B,MAAO,IAAI5B,WAAW,GAEtB6B,KAAM,IAAI7B,WAAW,GAErB8B,KAAM,IAAI9B,WAAW,GAErB+B,IAAK,IAAI/B,WAAW,GAEpBgC,MAAO,IAAIhC,WAAW,GAEtBiC,MAAO,IAAIjC,WAAW,GAEtBkC,KAAM,IAAIlC,WAAW,GAErBmC,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,GAENvpD,KAAM,GAENE,GAAI,GAEJD,MAAO,GAEPE,KAAM,GAENqpD,KAAM,GAENC,MAAO,GAEPC,OAAQ,GAERC,OAAQ,GAERC,KAAM,GAENC,SAAU,KAId,IAAK,IAAI9gD,KAAOxJ,EAAO+jD,QAEf/jD,EAAO+jD,QAAQt7C,eAAee,KAASA,EAAI+gD,MAAM,WAEjDvqD,EAAO2jC,SAASn6B,GAAOxJ,EAAO+jD,QAAQv6C,IAU9CxJ,EAAOwqD,UAAY,aAanBxqD,EAAOwqD,UAAUC,MAAQ,aAEzBzqD,EAAOwqD,UAAUC,MAAMvkD,WAenBoI,OAEIjC,IAAK,WAED,OAAOrM,EAAO4F,KAAK8kD,UAAU1qD,EAAO4F,KAAKkS,SAASnY,KAAKg6B,YAI3DrtB,IAAK,SAASzC,GAEVlK,KAAKg6B,SAAW35B,EAAO4F,KAAK6J,SAASzP,EAAO4F,KAAK8kD,UAAU7gD,OAmBvE7J,EAAOwqD,UAAUG,UAAY,aAE7B3qD,EAAOwqD,UAAUG,UAAUzkD,WAiBvB0kD,KAAM,SAAUjhD,EAAMkhD,EAAWC,EAAMC,GAEnC,GAAIprD,KAAKqrD,WAEL,OAAOrrD,KAAKqrD,WAAWJ,KAAKjhD,EAAMkhD,EAAWC,EAAMC,KAmB/D/qD,EAAOwqD,UAAUS,SAAW,aAE5BjrD,EAAOwqD,UAAUS,SAAS/kD,WAatBglD,UAAU,EASVC,UAEI9+C,IAAK,WASD,OAPK1M,KAAKurD,UAAavrD,KAAKyrD,mBAExBzrD,KAAK0rD,QAAQx9C,SAASlO,KAAK+N,aAC3B/N,KAAK0rD,QAAQvlD,GAAKnG,KAAKgd,KAAKqC,OAAOnC,KAAK/W,EACxCnG,KAAK0rD,QAAQx+C,GAAKlN,KAAKgd,KAAKqC,OAAOnC,KAAKhQ,GAGrClN,KAAKgd,KAAKC,MAAMoC,OAAOnC,KAAKrN,WAAW7P,KAAK0rD,YAmB/DrrD,EAAOwqD,UAAUc,OAAS,aAE1BtrD,EAAOwqD,UAAUc,OAAOplD,WAUpBqzC,SAEIltC,IAAK,WAED,OAAO1M,KAAK6rB,OAAO1lB,EAAInG,KAAK6R,QAcpCgoC,SAEIntC,IAAK,WAED,OAAO1M,KAAK6rB,OAAO3e,EAAIlN,KAAK8R,SAYpCW,SAEI/F,IAAK,WAED,OAAQ1M,KAAKmG,EAAInG,KAAK45C,QAAyB,GAAb55C,KAAK6R,OAI3ClF,IAAK,SAAUzC,GAEXlK,KAAKmG,EAAK+D,EAAQlK,KAAK45C,QAAyB,GAAb55C,KAAK6R,QAYhDa,SAEIhG,IAAK,WAED,OAAQ1M,KAAKkN,EAAIlN,KAAK65C,QAA0B,GAAd75C,KAAK8R,QAI3CnF,IAAK,SAAUzC,GAEXlK,KAAKkN,EAAKhD,EAAQlK,KAAK65C,QAA0B,GAAd75C,KAAK8R,SAYhDpG,MAEIgB,IAAK,WAED,OAAO1M,KAAKmG,EAAInG,KAAK45C,SAIzBjtC,IAAK,SAAUzC,GAEXlK,KAAKmG,EAAI+D,EAAQlK,KAAK45C,UAY9BnuC,OAEIiB,IAAK,WAED,OAAQ1M,KAAKmG,EAAInG,KAAK6R,MAAS7R,KAAK45C,SAIxCjtC,IAAK,SAAUzC,GAEXlK,KAAKmG,EAAI+D,EAASlK,KAAU,MAAIA,KAAK45C,UAY7CnqC,KAEI/C,IAAK,WAED,OAAO1M,KAAKkN,EAAIlN,KAAK65C,SAIzBltC,IAAK,SAAUzC,GAEXlK,KAAKkN,EAAIhD,EAAQlK,KAAK65C,UAY9BnqC,QAEIhD,IAAK,WAED,OAAQ1M,KAAKkN,EAAIlN,KAAK8R,OAAU9R,KAAK65C,SAIzCltC,IAAK,SAAUzC,GAEXlK,KAAKkN,EAAIhD,EAASlK,KAAW,OAAIA,KAAK65C,UA6C9C9lB,QAAS,SAAU63B,EAAW9vC,EAAU89B,EAASC,GAK7C,YAHgBtvC,IAAZqvC,IAAyBA,EAAU,QACvBrvC,IAAZsvC,IAAyBA,EAAU,GAE/B/9B,GAEJ,QACA,KAAKzb,EAAOuD,SACR5D,KAAK0L,KAAOkgD,EAAUlgD,KAAOkuC,EAC7B55C,KAAKyP,IAAMm8C,EAAUn8C,IAAMoqC,EAC3B,MAEJ,KAAKx5C,EAAOwD,WACR7D,KAAKyS,QAAUm5C,EAAUn5C,QAAUmnC,EACnC55C,KAAKyP,IAAMm8C,EAAUn8C,IAAMoqC,EAC3B,MAEJ,KAAKx5C,EAAOyD,UACR9D,KAAKyL,MAAQmgD,EAAUngD,MAAQmuC,EAC/B55C,KAAKyP,IAAMm8C,EAAUn8C,IAAMoqC,EAC3B,MAEJ,KAAKx5C,EAAO2D,YACRhE,KAAK0L,KAAOkgD,EAAUlgD,KAAOkuC,EAC7B55C,KAAK0S,QAAUk5C,EAAUl5C,QAAUmnC,EACnC,MAEJ,KAAKx5C,EAAO6D,OACRlE,KAAKyS,QAAUm5C,EAAUn5C,QAAUmnC,EACnC55C,KAAK0S,QAAUk5C,EAAUl5C,QAAUmnC,EACnC,MAEJ,KAAKx5C,EAAO+D,aACRpE,KAAKyL,MAAQmgD,EAAUngD,MAAQmuC,EAC/B55C,KAAK0S,QAAUk5C,EAAUl5C,QAAUmnC,EACnC,MAEJ,KAAKx5C,EAAOiE,YACRtE,KAAK0L,KAAOkgD,EAAUlgD,KAAOkuC,EAC7B55C,KAAK0P,OAASk8C,EAAUl8C,OAASmqC,EACjC,MAEJ,KAAKx5C,EAAOkE,cACRvE,KAAKyS,QAAUm5C,EAAUn5C,QAAUmnC,EACnC55C,KAAK0P,OAASk8C,EAAUl8C,OAASmqC,EACjC,MAEJ,KAAKx5C,EAAOmE,aACRxE,KAAKyL,MAAQmgD,EAAUngD,MAAQmuC,EAC/B55C,KAAK0P,OAASk8C,EAAUl8C,OAASmqC,EAIzC,OAAO75C,MA4CX6rD,QAAS,SAAU5/B,EAAQnQ,EAAU89B,EAASC,GAK1C,YAHgBtvC,IAAZqvC,IAAyBA,EAAU,QACvBrvC,IAAZsvC,IAAyBA,EAAU,GAE/B/9B,GAEJ,QACA,KAAKzb,EAAOuD,SACR5D,KAAK0L,KAAOugB,EAAOvgB,KAAOkuC,EAC1B55C,KAAK0P,OAASuc,EAAOxc,IAAMoqC,EAC3B,MAEJ,KAAKx5C,EAAOwD,WACR7D,KAAKyS,QAAUwZ,EAAOxZ,QAAUmnC,EAChC55C,KAAK0P,OAASuc,EAAOxc,IAAMoqC,EAC3B,MAEJ,KAAKx5C,EAAOyD,UACR9D,KAAKyL,MAAQwgB,EAAOxgB,MAAQmuC,EAC5B55C,KAAK0P,OAASuc,EAAOxc,IAAMoqC,EAC3B,MAEJ,KAAKx5C,EAAO0D,SACR/D,KAAKyL,MAAQwgB,EAAOvgB,KAAOkuC,EAC3B55C,KAAKyP,IAAMwc,EAAOxc,IAAMoqC,EACxB,MAEJ,KAAKx5C,EAAO2D,YACRhE,KAAKyL,MAAQwgB,EAAOvgB,KAAOkuC,EAC3B55C,KAAK0S,QAAUuZ,EAAOvZ,QAAUmnC,EAChC,MAEJ,KAAKx5C,EAAO4D,YACRjE,KAAKyL,MAAQwgB,EAAOvgB,KAAOkuC,EAC3B55C,KAAK0P,OAASuc,EAAOvc,OAASmqC,EAC9B,MAEJ,KAAKx5C,EAAO8D,UACRnE,KAAK0L,KAAOugB,EAAOxgB,MAAQmuC,EAC3B55C,KAAKyP,IAAMwc,EAAOxc,IAAMoqC,EACxB,MAEJ,KAAKx5C,EAAO+D,aACRpE,KAAK0L,KAAOugB,EAAOxgB,MAAQmuC,EAC3B55C,KAAK0S,QAAUuZ,EAAOvZ,QAAUmnC,EAChC,MAEJ,KAAKx5C,EAAOgE,aACRrE,KAAK0L,KAAOugB,EAAOxgB,MAAQmuC,EAC3B55C,KAAK0P,OAASuc,EAAOvc,OAASmqC,EAC9B,MAEJ,KAAKx5C,EAAOiE,YACRtE,KAAK0L,KAAOugB,EAAOvgB,KAAOkuC,EAC1B55C,KAAKyP,IAAMwc,EAAOvc,OAASmqC,EAC3B,MAEJ,KAAKx5C,EAAOkE,cACRvE,KAAKyS,QAAUwZ,EAAOxZ,QAAUmnC,EAChC55C,KAAKyP,IAAMwc,EAAOvc,OAASmqC,EAC3B,MAEJ,KAAKx5C,EAAOmE,aACRxE,KAAKyL,MAAQwgB,EAAOxgB,MAAQmuC,EAC5B55C,KAAKyP,IAAMwc,EAAOvc,OAASmqC,EAInC,OAAO75C,OAQfK,EAAO+vB,MAAM7pB,UAAUwtB,QAAU1zB,EAAOwqD,UAAUc,OAAOplD,UAAUwtB,QACnE1zB,EAAO+vB,MAAM7pB,UAAUslD,QAAUxrD,EAAOwqD,UAAUc,OAAOplD,UAAUslD,QAanExrD,EAAOwqD,UAAUiB,WAAa,aAY9BzrD,EAAOwqD,UAAUiB,WAAWvlD,UAAUguB,WAAa,WAO/C,OALIv0B,KAAKisB,QAELjsB,KAAKisB,OAAOsI,WAAWv0B,MAGpBA,MAcXK,EAAOwqD,UAAUiB,WAAWvlD,UAAUkuB,WAAa,WAO/C,OALIz0B,KAAKisB,QAELjsB,KAAKisB,OAAOwI,WAAWz0B,MAGpBA,MAcXK,EAAOwqD,UAAUiB,WAAWvlD,UAAUmuB,OAAS,WAO3C,OALI10B,KAAKisB,QAELjsB,KAAKisB,OAAOyI,OAAO10B,MAGhBA,MAcXK,EAAOwqD,UAAUiB,WAAWvlD,UAAUouB,SAAW,WAO7C,OALI30B,KAAKisB,QAELjsB,KAAKisB,OAAO0I,SAAS30B,MAGlBA,MAeXK,EAAOwqD,UAAUkB,KAAO,aAOxB1rD,EAAOwqD,UAAUkB,KAAKC,gBAAiB,EAUvC3rD,EAAOwqD,UAAUkB,KAAKE,QAAU,SAAUC,GAGtC7rD,EAAO6I,MAAMmD,eAAerM,KAAMK,EAAOwqD,UAAUkB,KAAKxlD,WAExDvG,KAAKksD,cAEL,IAAK,IAAIlkD,EAAI,EAAGA,EAAIkkD,EAAWnkD,OAAQC,IACvC,CACI,IAAI8O,EAAKo1C,EAAWlkD,GAChBuE,GAAU,EAEH,YAAPuK,IAEAvK,GAAU,GAGdlM,EAAO6I,MAAMmD,eAAerM,KAAMK,EAAOwqD,UAAU/zC,GAAIvQ,UAAWgG,GAElEvM,KAAKksD,WAAWp1C,IAAM,IAa9BzW,EAAOwqD,UAAUkB,KAAKlpC,KAAO,SAAU7F,EAAM7W,EAAG+G,EAAGrD,EAAKypB,GAEpD,IAAKjzB,EAAOwqD,UAAUkB,KAAKC,eAC3B,CACI,KAAMhvC,aAAgB3c,EAAOs6B,MAEzB,MAAM,IAAIlhB,MAAM,4CAA8CuD,EAAO,wCAGxD,iBAAN7W,IAEPmC,QAAQG,KAAK,kDAAmDtC,GAChEA,EAAI,GAGS,iBAAN+G,IAEP5E,QAAQG,KAAK,kDAAmDyE,GAChEA,EAAI,GAIZlN,KAAKgd,KAAOA,EACZhd,KAAK6J,IAAMA,EACX7J,KAAKumC,QAELvmC,KAAK8b,SAASnP,IAAIxG,EAAG+G,GACrBlN,KAAKid,MAAQ,IAAI5c,EAAOoN,MAAMtH,EAAG+G,GACjClN,KAAKmsD,iBAAmB,IAAI9rD,EAAOoN,MAAMtH,EAAG+G,GAE5ClN,KAAK8yB,OAAS,IAAIzyB,EAAO+rD,OAAOpsD,MAEhCA,KAAK0rD,QAAU,IAAIrrD,EAAO2N,UAEtBhO,KAAKksD,WAAWG,cAGhBrsD,KAAKuyB,KAAOvyB,KAAKuyB,MAGjBvyB,KAAKksD,WAAWlB,YAEhBhrD,KAAKqrD,WAAa,IAAIhrD,EAAOisD,iBAAiBtsD,OAG9CA,KAAKksD,WAAWK,aAAuB,OAAR1iD,GAE/B7J,KAAKm4B,YAAYtuB,EAAKypB,GAGtBtzB,KAAKksD,WAAWM,gBAEhBxsD,KAAK6xB,aAAe,IAAIxxB,EAAOoN,MAAMtH,EAAG+G,KAKhD7M,EAAOwqD,UAAUkB,KAAKtsC,UAAY,WAE9B,IAAIzf,KAAK8wB,eAST,OAHA9wB,KAAKmsD,iBAAiBx/C,IAAI3M,KAAKid,MAAM9W,EAAGnG,KAAKid,MAAM/P,GACnDlN,KAAKysD,iBAAmBzsD,KAAKg6B,SAExBh6B,KAAKitB,QAAWjtB,KAAKisB,OAAOgB,QAMjCjtB,KAAKid,MAAMhP,MAAMjO,KAAKgd,KAAKqC,OAAOlZ,EAAInG,KAAKktB,eAAe7Z,GAAIrT,KAAKgd,KAAKqC,OAAOnS,EAAIlN,KAAKktB,eAAe5Z,IAEnGtT,KAAKqd,UAELrd,KAAK82B,cAAgB92B,KAAKgd,KAAKuC,MAAM4N,wBAGrCntB,KAAKqrD,YAELrrD,KAAKqrD,WAAWtqC,SAGhB/gB,KAAKuyB,MAELvyB,KAAKuyB,KAAK9S,YAGdzf,KAAK0sD,qBAEE,IAvBH1sD,KAAK82B,eAAiB,GACf,GAVP92B,KAAKsmB,WAoCbjmB,EAAOwqD,UAAUkB,KAAKxlD,WAMlByW,KAAM,KAQNhT,KAAM,GAUNu8B,QAOA2lB,cAUAx7B,EAAG,EAQHoC,YAAQvoB,EAQR8gD,gBAAY9gD,EAUZV,IAAK,GAQLoT,MAAO,KAOPoJ,OAAO,EAOP8lC,iBAAkB,KAOlBM,iBAAkB,EAQlB31B,cAAe,EAQf61B,OAAO,EAWP77B,gBAAgB,EAMhB46B,QAAS,KAMTkB,SAAS,EAaT3/B,QAEIvgB,IAAK,WAED,OAAO1M,KAAK4sD,SAIhBjgD,IAAK,SAAUzC,GAEPA,GAEAlK,KAAK4sD,SAAU,EAEX5sD,KAAKuyB,MAAQvyB,KAAKuyB,KAAKnqB,OAAS/H,EAAOmwB,QAAQq8B,MAE/C7sD,KAAKuyB,KAAK/G,aAGdxrB,KAAKqd,SAAU,IAIfrd,KAAK4sD,SAAU,EAEX5sD,KAAKuyB,MAAQvyB,KAAKuyB,KAAKnqB,OAAS/H,EAAOmwB,QAAQq8B,MAE/C7sD,KAAKuyB,KAAKu6B,kBAGd9sD,KAAKqd,SAAU,KAa3BqvC,kBAAmB,WAKf,IAFA,IAAI1kD,EAAI,EAEDA,EAAIhI,KAAKouB,SAASrmB,QACzB,CACI,IAAIsmB,EAAQruB,KAAKouB,SAASpmB,GAE1BqmB,EAAM5O,YAEFzf,OAASquB,EAAMpC,QAEfjkB,MAaZ+Y,OAAQ,aAUR8L,WAAY,WAEJ7sB,KAAK+sD,cAEL/sD,KAAK6J,IAAIsZ,SAGTnjB,KAAKksD,WAAWG,aAEhBhsD,EAAOwqD,UAAUwB,YAAYx/B,WAAW7lB,KAAKhH,MAG7CA,KAAKksD,WAAWM,eAEhBnsD,EAAOwqD,UAAU2B,cAAc3/B,WAAW7lB,KAAKhH,MAGnD,IAAK,IAAIgI,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAEtChI,KAAKouB,SAASpmB,GAAG6kB,eAmB7BxsB,EAAOwqD,UAAUmC,KAAO,aAExB3sD,EAAOwqD,UAAUmC,KAAKzmD,WASlB0mD,SAAU,KAMVC,MAAO,KAmBPtW,KAAM,SAAUvhC,EAAMpJ,QAEL1B,IAAT0B,IAAsBA,GAAO,GAE7BoJ,GAEIpJ,GAA0B,OAAlBjM,KAAKitD,SAEbjtD,KAAKitD,SAASh/C,MAAMoH,EAAKlP,EAAGkP,EAAKnI,EAAGmI,EAAKxD,MAAOwD,EAAKvD,QAEhD7F,GAA0B,OAAlBjM,KAAKitD,SAElBjtD,KAAKitD,SAAW,IAAI5sD,EAAO2N,UAAUqH,EAAKlP,EAAGkP,EAAKnI,EAAGmI,EAAKxD,MAAOwD,EAAKvD,QAItE9R,KAAKitD,SAAW53C,EAGpBrV,KAAKmtD,eAILntD,KAAKktD,MAAQ,KACbltD,KAAKitD,SAAW,KAEhBjtD,KAAKotD,eAWbD,WAAY,WAER,GAAKntD,KAAKitD,SAAV,CAKA,IAAII,EAAOrtD,KAAKomC,QAAQwQ,KAAKzwC,EACzBmnD,EAAOttD,KAAKomC,QAAQwQ,KAAK1pC,EACzBqgD,EAAOvtD,KAAKomC,QAAQwQ,KAAK/kC,MACzB27C,EAAOxtD,KAAKomC,QAAQwQ,KAAK9kC,OAE7B9R,KAAKktD,MAAQ7sD,EAAO2N,UAAU7B,MAAMnM,KAAKitD,SAAUjtD,KAAKktD,OACxDltD,KAAKktD,MAAM/mD,GAAKnG,KAAKytD,OAAOtnD,EAC5BnG,KAAKktD,MAAMhgD,GAAKlN,KAAKytD,OAAOvgD,EAE5B,IAAI+C,EAAKhK,KAAK6N,IAAI9T,KAAKytD,OAAOtnD,EAAGnG,KAAKktD,MAAM/mD,GACxCiK,EAAKnK,KAAK6N,IAAI9T,KAAKytD,OAAOvgD,EAAGlN,KAAKktD,MAAMhgD,GACxCwgD,EAAKznD,KAAK2N,IAAI5T,KAAKytD,OAAOhiD,MAAOzL,KAAKktD,MAAMzhD,OAASwE,EACrD09C,EAAK1nD,KAAK2N,IAAI5T,KAAKytD,OAAO/9C,OAAQ1P,KAAKktD,MAAMx9C,QAAUU,EAE3DpQ,KAAKomC,QAAQwQ,KAAKzwC,EAAI8J,EACtBjQ,KAAKomC,QAAQwQ,KAAK1pC,EAAIkD,EACtBpQ,KAAKomC,QAAQwQ,KAAK/kC,MAAQ67C,EAC1B1tD,KAAKomC,QAAQwQ,KAAK9kC,OAAS67C,EAE3B3tD,KAAKomC,QAAQ9S,MAAMzhB,MAAQ5L,KAAK2N,IAAI85C,EAAI1tD,KAAKitD,SAASp7C,OACtD7R,KAAKomC,QAAQ9S,MAAMxhB,OAAS7L,KAAK2N,IAAI+5C,EAAI3tD,KAAKitD,SAASn7C,QAEvD9R,KAAKomC,QAAQv0B,MAAQ7R,KAAKomC,QAAQ9S,MAAMzhB,MACxC7R,KAAKomC,QAAQt0B,OAAS9R,KAAKomC,QAAQ9S,MAAMxhB,OAEzC9R,KAAKomC,QAAQwnB,aAEK,WAAd5tD,KAAK6tD,MAAsBR,IAASp9C,GAAMq9C,IAASl9C,GAAMm9C,IAASG,GAAMF,IAASG,IAEjF3tD,KAAKomC,QAAQ0nB,gBAAiB,MAkB1CztD,EAAOwqD,UAAUkD,MAAQ,aAEzB1tD,EAAOwqD,UAAUkD,MAAMxnD,WAUnBikC,QAEI99B,IAAK,WAED,OAAO1M,KAAKid,MAAM9W,EAAInG,KAAKmsD,iBAAiBhmD,IAcpDmjC,QAEI58B,IAAK,WAED,OAAO1M,KAAKid,MAAM/P,EAAIlN,KAAKmsD,iBAAiBj/C,IAYpDw9B,QAEIh+B,IAAK,WAED,OAAO1M,KAAKg6B,SAAWh6B,KAAKysD,oBAmBxCpsD,EAAOwqD,UAAUmD,QAAU,aAE3B3tD,EAAOwqD,UAAUmD,QAAQznD,WAQrB+yB,cAAc,EAedhT,QAAS,SAAUwT,EAAiBJ,GAEhC,GAAkB,OAAd15B,KAAKgd,OAAiBhd,KAAKs5B,aAA/B,MAEwB/uB,IAApBuvB,IAAiCA,GAAkB,QAChCvvB,IAAnBmvB,IAAgCA,GAAiB,GAErD15B,KAAKs5B,cAAe,EAEhBt5B,KAAK8yB,QAEL9yB,KAAK8yB,OAAOm7B,mBAAmBjuD,MAG/BA,KAAKisB,SAEDjsB,KAAKisB,kBAAkB5rB,EAAO+vB,MAE9BpwB,KAAKisB,OAAO3G,OAAOtlB,MAInBA,KAAKisB,OAAO+I,YAAYh1B,OAI5BA,KAAKsiB,OAELtiB,KAAKsiB,MAAMgE,UAGXtmB,KAAKqrD,YAELrrD,KAAKqrD,WAAW/kC,UAGhBtmB,KAAKuyB,MAELvyB,KAAKuyB,KAAKjM,UAGVtmB,KAAK8yB,QAEL9yB,KAAK8yB,OAAOxM,UAGhBtmB,KAAKgd,KAAK0F,OAAOwrC,WAAWluD,MAE5B,IAAIgI,EAAIhI,KAAKouB,SAASrmB,OAEtB,GAAI+xB,EAEA,KAAO9xB,KAEHhI,KAAKouB,SAASpmB,GAAGse,QAAQwT,QAK7B,KAAO9xB,KAEHhI,KAAKg1B,YAAYh1B,KAAKouB,SAASpmB,IAInChI,KAAKktD,QAELltD,KAAKktD,MAAQ,KACbltD,KAAKitD,SAAW,MAGhBjtD,KAAKytD,SAELztD,KAAKytD,OAAS,MAGdptD,EAAO8tD,OAASnuD,KAAK6J,eAAexJ,EAAO8tD,OAE3CnuD,KAAK6J,IAAIukD,eAAe9oC,OAAOtlB,KAAKquD,YAAaruD,MAGjDK,EAAOiuD,YAActuD,KAAKuuD,UAE1BvuD,KAAKuuD,YAGTvuD,KAAK4wB,OAAQ,EACb5wB,KAAKitB,QAAS,EACdjtB,KAAKqd,SAAU,EAEfrd,KAAK8rB,QAAU,KACf9rB,KAAKwuD,KAAO,KACZxuD,KAAKgd,KAAO,KAEZhd,KAAKumC,QAGLvmC,KAAKyuD,YAAa,EAEdzuD,KAAK0uD,oBAEL1uD,KAAK0uD,kBAAoB,KACzB1uD,KAAK2uD,yBAA2B,MAIpC3uD,KAAKimC,QAAU,KACfjmC,KAAKisB,OAAS,KACdjsB,KAAKuf,MAAQ,KACbvf,KAAKktB,eAAiB,KACtBltB,KAAK4uD,WAAa,KAClB5uD,KAAK0rD,QAAU,KACf1rD,KAAKy6B,eAAiB,KACtBz6B,KAAK6uD,MAAQ,KAEb7uD,KAAK8uD,uBAGDp1B,GAEA15B,KAAKomC,QAAQ9f,SAAQ,GAGzBtmB,KAAKs5B,cAAe,EACpBt5B,KAAK8wB,gBAAiB,KAmC9BzwB,EAAO+rD,OAAS,SAAU7xB,GAKtBv6B,KAAKisB,OAASsO,GAMlBl6B,EAAO+rD,OAAO7lD,WAOV+f,QAAS,WAELtmB,KAAK+uD,QAAU,KAEX/uD,KAAKgvD,YAAwBhvD,KAAKgvD,WAAWjmC,UAC7C/oB,KAAKivD,iBAAwBjvD,KAAKivD,gBAAgBlmC,UAClD/oB,KAAKkvD,qBAAwBlvD,KAAKkvD,oBAAoBnmC,UACtD/oB,KAAKmvD,WAAwBnvD,KAAKmvD,UAAUpmC,UAC5C/oB,KAAKovD,YAAwBpvD,KAAKovD,WAAWrmC,UAC7C/oB,KAAKqvD,gBAAwBrvD,KAAKqvD,eAAetmC,UACjD/oB,KAAKsvD,gBAAwBtvD,KAAKsvD,eAAevmC,UAEjD/oB,KAAKuvD,cAAwBvvD,KAAKuvD,aAAaxmC,UAC/C/oB,KAAKwvD,aAAwBxvD,KAAKwvD,YAAYzmC,UAC9C/oB,KAAKyvD,cAAwBzvD,KAAKyvD,aAAa1mC,UAC/C/oB,KAAK0vD,YAAwB1vD,KAAK0vD,WAAW3mC,UAC7C/oB,KAAK2vD,cAAwB3vD,KAAK2vD,aAAa5mC,UAC/C/oB,KAAK4vD,eAAwB5vD,KAAK4vD,cAAc7mC,UAChD/oB,KAAK6vD,aAAwB7vD,KAAK6vD,YAAY9mC,UAE9C/oB,KAAK8vD,mBAAwB9vD,KAAK8vD,kBAAkB/mC,UACpD/oB,KAAK+vD,sBAAwB/vD,KAAK+vD,qBAAqBhnC,UACvD/oB,KAAKgwD,kBAAwBhwD,KAAKgwD,iBAAiBjnC,WAe3DqsB,eAAgB,KAWhBE,mBAAoB,KAWpB5jB,UAAW,KAYXu+B,SAAU,KAWVC,UAAW,KAWXC,cAAe,KAWfC,cAAe,KAYfC,YAAa,KAYbC,WAAY,KAaZC,YAAa,KAcbC,UAAW,KAeXC,YAAa,KAiBbvY,aAAc,KAYdwY,WAAY,KAaZC,iBAAkB,KAalBC,oBAAqB,KAarBC,gBAAiB,MAIrBxwD,EAAO+rD,OAAO7lD,UAAU8B,YAAchI,EAAO+rD,OAK7C,IAAK,IAAI1iD,KAAQrJ,EAAO+rD,OAAO7lD,UAEtBlG,EAAO+rD,OAAO7lD,UAAUuC,eAAeY,IACjB,IAAvBA,EAAKupB,QAAQ,OACqB,OAAlC5yB,EAAO+rD,OAAO7lD,UAAUmD,IAK5B,SAAWA,EAAMonD,GACb,aAGArpD,OAAOmF,eAAevM,EAAO+rD,OAAO7lD,UAAWmD,GAC3CgD,IAAK,WACD,OAAO1M,KAAK8wD,KAAa9wD,KAAK8wD,GAAW,IAAIzwD,EAAOud,WAK5Dvd,EAAO+rD,OAAO7lD,UAAUmD,EAAO,aAAe,WAC1C,OAAO1J,KAAK8wD,GAAW9wD,KAAK8wD,GAASzvC,SAASla,MAAMnH,KAAK8wD,GAAU7pD,WAAa,MAZxF,CAeGyC,EAAM,IAAMA,GAgBnBrJ,EAAOwqD,UAAU2B,cAAgB,aAQjCnsD,EAAOwqD,UAAU2B,cAAc3/B,WAAa,WAEpC7sB,KAAK4xB,gBAEL5xB,KAAK8b,SAAS3V,GAAKnG,KAAKgd,KAAKqC,OAAOnC,KAAK/W,EAAInG,KAAK6xB,aAAa1rB,GAAKnG,KAAKgd,KAAKqC,OAAOrI,MAAM7Q,EAC3FnG,KAAK8b,SAAS5O,GAAKlN,KAAKgd,KAAKqC,OAAOnC,KAAKhQ,EAAIlN,KAAK6xB,aAAa3kB,GAAKlN,KAAKgd,KAAKqC,OAAOrI,MAAM9J,IAKnG7M,EAAOwqD,UAAU2B,cAAcjmD,WAM3BwqD,gBAAgB,EAkBhBn/B,eAEIllB,IAAK,WAED,OAAO1M,KAAK+wD,gBAIhBpkD,IAAK,SAAUzC,GAEPA,GAEAlK,KAAK+wD,gBAAiB,EACtB/wD,KAAK6xB,aAAallB,IAAI3M,KAAKmG,EAAGnG,KAAKkN,IAInClN,KAAK+wD,gBAAiB,IAalCl/B,aAAc,IAAIxxB,EAAOoN,OAiB7BpN,EAAOwqD,UAAUmG,OAAS,aAE1B3wD,EAAOwqD,UAAUmG,OAAOzqD,WAUpB0qD,OAAQ,EASRC,UAAW,IAWXC,OAAQ,SAAUv7B,GAYd,OAVI51B,KAAK4wB,QAEL5wB,KAAKixD,QAAUr7B,EAEX51B,KAAKixD,QAAU,GAEfjxD,KAAKg2B,QAINh2B,MAYXoxD,UAAW,SAAUx7B,GASjB,OAPA51B,KAAKixD,OAASr7B,EAEV51B,KAAKixD,OAASjxD,KAAKkxD,YAEnBlxD,KAAKixD,OAASjxD,KAAKkxD,WAGhBlxD,MAWXqxD,KAAM,SAAUz7B,GAYZ,OAVI51B,KAAK4wB,QAEL5wB,KAAKixD,QAAUr7B,EAEX51B,KAAKixD,OAASjxD,KAAKkxD,YAEnBlxD,KAAKixD,OAASjxD,KAAKkxD,YAIpBlxD,OAiBfK,EAAOwqD,UAAUyG,SAAW,aAE5BjxD,EAAOwqD,UAAUyG,SAAS/qD,WAYtBilD,UAEI9+C,IAAK,WAED,OAAO1M,KAAKgd,KAAKC,MAAMoC,OAAOnC,KAAKrN,WAAW7P,KAAK0rD,YAmB/DrrD,EAAOwqD,UAAU0G,aAAe,aAEhClxD,EAAOwqD,UAAU0G,aAAahrD,WAU1B+b,MAAO,KAkBPuQ,cAEInmB,IAAK,WAED,OAAQ1M,KAAKsiB,OAAStiB,KAAKsiB,MAAMoe,SAIrC/zB,IAAK,SAAUzC,GAEPA,EAEmB,OAAflK,KAAKsiB,OAELtiB,KAAKsiB,MAAQ,IAAIjiB,EAAOqyC,aAAa1yC,MACrCA,KAAKsiB,MAAMvR,SAEN/Q,KAAKsiB,QAAUtiB,KAAKsiB,MAAMoe,SAE/B1gC,KAAKsiB,MAAMvR,QAKX/Q,KAAKsiB,OAAStiB,KAAKsiB,MAAMoe,SAEzB1gC,KAAKsiB,MAAMsd,UAuB/Bv/B,EAAOwqD,UAAU2G,QAAU,aAQ3BnxD,EAAOwqD,UAAU2G,QAAQ/xC,UAAY,WAGjC,GAAIzf,KAAKurD,UAAYvrD,KAAKyrD,iBAC1B,CAMI,GALAzrD,KAAK0rD,QAAQx9C,SAASlO,KAAK+N,aAE3B/N,KAAK0rD,QAAQvlD,GAAKnG,KAAKgd,KAAKqC,OAAOnC,KAAK/W,EACxCnG,KAAK0rD,QAAQx+C,GAAKlN,KAAKgd,KAAKqC,OAAOnC,KAAKhQ,EAEpClN,KAAKurD,SAGL,GAAIvrD,KAAKgd,KAAKC,MAAMoC,OAAOnC,KAAKrN,WAAW7P,KAAK0rD,SAE5C1rD,KAAKyuD,YAAa,EAClBzuD,KAAKgd,KAAKC,MAAMoC,OAAO5B,mBAMvB,GAFAzd,KAAKyuD,YAAa,EAEdzuD,KAAKyxD,sBAGL,OADAzxD,KAAKg2B,QACE,EAKnB,GAAIh2B,KAAKyrD,iBAGL,GAAIzrD,KAAK0xD,mBAAqB1xD,KAAKgd,KAAKC,MAAME,OAAOtN,WAAW7P,KAAK0rD,SAEjE1rD,KAAK0xD,mBAAoB,EACzB1xD,KAAK8yB,OAAO6+B,uBAAuB3xD,WAElC,IAAKA,KAAK0xD,oBAAsB1xD,KAAKgd,KAAKC,MAAME,OAAOtN,WAAW7P,KAAK0rD,WAGxE1rD,KAAK0xD,mBAAoB,EACzB1xD,KAAK8yB,OAAO8+B,uBAAuB5xD,MAE/BA,KAAK6xD,iBAGL,OADA7xD,KAAKg2B,QACE,EAMvB,OAAO,GAIX31B,EAAOwqD,UAAU2G,QAAQjrD,WAmBrBklD,kBAAkB,EAQlBoG,iBAAiB,EASjBJ,uBAAuB,EAMvBC,mBAAmB,EAQnBI,SAEIplD,IAAK,WAED,OAAO1M,KAAKgd,KAAKC,MAAME,OAAOtN,WAAW7P,KAAK+N,gBAmB1D1N,EAAOwqD,UAAUkH,SAAW,aAQ5B1xD,EAAOwqD,UAAUkH,SAAStyC,UAAY,WAElC,QAAIzf,KAAKgyD,SAAW,IAEhBhyD,KAAKgyD,UAAYhyD,KAAKgd,KAAKmE,KAAK8wC,iBAE5BjyD,KAAKgyD,UAAY,MAEjBhyD,KAAKg2B,QACE,IAQnB31B,EAAOwqD,UAAUkH,SAASxrD,WAatBqqB,OAAO,EAePohC,SAAU,EAaV77B,OAAQ,SAAU86B,GAkBd,YAhBe1mD,IAAX0mD,IAAwBA,EAAS,KAErCjxD,KAAK4wB,OAAQ,EACb5wB,KAAKitB,QAAS,EACdjtB,KAAKqd,SAAU,EAEe,mBAAnBrd,KAAKoxD,WAEZpxD,KAAKoxD,UAAUH,GAGfjxD,KAAK8yB,QAEL9yB,KAAK8yB,OAAOo/B,mBAAmBlyD,MAG5BA,MAiBXg2B,KAAM,WAWF,OATAh2B,KAAK4wB,OAAQ,EACb5wB,KAAKitB,QAAS,EACdjtB,KAAKqd,SAAU,EAEXrd,KAAK8yB,QAEL9yB,KAAK8yB,OAAOq/B,kBAAkBnyD,MAG3BA,OAiBfK,EAAOwqD,UAAU0B,YAAc,aAE/BlsD,EAAOwqD,UAAU0B,YAAYhmD,WAMzBwmD,cAAc,EAMdU,OAAQ,KAyBRt1B,YAAa,SAAUtuB,EAAKypB,EAAO8+B,GAE3BvoD,IAAQxJ,EAAO0C,eAEf8G,EAAMypB,EACNA,EAAQ,GAIRA,EAAQA,GAAS,GAGhB8+B,QAAmC7nD,IAAlB6nD,IAAgCpyD,KAAKqrD,YAEvDrrD,KAAKqrD,WAAWzrB,OAGpB5/B,KAAK6J,IAAMA,EACX7J,KAAK+sD,cAAe,EACpB,IAAI1qC,EAAQriB,KAAKgd,KAAKqF,MAElBgwC,GAAW,EACX1zB,GAAY3+B,KAAKomC,QAAQC,YAAYisB,UAEzC,GAAIjyD,EAAOkyD,eAAiB1oD,aAAexJ,EAAOkyD,cAE9CvyD,KAAK6J,IAAMA,EAAIA,IACf7J,KAAKwyD,WAAW3oD,QAEf,GAAIxJ,EAAOoyD,YAAc5oD,aAAexJ,EAAOoyD,WAEhDzyD,KAAK+sD,cAAe,EAEpB/sD,KAAKwyD,WAAW3oD,EAAIu8B,SAIhBisB,EAFAhwC,EAAMqwC,aAAa7oD,EAAIA,IAAKxJ,EAAOurB,MAAM7pB,aAE7B/B,KAAKqrD,WAAWsH,cAActwC,EAAMuwC,aAAa/oD,EAAIA,IAAKxJ,EAAOurB,MAAM7pB,YAAauxB,IAIpFtzB,KAAKqrD,WAAWsH,cAAc9oD,EAAIgpD,UAAW,QAG5D,GAAIxyD,EAAO8tD,OAAStkD,aAAexJ,EAAO8tD,MAC/C,CACInuD,KAAK+sD,cAAe,EAGpB,IAAI+F,EAAQjpD,EAAIu8B,QAAQ0sB,MACxB9yD,KAAKwyD,WAAW3oD,EAAIu8B,SACpBpmC,KAAKqyD,SAASxoD,EAAIu8B,QAAQ9S,MAAMnnB,SAChCtC,EAAIukD,eAAe76C,IAAIvT,KAAKquD,YAAaruD,MACzCA,KAAKomC,QAAQ0sB,MAAQA,OAEpB,GAAIzyD,EAAO0yD,SAAWlpD,aAAexJ,EAAO2yD,aAI7ChzD,KAAKwyD,WAAWzsD,KAAKktD,QAAQC,WAAWrpD,EAAIkkB,cAE3C,GAAIlkB,aAAe9D,KAAKktD,QAEzBjzD,KAAKwyD,WAAW3oD,OAGpB,CACI,IAAIspD,EAAM9wC,EAAM+wC,SAASvpD,GAAK,GAE9B7J,KAAK6J,IAAMspD,EAAItpD,IACf7J,KAAKwyD,WAAW,IAAIzsD,KAAKktD,QAAQE,EAAIE,OAIjCrzD,KAAKomC,QAAQC,YAAYitB,WAFjB,cAARzpD,EASJwoD,GAAYryD,KAAKqrD,WAAWsH,cAAcQ,EAAIN,UAAWv/B,GAGzD++B,IAEAryD,KAAKytD,OAASptD,EAAO2N,UAAU7B,MAAMnM,KAAKomC,QAAQ9S,QAGjDqL,IAED3+B,KAAKomC,QAAQC,YAAYisB,UAAY,IAa7CD,SAAU,SAAU/+B,GAEhBtzB,KAAKytD,OAASn6B,EAEdtzB,KAAKomC,QAAQ9S,MAAMntB,EAAImtB,EAAMntB,EAC7BnG,KAAKomC,QAAQ9S,MAAMpmB,EAAIomB,EAAMpmB,EAC7BlN,KAAKomC,QAAQ9S,MAAMzhB,MAAQyhB,EAAMzhB,MACjC7R,KAAKomC,QAAQ9S,MAAMxhB,OAASwhB,EAAMxhB,OAElC9R,KAAKomC,QAAQwQ,KAAKzwC,EAAImtB,EAAMntB,EAC5BnG,KAAKomC,QAAQwQ,KAAK1pC,EAAIomB,EAAMpmB,EAC5BlN,KAAKomC,QAAQwQ,KAAK/kC,MAAQyhB,EAAMzhB,MAChC7R,KAAKomC,QAAQwQ,KAAK9kC,OAASwhB,EAAMxhB,OAE7BwhB,EAAMigC,SAEFvzD,KAAKomC,QAAQuQ,MAEb32C,KAAKomC,QAAQuQ,KAAKxwC,EAAImtB,EAAMkgC,kBAC5BxzD,KAAKomC,QAAQuQ,KAAKzpC,EAAIomB,EAAMmgC,kBAC5BzzD,KAAKomC,QAAQuQ,KAAK9kC,MAAQyhB,EAAMogC,YAChC1zD,KAAKomC,QAAQuQ,KAAK7kC,OAASwhB,EAAMqgC,aAIjC3zD,KAAKomC,QAAQuQ,MAASxwC,EAAGmtB,EAAMkgC,kBAAmBtmD,EAAGomB,EAAMmgC,kBAAmB5hD,MAAOyhB,EAAMogC,YAAa5hD,OAAQwhB,EAAMqgC,aAG1H3zD,KAAKomC,QAAQv0B,MAAQyhB,EAAMogC,YAC3B1zD,KAAKomC,QAAQt0B,OAASwhB,EAAMqgC,YAC5B3zD,KAAKomC,QAAQ9S,MAAMzhB,MAAQyhB,EAAMogC,YACjC1zD,KAAKomC,QAAQ9S,MAAMxhB,OAASwhB,EAAMqgC,cAE5BrgC,EAAMigC,SAAWvzD,KAAKomC,QAAQuQ,OAEpC32C,KAAKomC,QAAQuQ,KAAO,MAGpBrjB,EAAMsgC,UAEN5zD,KAAKomC,QAAQwtB,SAAU,GAGvB5zD,KAAKitD,UAELjtD,KAAKmtD,aAGTntD,KAAKomC,QAAQ0nB,gBAAiB,EAE9B9tD,KAAKomC,QAAQwnB,aAET5tD,KAAK6zD,gBAEL7zD,KAAK8zD,gBAAiB,IAgB9BzF,YAAa,SAAUpiC,EAAQpa,EAAOC,GAElC9R,KAAKomC,QAAQ9S,MAAMjY,OAAOxJ,EAAOC,GACjC9R,KAAKomC,QAAQisB,SAASryD,KAAKomC,QAAQ9S,QASvC85B,WAAY,WAEJptD,KAAKytD,QAELztD,KAAKqyD,SAASryD,KAAKytD,SAkB3Bn6B,OAEI5mB,IAAK,WACD,OAAO1M,KAAKqrD,WAAW/3B,OAG3B3mB,IAAK,SAAUzC,GACXlK,KAAKqrD,WAAW/3B,MAAQppB,IAkBhC6pD,WAEIrnD,IAAK,WACD,OAAO1M,KAAKqrD,WAAW0I,WAG3BpnD,IAAK,SAAUzC,GACXlK,KAAKqrD,WAAW0I,UAAY7pD,KAkBxC7J,EAAOwqD,UAAUmJ,QAAU,aAE3B3zD,EAAOwqD,UAAUmJ,QAAQztD,WAerB0tD,QAAS,SAAUz2C,GAEf,OAAOnd,EAAO2N,UAAU6B,WAAW7P,KAAK+N,YAAayP,EAAczP,eAkB3E1N,EAAOwqD,UAAUwB,YAAc,aAQ/BhsD,EAAOwqD,UAAUwB,YAAY5sC,UAAY,WAErC,OAAIzf,KAAK2sD,OAAS3sD,KAAKitB,QAEnBjtB,KAAKid,MAAMhP,MAAMjO,KAAKisB,OAAOnQ,SAAS3V,EAAInG,KAAK8b,SAAS3V,EAAGnG,KAAKisB,OAAOnQ,SAAS5O,EAAIlN,KAAK8b,SAAS5O,GAClGlN,KAAKktB,eAAe7Z,GAAKrT,KAAKid,MAAM9W,EACpCnG,KAAKktB,eAAe5Z,GAAKtT,KAAKid,MAAM/P,EAEpClN,KAAKmsD,iBAAiBx/C,IAAI3M,KAAKid,MAAM9W,EAAGnG,KAAKid,MAAM/P,GACnDlN,KAAKysD,iBAAmBzsD,KAAKg6B,SAEzBh6B,KAAKuyB,MAELvyB,KAAKuyB,KAAK9S,YAGdzf,KAAK2sD,OAAQ,EAEb3sD,KAAK0sD,qBAEE,IAGX1sD,KAAKmsD,iBAAiBx/C,IAAI3M,KAAKid,MAAM9W,EAAGnG,KAAKid,MAAM/P,GACnDlN,KAAKysD,iBAAmBzsD,KAAKg6B,YAExBh6B,KAAK4sD,UAAY5sD,KAAKisB,OAAOgB,UAE9BjtB,KAAK82B,eAAiB,GACf,KAafz2B,EAAOwqD,UAAUwB,YAAYx/B,WAAa,WAElC7sB,KAAKitB,QAAUjtB,KAAKuyB,MAEpBvyB,KAAKuyB,KAAK1F,cAKlBxsB,EAAOwqD,UAAUwB,YAAY9lD,WAqBzBgsB,KAAM,KAONpsB,GAEIuG,IAAK,WAED,OAAO1M,KAAK8b,SAAS3V,GAIzBwG,IAAK,SAAUzC,GAEXlK,KAAK8b,SAAS3V,EAAI+D,EAEdlK,KAAKuyB,OAASvyB,KAAKuyB,KAAKvI,QAExBhqB,KAAKuyB,KAAK2hC,QAAS,KAY/BhnD,GAEIR,IAAK,WAED,OAAO1M,KAAK8b,SAAS5O,GAIzBP,IAAK,SAAUzC,GAEXlK,KAAK8b,SAAS5O,EAAIhD,EAEdlK,KAAKuyB,OAASvyB,KAAKuyB,KAAKvI,QAExBhqB,KAAKuyB,KAAK2hC,QAAS,MAoBnC7zD,EAAOwqD,UAAUsJ,MAAQ,aAkBzB9zD,EAAOwqD,UAAUsJ,MAAM5tD,UAAU0b,MAAQ,SAAU9b,EAAG+G,EAAG+jD,GA+BrD,YA7Be1mD,IAAX0mD,IAAwBA,EAAS,GAErCjxD,KAAKid,MAAMtQ,IAAIxG,EAAG+G,GAClBlN,KAAK8b,SAASnP,IAAIxG,EAAG+G,GAErBlN,KAAK2sD,OAAQ,EACb3sD,KAAKitB,QAAS,EACdjtB,KAAKqd,SAAU,EACfrd,KAAKyuD,YAAa,EAEdzuD,KAAKksD,WAAWsF,UAEhBxxD,KAAK0xD,mBAAoB,GAGzB1xD,KAAKksD,WAAW6F,WAEhB/xD,KAAK4wB,OAAQ,EACb5wB,KAAKixD,OAASA,GAGdjxD,KAAKksD,WAAWG,aAEZrsD,KAAKuyB,MAELvyB,KAAKuyB,KAAKtQ,MAAM9b,EAAG+G,GAAG,GAAO,GAI9BlN,MAeXK,EAAOwqD,UAAUuJ,YAAc,aAE/B/zD,EAAOwqD,UAAUuJ,YAAY7tD,WAMzBmoD,kBAAmB,KAMnBC,yBAA0B3uD,KAU1Bq0D,SAAU,KAUVC,SAAU,KASVC,eAAgB,SAAU1uB,GAElB7lC,KAAKq0D,WAEDxuB,EAAGr2B,EAAIxP,KAAKq0D,SAASluD,IAErB0/B,EAAGr2B,EAAIxP,KAAKq0D,SAASluD,GAGrB0/B,EAAGzvB,EAAIpW,KAAKq0D,SAASnnD,IAErB24B,EAAGzvB,EAAIpW,KAAKq0D,SAASnnD,IAIzBlN,KAAKs0D,WAEDzuB,EAAGr2B,EAAIxP,KAAKs0D,SAASnuD,IAErB0/B,EAAGr2B,EAAIxP,KAAKs0D,SAASnuD,GAGrB0/B,EAAGzvB,EAAIpW,KAAKs0D,SAASpnD,IAErB24B,EAAGzvB,EAAIpW,KAAKs0D,SAASpnD,KA+BjCsnD,eAAgB,SAAUC,EAAMC,EAAMC,EAAMC,QAE3BrqD,IAATmqD,EAGAA,EAAOC,EAAOC,EAAOH,OAEPlqD,IAAToqD,IAGLA,EAAOC,EAAOF,EACdA,EAAOD,GAGE,OAATA,EAEAz0D,KAAKq0D,SAAW,KAIZr0D,KAAKq0D,SAELr0D,KAAKq0D,SAAS1nD,IAAI8nD,EAAMC,GAIxB10D,KAAKq0D,SAAW,IAAIh0D,EAAOoN,MAAMgnD,EAAMC,GAIlC,OAATC,EAEA30D,KAAKs0D,SAAW,KAIZt0D,KAAKs0D,SAELt0D,KAAKs0D,SAAS3nD,IAAIgoD,EAAMC,GAIxB50D,KAAKs0D,SAAW,IAAIj0D,EAAOoN,MAAMknD,EAAMC,GAIzB,OAAlB50D,KAAKq0D,SAELr0D,KAAK0uD,kBAAoB,MAIzB1uD,KAAK0uD,kBAAoB1uD,KAAKu0D,eAC9Bv0D,KAAK2uD,yBAA2B3uD,QAkB5CK,EAAOwqD,UAAUgK,SAAW,aAE5Bx0D,EAAOwqD,UAAUgK,SAAStuD,WAWtBo4B,UAEIjyB,IAAK,WAED,OAAQ1M,KAAKomC,QAAQC,YAAYisB,WAIrC3lD,IAAK,SAAUzC,GAEPA,EAEIlK,KAAKomC,UAELpmC,KAAKomC,QAAQC,YAAYisB,UAAY,GAKrCtyD,KAAKomC,UAELpmC,KAAKomC,QAAQC,YAAYisB,UAAY,MAyBzDjyD,EAAOw8B,kBAAoB,SAAU7f,GAMjChd,KAAKgd,KAAOA,EAMZhd,KAAKid,MAAQjd,KAAKgd,KAAKC,OAI3B5c,EAAOw8B,kBAAkBt2B,WASrBuuD,SAAU,SAAUv8B,GAEhB,OAAOv4B,KAAKid,MAAM1J,IAAIglB,IAyB1Bw8B,OAAQ,SAAUvhC,EAAU3pB,EAAKypB,EAAOmG,EAAOu7B,GAE3C,IAAID,EAAS/0D,KAAKgd,KAAKyP,QAAQlZ,IAAIlT,EAAO40D,QAS1C,OAPID,IAEAD,EAAOC,YAAcA,GAGzBD,EAAOG,cAAc1hC,EAAU3pB,EAAKypB,EAAOmG,GAEpCs7B,GAoBXppC,MAAO,SAAUxlB,EAAG+G,EAAGrD,EAAKypB,EAAOmG,GAI/B,YAFclvB,IAAVkvB,IAAuBA,EAAQz5B,KAAKid,OAEjCwc,EAAMlmB,IAAI,IAAIlT,EAAO80D,MAAMn1D,KAAKgd,KAAM7W,EAAG+G,EAAGrD,EAAKypB,KAmB5DiH,OAAQ,SAAUp0B,EAAG+G,EAAGrD,EAAKypB,EAAOmG,GAIhC,YAFclvB,IAAVkvB,IAAuBA,EAAQz5B,KAAKid,OAEjCwc,EAAMxW,OAAO9c,EAAG+G,EAAGrD,EAAKypB,IAyBnC8hC,SAAU,SAAUjvD,EAAG+G,EAAGrD,EAAKwrD,EAAM57B,QAEnBlvB,IAAVkvB,IAAuBA,EAAQz5B,KAAKid,OAExC,IAAIxT,EAAM,IAAIpJ,EAAO6lC,SAASlmC,KAAKgd,KAAM7W,EAAG+G,EAAGrD,EAAKwrD,GAIpD,OAFA57B,EAAMlmB,IAAI9J,GAEHA,GAaX6rD,MAAO,SAAU/8B,GAEb,OAAOv4B,KAAKgd,KAAK0F,OAAOO,OAAOsV,IAenCkB,MAAO,SAAUxN,EAAQjiB,EAAMqmB,EAAYC,EAAYC,GAEnD,OAAO,IAAIlwB,EAAO+vB,MAAMpwB,KAAKgd,KAAMiP,EAAQjiB,EAAMqmB,EAAYC,EAAYC,IAiB7EglC,aAAc,SAAUhlC,EAAiBtE,EAAQjiB,EAAMqmB,GAEnD,OAAO,IAAIhwB,EAAO+vB,MAAMpwB,KAAKgd,KAAMiP,EAAQjiB,EAAMqmB,GAAY,EAAME,IAevEilC,YAAa,SAAUvpC,EAAQjiB,EAAMqmB,GAMjC,YAJe9lB,IAAX0hB,IAAwBA,EAAS,WACxB1hB,IAATP,IAAsBA,EAAO,cACdO,IAAf8lB,IAA4BA,GAAa,GAEtC,IAAIhwB,EAAOo1D,YAAYz1D,KAAKgd,KAAMiP,EAAQjiB,EAAMqmB,IAc3DqlC,MAAO,SAAU7rD,EAAK2S,EAAQ2uC,EAAMtP,GAEhC,OAAO77C,KAAKgd,KAAKwF,MAAMjP,IAAI1J,EAAK2S,EAAQ2uC,EAAMtP,IAclDr5B,MAAO,SAAU3Y,EAAK2S,EAAQ2uC,EAAMtP,GAEhC,OAAO77C,KAAKgd,KAAKwF,MAAMjP,IAAI1J,EAAK2S,EAAQ2uC,EAAMtP,IAWlD8Z,YAAa,SAAU9rD,GAEnB,OAAO7J,KAAKgd,KAAKwF,MAAMozC,UAAU/rD,IAiBrCgsD,WAAY,SAAU1vD,EAAG+G,EAAG2E,EAAOC,EAAQjI,EAAKypB,EAAOmG,GAInD,YAFclvB,IAAVkvB,IAAuBA,EAAQz5B,KAAKid,OAEjCwc,EAAMlmB,IAAI,IAAIlT,EAAO8lC,WAAWnmC,KAAKgd,KAAM7W,EAAG+G,EAAG2E,EAAOC,EAAQjI,EAAKypB,KAkBhFwiC,KAAM,SAAU3vD,EAAG+G,EAAGrD,EAAKypB,EAAO9Z,EAAQigB,GAItC,YAFclvB,IAAVkvB,IAAuBA,EAAQz5B,KAAKid,OAEjCwc,EAAMlmB,IAAI,IAAIlT,EAAO01D,KAAK/1D,KAAKgd,KAAM7W,EAAG+G,EAAGrD,EAAKypB,EAAO9Z,KAelEw8C,KAAM,SAAU7vD,EAAG+G,EAAG8oD,EAAMr2C,EAAO8Z,GAI/B,YAFclvB,IAAVkvB,IAAuBA,EAAQz5B,KAAKid,OAEjCwc,EAAMlmB,IAAI,IAAIlT,EAAO41D,KAAKj2D,KAAKgd,KAAM7W,EAAG+G,EAAG8oD,EAAMr2C,KAoB5DsnB,OAAQ,SAAU9gC,EAAG+G,EAAGrD,EAAK4pB,EAAUlO,EAAiB2wC,EAAWC,EAAUC,EAAWC,EAAS58B,GAI7F,YAFclvB,IAAVkvB,IAAuBA,EAAQz5B,KAAKid,OAEjCwc,EAAMlmB,IAAI,IAAIlT,EAAOi2D,OAAOt2D,KAAKgd,KAAM7W,EAAG+G,EAAGrD,EAAK4pB,EAAUlO,EAAiB2wC,EAAWC,EAAUC,EAAWC,KAaxHE,SAAU,SAAUpwD,EAAG+G,EAAGusB,GAItB,YAFclvB,IAAVkvB,IAAuBA,EAAQz5B,KAAKid,OAEjCwc,EAAMlmB,IAAI,IAAIlT,EAAOif,SAAStf,KAAKgd,KAAM7W,EAAG+G,KAiBvDspD,QAAS,SAAUrwD,EAAG+G,EAAGupD,GAErB,OAAOz2D,KAAKgd,KAAK2F,UAAUpP,IAAI,IAAIlT,EAAO+8B,UAAUs5B,OAAOC,QAAQ32D,KAAKgd,KAAM7W,EAAG+G,EAAGupD,KA0BxFG,UAAW,SAAUC,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEzG,OAAO,IAAIh3D,EAAOi3D,UAAUt3D,KAAKgd,KAAM65C,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,IAgCnIE,WAAY,SAAUpxD,EAAG+G,EAAG2pD,EAAMb,EAAMnrD,EAAM4uB,GAI1C,YAFclvB,IAAVkvB,IAAuBA,EAAQz5B,KAAKid,OAEjCwc,EAAMlmB,IAAI,IAAIlT,EAAOiuD,WAAWtuD,KAAKgd,KAAM7W,EAAG+G,EAAG2pD,EAAMb,EAAMnrD,KAqBxE2sD,QAAS,SAAU3tD,EAAK4tD,EAAWC,EAAY7lD,EAAOC,GAElD,OAAO,IAAIzR,EAAO0yD,QAAQ/yD,KAAKgd,KAAMnT,EAAK4tD,EAAWC,EAAY7lD,EAAOC,IAc5E6lD,cAAe,SAAU9lD,EAAOC,EAAQjI,EAAK+tD,QAE7BrtD,IAARV,GAA6B,KAARA,IAAcA,EAAM7J,KAAKgd,KAAKsE,IAAIu2C,aACxCttD,IAAfqtD,IAA4BA,GAAa,GAE7C,IAAIxxB,EAAU,IAAI/lC,EAAOkyD,cAAcvyD,KAAKgd,KAAMnL,EAAOC,EAAQjI,GAOjE,OALI+tD,GAEA53D,KAAKgd,KAAKqF,MAAMy1C,iBAAiBjuD,EAAKu8B,GAGnCA,GAcX2xB,MAAO,SAAUluD,EAAKmuD,GAElB,OAAO,IAAI33D,EAAO8tD,MAAMnuD,KAAKgd,KAAMnT,EAAKmuD,IAgB5CC,WAAY,SAAUpmD,EAAOC,EAAQjI,EAAK+tD,QAEnBrtD,IAAfqtD,IAA4BA,GAAa,QACjCrtD,IAARV,GAA6B,KAARA,IAAcA,EAAM7J,KAAKgd,KAAKsE,IAAIu2C,QAE3D,IAAIzxB,EAAU,IAAI/lC,EAAOoyD,WAAWzyD,KAAKgd,KAAMnT,EAAKgI,EAAOC,GAO3D,OALI8lD,GAEA53D,KAAKgd,KAAKqF,MAAM61C,cAAcruD,EAAKu8B,GAGhCA,GAYXrP,OAAQ,SAAUA,GAEd,IAAIlwB,EAAOH,MAAMH,UAAUE,MAAMO,KAAKC,UAAW,GAMjD,OAJI8vB,EAAS,IAAI12B,EAAOspB,OAAOoN,GAAQ/2B,KAAKgd,OAErC6F,KAAK1b,MAAM4vB,EAAQlwB,GAEnBkwB,GAcXnK,OAAQ,SAAUA,GAEd,OAAO5sB,KAAKgd,KAAKyP,QAAQlZ,IAAIqZ,KAMrCvsB,EAAOw8B,kBAAkBt2B,UAAU8B,YAAchI,EAAOw8B,kBAgBxDx8B,EAAOy8B,kBAAoB,SAAU9f,GAMjChd,KAAKgd,KAAOA,EAMZhd,KAAKid,MAAQjd,KAAKgd,KAAKC,OAI3B5c,EAAOy8B,kBAAkBv2B,WAerBolB,MAAO,SAAUxlB,EAAG+G,EAAGrD,EAAKypB,GAExB,OAAO,IAAIjzB,EAAO80D,MAAMn1D,KAAKgd,KAAM7W,EAAG+G,EAAGrD,EAAKypB,IAclDiH,OAAQ,SAAUp0B,EAAG+G,EAAGrD,EAAKypB,GAEzB,OAAO,IAAIjzB,EAAO2wB,OAAOhxB,KAAKgd,KAAM7W,EAAG+G,EAAGrD,EAAKypB,IAanDgiC,MAAO,SAAU7rD,GAEb,OAAO,IAAIpJ,EAAO83D,MAAM1uD,EAAKzJ,KAAKgd,KAAMhd,KAAKgd,KAAK0F,SAetD+W,MAAO,SAAUxN,EAAQjiB,EAAMqmB,EAAYC,EAAYC,GAEnD,OAAO,IAAIlwB,EAAO+vB,MAAMpwB,KAAKgd,KAAMiP,EAAQjiB,EAAMqmB,EAAYC,EAAYC,IAa7EilC,YAAa,SAAUvpC,EAAQjiB,EAAMqmB,GAKjC,YAHa9lB,IAATP,IAAsBA,EAAO,cACdO,IAAf8lB,IAA4BA,GAAa,GAEtC,IAAIhwB,EAAOo1D,YAAYz1D,KAAKgd,KAAMiP,EAAQjiB,EAAMqmB,IAc3DqlC,MAAO,SAAU7rD,EAAK2S,EAAQ2uC,EAAMtP,GAEhC,OAAO77C,KAAKgd,KAAKwF,MAAMjP,IAAI1J,EAAK2S,EAAQ2uC,EAAMtP,IAWlD8Z,YAAa,SAAU9rD,GAEnB,OAAO7J,KAAKgd,KAAKwF,MAAMozC,UAAU/rD,IAcrC2Y,MAAO,SAAU3Y,EAAK2S,EAAQ2uC,EAAMtP,GAEhC,OAAO77C,KAAKgd,KAAKwF,MAAMjP,IAAI1J,EAAK2S,EAAQ2uC,EAAMtP,IAgBlDga,WAAY,SAAU1vD,EAAG+G,EAAG2E,EAAOC,EAAQjI,EAAKypB,GAE5C,OAAO,IAAIjzB,EAAO8lC,WAAWnmC,KAAKgd,KAAM7W,EAAG+G,EAAG2E,EAAOC,EAAQjI,EAAKypB,IAgBtEwiC,KAAM,SAAU3vD,EAAG+G,EAAGrD,EAAKypB,EAAO9Z,GAE9B,OAAO,IAAInZ,EAAO01D,KAAK/1D,KAAKgd,KAAM7W,EAAG+G,EAAGrD,EAAKypB,EAAO9Z,IAcxDw8C,KAAM,SAAU7vD,EAAG+G,EAAG8oD,EAAMr2C,GAExB,OAAO,IAAItf,EAAO41D,KAAKj2D,KAAKgd,KAAM7W,EAAG+G,EAAG8oD,EAAMr2C,IAmBlDsnB,OAAQ,SAAU9gC,EAAG+G,EAAGrD,EAAK4pB,EAAUlO,EAAiB2wC,EAAWC,EAAUC,EAAWC,GAEpF,OAAO,IAAIh2D,EAAOi2D,OAAOt2D,KAAKgd,KAAM7W,EAAG+G,EAAGrD,EAAK4pB,EAAUlO,EAAiB2wC,EAAWC,EAAUC,EAAWC,IAY9GE,SAAU,SAAUpwD,EAAG+G,GAEnB,OAAO,IAAI7M,EAAOif,SAAStf,KAAKgd,KAAM7W,EAAG+G,IAiB7CspD,QAAS,SAAUrwD,EAAG+G,EAAGupD,GAErB,OAAO,IAAIp2D,EAAO+8B,UAAUs5B,OAAOC,QAAQ32D,KAAKgd,KAAM7W,EAAG+G,EAAGupD,IA0BhEG,UAAW,SAAUC,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEzG,OAAO,IAAIh3D,EAAOi3D,UAAUt3D,KAAKgd,KAAM65C,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,IAgCnIE,WAAY,SAAUpxD,EAAG+G,EAAG2pD,EAAMb,EAAMnrD,EAAM+oB,GAE1C,OAAO,IAAIvzB,EAAOiuD,WAAWtuD,KAAKgd,KAAM7W,EAAG+G,EAAG2pD,EAAMb,EAAMnrD,EAAM+oB,IAoBpE4jC,QAAS,SAAU3tD,EAAK4tD,EAAWC,EAAY7lD,EAAOC,GAElD,OAAO,IAAIzR,EAAO0yD,QAAQ/yD,KAAKgd,KAAMnT,EAAK4tD,EAAWC,EAAY7lD,EAAOC,IAc5E6lD,cAAe,SAAU9lD,EAAOC,EAAQjI,EAAK+tD,QAE7BrtD,IAARV,GAA6B,KAARA,IAAcA,EAAM7J,KAAKgd,KAAKsE,IAAIu2C,aACxCttD,IAAfqtD,IAA4BA,GAAa,GAE7C,IAAIxxB,EAAU,IAAI/lC,EAAOkyD,cAAcvyD,KAAKgd,KAAMnL,EAAOC,EAAQjI,GAOjE,OALI+tD,GAEA53D,KAAKgd,KAAKqF,MAAMy1C,iBAAiBjuD,EAAKu8B,GAGnCA,GAgBX6xB,WAAY,SAAUpmD,EAAOC,EAAQjI,EAAK+tD,QAEnBrtD,IAAfqtD,IAA4BA,GAAa,QACjCrtD,IAARV,GAA6B,KAARA,IAAcA,EAAM7J,KAAKgd,KAAKsE,IAAIu2C,QAE3D,IAAIzxB,EAAU,IAAI/lC,EAAOoyD,WAAWzyD,KAAKgd,KAAMnT,EAAKgI,EAAOC,GAO3D,OALI8lD,GAEA53D,KAAKgd,KAAKqF,MAAM61C,cAAcruD,EAAKu8B,GAGhCA,GAYXrP,OAAQ,SAAUA,GAEd,IAAIlwB,EAAOH,MAAMH,UAAUE,MAAMO,KAAKC,UAAW,GAMjD,OAJI8vB,EAAS,IAAI12B,EAAOspB,OAAOoN,GAAQ/2B,KAAKgd,OAErC6F,KAAK1b,MAAM4vB,EAAQlwB,GAEnBkwB,IAMf12B,EAAOy8B,kBAAkBv2B,UAAU8B,YAAchI,EAAOy8B,kBA6CxDz8B,EAAO2wB,OAAS,SAAUhU,EAAM7W,EAAG+G,EAAGrD,EAAKypB,GAEvCntB,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EACTrD,EAAMA,GAAO,KACbypB,EAAQA,GAAS,KAMjBtzB,KAAKoI,KAAO/H,EAAOa,OAMnBlB,KAAK2wB,YAActwB,EAAOa,OAE1B6E,KAAKirB,OAAOhqB,KAAKhH,KAAMK,EAAOurB,MAAMhmB,SAEpCvF,EAAOwqD,UAAUkB,KAAKlpC,KAAK7b,KAAKhH,KAAMgd,EAAM7W,EAAG+G,EAAGrD,EAAKypB,IAI3DjzB,EAAO2wB,OAAOzqB,UAAYkB,OAAOwb,OAAOld,KAAKirB,OAAOzqB,WACpDlG,EAAO2wB,OAAOzqB,UAAU8B,YAAchI,EAAO2wB,OAE7C3wB,EAAOwqD,UAAUkB,KAAKE,QAAQjlD,KAAK3G,EAAO2wB,OAAOzqB,WAC7C,QACA,YACA,WACA,SACA,aACA,OACA,QACA,UACA,gBACA,SACA,WACA,eACA,UACA,WACA,cACA,UACA,cACA,QACA,cACA,aAGJlG,EAAO2wB,OAAOzqB,UAAU6xD,iBAAmB/3D,EAAOwqD,UAAUwB,YAAY5sC,UACxEpf,EAAO2wB,OAAOzqB,UAAU8xD,kBAAoBh4D,EAAOwqD,UAAUkH,SAAStyC,UACtEpf,EAAO2wB,OAAOzqB,UAAU+xD,iBAAmBj4D,EAAOwqD,UAAU2G,QAAQ/xC,UACpEpf,EAAO2wB,OAAOzqB,UAAUgyD,cAAgBl4D,EAAOwqD,UAAUkB,KAAKtsC,UAS9Dpf,EAAO2wB,OAAOzqB,UAAUkZ,UAAY,WAEhC,SAAKzf,KAAKo4D,oBAAuBp4D,KAAKq4D,qBAAwBr4D,KAAKs4D,qBAK5Dt4D,KAAKu4D,iBAwChBl4D,EAAO80D,MAAQ,SAAUn4C,EAAM7W,EAAG+G,EAAGrD,EAAKypB,GAEtCntB,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EACTrD,EAAMA,GAAO,KACbypB,EAAQA,GAAS,KAMjBtzB,KAAKoI,KAAO/H,EAAOe,MAEnB2E,KAAKirB,OAAOhqB,KAAKhH,KAAMK,EAAOurB,MAAMhmB,SAEpCvF,EAAOwqD,UAAUkB,KAAKlpC,KAAK7b,KAAKhH,KAAMgd,EAAM7W,EAAG+G,EAAGrD,EAAKypB,IAI3DjzB,EAAO80D,MAAM5uD,UAAYkB,OAAOwb,OAAOld,KAAKirB,OAAOzqB,WACnDlG,EAAO80D,MAAM5uD,UAAU8B,YAAchI,EAAO80D,MAE5C90D,EAAOwqD,UAAUkB,KAAKE,QAAQjlD,KAAK3G,EAAO80D,MAAM5uD,WAC5C,QACA,YACA,WACA,SACA,aACA,OACA,UACA,gBACA,eACA,WACA,cACA,UACA,QACA,cACA,aAGJlG,EAAO80D,MAAM5uD,UAAU8xD,kBAAoBh4D,EAAOwqD,UAAUkH,SAAStyC,UACrEpf,EAAO80D,MAAM5uD,UAAU+xD,iBAAmBj4D,EAAOwqD,UAAU2G,QAAQ/xC,UACnEpf,EAAO80D,MAAM5uD,UAAUgyD,cAAgBl4D,EAAOwqD,UAAUkB,KAAKtsC,UAQ7Dpf,EAAO80D,MAAM5uD,UAAUkZ,UAAY,WAE/B,SAAKzf,KAAKs4D,qBAAuBt4D,KAAKq4D,sBAK/Br4D,KAAKu4D,iBAsChBl4D,EAAOi2D,OAAS,SAAUt5C,EAAM7W,EAAG+G,EAAGrD,EAAK4pB,EAAUlO,EAAiB2wC,EAAWC,EAAUC,EAAWC,GAElGlwD,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EACTrD,EAAMA,GAAO,KACb4pB,EAAWA,GAAY,KACvBlO,EAAkBA,GAAmBvlB,KAErCK,EAAO80D,MAAMnuD,KAAKhH,KAAMgd,EAAM7W,EAAG+G,EAAGrD,EAAKssD,GAOzCn2D,KAAKoI,KAAO/H,EAAOc,OAMnBnB,KAAK2wB,YAActwB,EAAOa,OAO1BlB,KAAKw4D,aAAe,KAOpBx4D,KAAKy4D,YAAc,KAOnBz4D,KAAK04D,aAAe,KAOpB14D,KAAK24D,WAAa,KAOlB34D,KAAK44D,YAAc,KAOnB54D,KAAK64D,WAAa,KAOlB74D,KAAK84D,YAAc,KAOnB94D,KAAK+4D,UAAY,KAOjB/4D,KAAKg5D,kBAAoB,GAOzBh5D,KAAKi5D,iBAAmB,GAOxBj5D,KAAKk5D,kBAAoB,GAOzBl5D,KAAKm5D,gBAAkB,GAMvBn5D,KAAKqwD,YAAc,IAAIhwD,EAAOud,OAM9B5d,KAAKswD,WAAa,IAAIjwD,EAAOud,OAM7B5d,KAAKuwD,YAAc,IAAIlwD,EAAOud,OAM9B5d,KAAKwwD,UAAY,IAAInwD,EAAOud,OAS5B5d,KAAKo5D,iBAAkB,EASvBp5D,KAAKq5D,yBAA2Bh5D,EAAOqjC,YAAYoB,MAOnD9kC,KAAKs5D,cAAe,EAUpBt5D,KAAKu5D,UAAW,EAEhBv5D,KAAK6yB,cAAe,EAEpB7yB,KAAKsiB,MAAMvR,MAAM,GAAG,GAEpB/Q,KAAKsiB,MAAMqwB,eAAgB,EAE3B3yC,KAAKw5D,UAAUtD,EAAWC,EAAUC,EAAWC,GAE9B,OAAb5iC,GAEAzzB,KAAKwwD,UAAUj9C,IAAIkgB,EAAUlO,GAIjCvlB,KAAK8yB,OAAOu9B,YAAY98C,IAAIvT,KAAKy5D,mBAAoBz5D,MACrDA,KAAK8yB,OAAOw9B,WAAW/8C,IAAIvT,KAAK05D,kBAAmB15D,MACnDA,KAAK8yB,OAAOy9B,YAAYh9C,IAAIvT,KAAK25D,mBAAoB35D,MACrDA,KAAK8yB,OAAO09B,UAAUj9C,IAAIvT,KAAK45D,iBAAkB55D,OAIrDK,EAAOi2D,OAAO/vD,UAAYkB,OAAOwb,OAAO5iB,EAAO80D,MAAM5uD,WACrDlG,EAAOi2D,OAAO/vD,UAAU8B,YAAchI,EAAOi2D,OAkxwDzC,OArwwDJj2D,EAAOi2D,OAAO/vD,UAAUszD,YAAc,WAElC75D,KAAKw5D,UAAU,KAAM,KAAM,KAAM,OAarCn5D,EAAOi2D,OAAO/vD,UAAUuzD,cAAgB,SAAUr3C,EAAO6Q,EAAOymC,GAE5D,IAAIC,EAAW,MAAQv3C,EAAQ,QAEjB,OAAV6Q,GAEAtzB,KAAKg6D,GAAY1mC,EAEbymC,GAEA/5D,KAAKi6D,iBAAiBx3C,IAK1BziB,KAAKg6D,GAAY,MAazB35D,EAAOi2D,OAAO/vD,UAAU0zD,iBAAmB,SAAUx3C,GAEjD,GAAIziB,KAAKs5D,aAEL,OAAO,EAGX,IACIhmC,EAAQtzB,KADG,MAAQyiB,EAAQ,SAG/B,MAAqB,iBAAV6Q,GAEPtzB,KAAK+zD,UAAYzgC,GACV,GAEe,iBAAVA,IAEZtzB,KAAKszB,MAAQA,GACN,IAqBfjzB,EAAOi2D,OAAO/vD,UAAUizD,UAAY,SAAUtD,EAAWC,EAAUC,EAAWC,GAE1Er2D,KAAK85D,cA9FQ,OA8FkB5D,EAAWl2D,KAAKsiB,MAAM6zB,eACrDn2C,KAAK85D,cA9FO,MA8FkB3D,GAAWn2D,KAAKsiB,MAAM6zB,eACpDn2C,KAAK85D,cA9FQ,OA8FkB1D,EAAWp2D,KAAKsiB,MAAMyzB,eACrD/1C,KAAK85D,cA9FM,KA8FkBzD,EAASr2D,KAAKsiB,MAAM0zB,cAarD31C,EAAOi2D,OAAO/vD,UAAU2zD,cAAgB,SAAUz3C,EAAOD,EAAO23C,GAE5D,IAAIC,EAAW,KAAO33C,EAAQ,QAC1B43C,EAAY,KAAO53C,EAAQ,cAE3BD,aAAiBniB,EAAOi6D,OAAS93C,aAAiBniB,EAAOk6D,aAEzDv6D,KAAKo6D,GAAY53C,EACjBxiB,KAAKq6D,GAA+B,iBAAXF,EAAsBA,EAAS,KAIxDn6D,KAAKo6D,GAAY,KACjBp6D,KAAKq6D,GAAa,KAa1Bh6D,EAAOi2D,OAAO/vD,UAAUi0D,eAAiB,SAAU/3C,GAE/C,IACID,EAAQxiB,KADG,KAAOyiB,EAAQ,SAG9B,GAAID,EACJ,CACI,IACI23C,EAASn6D,KADG,KAAOyiB,EAAQ,eAI/B,OADAD,EAAMyoC,KAAKkP,IACJ,EAIP,OAAO,GAsBf95D,EAAOi2D,OAAO/vD,UAAUk0D,UAAY,SAAUC,EAAWC,EAAYC,EAAWC,EAAYC,EAAUC,EAAWC,EAASC,GAEtHj7D,KAAKk6D,cA/KQ,OA+KkBQ,EAAWC,GAC1C36D,KAAKk6D,cA/KO,MA+KkBY,EAAUC,GACxC/6D,KAAKk6D,cA/KQ,OA+KkBU,EAAWC,GAC1C76D,KAAKk6D,cA/KM,KA+KkBc,EAASC,IAY1C56D,EAAOi2D,OAAO/vD,UAAU20D,aAAe,SAAU14C,EAAO23C,GAEpDn6D,KAAKk6D,cAhMQ,OAgMkB13C,EAAO23C,IAY1C95D,EAAOi2D,OAAO/vD,UAAU40D,YAAc,SAAU34C,EAAO23C,GAEnDn6D,KAAKk6D,cA7MO,MA6MkB13C,EAAO23C,IAYzC95D,EAAOi2D,OAAO/vD,UAAU60D,aAAe,SAAU54C,EAAO23C,GAEpDn6D,KAAKk6D,cA1NQ,OA0NkB13C,EAAO23C,IAY1C95D,EAAOi2D,OAAO/vD,UAAU80D,WAAa,SAAU74C,EAAO23C,GAElDn6D,KAAKk6D,cAvOM,KAuOkB13C,EAAO23C,IAYxC95D,EAAOi2D,OAAO/vD,UAAUkzD,mBAAqB,SAAUl/B,EAAQlP,GAEvDA,EAAQqhB,iBACP1sC,KAAKq5D,yBAA2BhuC,EAAQshB,eAAiBthB,EAAQshB,cAMtE3sC,KAAKi6D,iBA/PQ,QAiQTj6D,KAAKo5D,kBAAoB/tC,EAAQ6iB,UAKrCluC,KAAKw6D,eAtQQ,QAwQTx6D,KAAKqwD,aAELrwD,KAAKqwD,YAAYhvC,SAASrhB,KAAMqrB,MAaxChrB,EAAOi2D,OAAO/vD,UAAUmzD,kBAAoB,SAAUn/B,EAAQlP,GAE1DrrB,KAAKi6D,iBAxRO,OA0RZj6D,KAAKw6D,eA1RO,OA4RRx6D,KAAKswD,YAELtwD,KAAKswD,WAAWjvC,SAASrhB,KAAMqrB,IAYvChrB,EAAOi2D,OAAO/vD,UAAUozD,mBAAqB,SAAUp/B,EAAQlP,GAE3DrrB,KAAKi6D,iBA3SQ,QA6Sbj6D,KAAKw6D,eA7SQ,QA+STx6D,KAAKuwD,aAELvwD,KAAKuwD,YAAYlvC,SAASrhB,KAAMqrB,IAYxChrB,EAAOi2D,OAAO/vD,UAAUqzD,iBAAmB,SAAUr/B,EAAQlP,EAAS0pB,GAElE/0C,KAAKw6D,eA9TM,MAiUPx6D,KAAKwwD,WAELxwD,KAAKwwD,UAAUnvC,SAASrhB,KAAMqrB,EAAS0pB,GAGvC/0C,KAAKs5D,gBAKa,IAAlBt5D,KAAKu5D,WAAsBv5D,KAAKu5D,SAAWluC,EAAQshB,eAAiBthB,EAAQshB,YAE5E3sC,KAAKi6D,iBA/UG,OAmVQj6D,KAAKi6D,iBAjVd,QAqVCllB,EAEA/0C,KAAKi6D,iBA1VJ,QA8VDj6D,KAAKi6D,iBA7VL,UA0XhB55D,EAAOo1D,YAAc,SAAUz4C,EAAMiP,EAAQjiB,EAAMqmB,QAEhC9lB,IAAX0hB,GAAmC,OAAXA,IAAmBA,EAASjP,EAAKC,OAE7D5c,EAAO+vB,MAAMppB,KAAKhH,KAAMgd,EAAMiP,EAAQjiB,EAAMqmB,GAM5CrwB,KAAKoI,KAAO/H,EAAO8B,YAMnBnC,KAAKs7D,gBAAkB,KAMvBt7D,KAAKu7D,OAAQ,GAIjBl7D,EAAOo1D,YAAYlvD,UAAYkB,OAAOwb,OAAO5iB,EAAO+vB,MAAM7pB,WAE1DlG,EAAOo1D,YAAYlvD,UAAU8B,YAAchI,EAAOo1D,YAUlDp1D,EAAOo1D,YAAYlvD,UAAUi1D,aAAe,SAAUC,IAE7Cz7D,KAAKqd,SAAWrd,KAAKygB,OAAS,IAAMzgB,KAAKouB,SAASrmB,SAKlD/H,KAAKu7D,QAENv7D,KAAKs7D,gBAAkB,IAAIv1D,KAAK21D,qBAAqBD,EAAcE,IAEnE37D,KAAKu7D,OAAQ,GAGbv7D,KAAKs7D,gBAAgBK,KAAOF,EAAcE,IAE1C37D,KAAKs7D,gBAAgBM,WAAWH,EAAcE,IAGlDF,EAAcjG,YAAY51B,OAE1B67B,EAAcI,cAAcC,UAAUL,EAAcI,cAAcE,YAElE/7D,KAAKs7D,gBAAgBU,MAAMh8D,KAAMy7D,GACjCz7D,KAAKs7D,gBAAgBn4C,OAAOnjB,MAE5By7D,EAAcjG,YAAYzkD,UAY9B1Q,EAAOo1D,YAAYlvD,UAAU01D,cAAgB,SAAUR,GAEnD,GAAKz7D,KAAKqd,WAAWrd,KAAKygB,OAAS,IAAMzgB,KAAKouB,SAASrmB,OAAvD,CAKA,IAAI8e,EAAU40C,EAAc50C,QAE5BA,EAAQq1C,YAAcl8D,KAAKuuB,WAE3BvuB,KAAKm8D,+BAML,IAAK,IAJDC,EAAYp8D,KAAKktB,eAEjBmvC,GAAY,EAEPr0D,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAC1C,CACI,IAAIqmB,EAAQruB,KAAKouB,SAASpmB,GAE1B,GAAKqmB,EAAMhR,QAAX,CAKA,IAAI+oB,EAAU/X,EAAM+X,QAChB9S,EAAQ8S,EAAQ9S,MAIpB,GAFAzM,EAAQq1C,YAAcl8D,KAAKuuB,WAAaF,EAAM5N,MAE1C4N,EAAM2L,UAAsB,EAAV/zB,KAAKsH,KAAY,EAI/B8uD,IAEAx1C,EAAQE,aAAaq1C,EAAU5sD,EAAG4sD,EAAUxsD,EAAGwsD,EAAUpsD,EAAGosD,EAAUhmD,EAAGgmD,EAAU/oD,GAAI+oD,EAAU9oD,IACjG+oD,GAAY,GAGhBx1C,EAAQmwB,UACJ5Q,EAAQC,YAAYl4B,OACpBmlB,EAAMntB,EACNmtB,EAAMpmB,EACNomB,EAAMzhB,MACNyhB,EAAMxhB,OACJuc,EAAMxC,OAAQ,IAAMyH,EAAMzhB,MAAQwc,EAAMrX,MAAM7Q,GAAKkoB,EAAMvS,SAAS3V,EAAI,GAAMs1D,EAAca,OAAU,EACpGjuC,EAAMxC,OAAQ,IAAMyH,EAAMxhB,OAASuc,EAAMrX,MAAM9J,GAAKmhB,EAAMvS,SAAS5O,EAAI,GAAMuuD,EAAcc,OAAU,EACvGjpC,EAAMzhB,MAAQwc,EAAMrX,MAAM7Q,EAC1BmtB,EAAMxhB,OAASuc,EAAMrX,MAAM9J,OAGnC,CACSmvD,IAEDA,GAAY,GAGhBhuC,EAAM8tC,+BAEN,IAAIK,EAAiBnuC,EAAMnB,eACvB7Z,EAAMmpD,EAAenpD,GAAKooD,EAAcrxC,WAAcqxC,EAAca,OACpEhpD,EAAMkpD,EAAelpD,GAAKmoD,EAAcrxC,WAAcqxC,EAAcc,OAIpEd,EAAcgB,YAEd51C,EAAQE,aAAay1C,EAAehtD,EAAGgtD,EAAe5sD,EAAG4sD,EAAexsD,EAAGwsD,EAAepmD,EAAQ,EAAL/C,EAAa,EAALC,GAIrGuT,EAAQE,aAAay1C,EAAehtD,EAAGgtD,EAAe5sD,EAAG4sD,EAAexsD,EAAGwsD,EAAepmD,EAAG/C,EAAIC,GAGrGuT,EAAQmwB,UACJ5Q,EAAQC,YAAYl4B,OACpBmlB,EAAMntB,EACNmtB,EAAMpmB,EACNomB,EAAMzhB,MACNyhB,EAAMxhB,OACJuc,EAAMxC,OAAQ,GAAMyH,EAAMzhB,MAAS,GAAO,EAC1Cwc,EAAMxC,OAAQ,GAAMyH,EAAMxhB,OAAU,GAAO,EAC7CwhB,EAAMzhB,MACNyhB,EAAMxhB,aA6BtBzR,EAAOoyD,WAAa,SAAUz1C,EAAMnT,EAAKgI,EAAOC,EAAQ4qD,QAEtCnyD,IAAVsH,GAAiC,IAAVA,IAAeA,EAAQ,UACnCtH,IAAXuH,GAAmC,IAAXA,IAAgBA,EAAS,UACpCvH,IAAbmyD,IAA0BA,GAAW,GAKzC18D,KAAKgd,KAAOA,EAKZhd,KAAK6J,IAAMA,EAKX7J,KAAK6R,MAAQA,EAKb7R,KAAK8R,OAASA,EAMd9R,KAAK+tB,OAAS1tB,EAAO2tB,OAAO/K,OAAOjjB,KAAM6R,EAAOC,EAAQ,KAAM4qD,GAM9D18D,KAAK6mB,QAAU7mB,KAAK+tB,OAAOoW,WAAW,MAAQ1jB,OAAO,IAKrDzgB,KAAK28D,IAAM38D,KAAK6mB,QAKhB7mB,KAAK48D,eAAkB5/C,EAAK4J,aAAevmB,EAAOI,OAAUuc,EAAK4d,SAAS6gC,cAAcmB,eAAiBv8D,EAAO2tB,OAAO6uC,mBAAmB78D,KAAK6mB,SAO/I7mB,KAAK88D,UAAY98D,KAAK6mB,QAAQowB,aAAa,EAAG,EAAGplC,EAAOC,GAOxD9R,KAAKumC,KAAO,KAERvmC,KAAK88D,YAEL98D,KAAKumC,KAAOvmC,KAAK88D,UAAUv2B,MAM/BvmC,KAAK+8D,OAAS,KAKV/8D,KAAKumC,OAEDvmC,KAAK88D,UAAUv2B,KAAKy2B,QAEpBh9D,KAAKg9D,OAASh9D,KAAK88D,UAAUv2B,KAAKy2B,OAClCh9D,KAAK+8D,OAAS,IAAI70D,YAAYlI,KAAKg9D,SAI/B/0D,OAAoB,aAEpBjI,KAAKg9D,OAAS,IAAIC,YAAYj9D,KAAK88D,UAAUv2B,KAAKx+B,QAClD/H,KAAK+8D,OAAS,IAAI70D,YAAYlI,KAAKg9D,SAInCh9D,KAAK+8D,OAAS/8D,KAAK88D,UAAUv2B,MASzCvmC,KAAKqmC,YAAc,IAAItgC,KAAKm3D,YAAYl9D,KAAK+tB,OAAQ,KAAM/tB,KAAKgd,KAAKoN,YAMrEpqB,KAAKomC,QAAU,IAAIrgC,KAAKktD,QAAQjzD,KAAKqmC,aAKrCrmC,KAAK6yD,UAAY,IAAIxyD,EAAO88D,UAM5Bn9D,KAAKo9D,aAAep9D,KAAK6yD,UAAUwK,SAAS,IAAIh9D,EAAOi9D,MAAM,EAAG,EAAG,EAAGzrD,EAAOC,EAAQ,eAErF9R,KAAKomC,QAAQ9S,MAAQtzB,KAAKo9D,aAM1Bp9D,KAAKoI,KAAO/H,EAAO0B,WAKnB/B,KAAKu9D,sBAAuB,EAK5Bv9D,KAAKgqB,OAAQ,EAGbhqB,KAAKw9D,IAAMx9D,KAAK0gB,MAMhB1gB,KAAKy9D,OAAS,KAMdz9D,KAAK09D,KAAO,IAAIr9D,EAAOoN,MAMvBzN,KAAK29D,MAAQ,IAAIt9D,EAAOoN,MAMxBzN,KAAK49D,OAAS,IAAIv9D,EAAOoN,MAMzBzN,KAAK69D,QAAU,EAMf79D,KAAK89D,QAAWC,KAAM,EAAG/5C,QAAS,GAMlChkB,KAAKg+D,QAAU,IAAI39D,EAAOoN,MAM1BzN,KAAKi+D,OAAS,EAMdj+D,KAAKk+D,OAAS,EAMdl+D,KAAKm+D,OAAS,EAMdn+D,KAAKo+D,QAAU,IAAI/9D,EAAO4M,OAM1BjN,KAAKq+D,iBAAc9zD,GAIvBlK,EAAOoyD,WAAWlsD,WAad8+B,KAAM,SAAUl/B,EAAG+G,EAAGwH,GAYlB,OAVU,IAANvO,GAEAnG,KAAKs+D,MAAMn4D,EAAGuO,GAGR,IAANxH,GAEAlN,KAAKu+D,MAAMrxD,EAAGwH,GAGX1U,MAcXs+D,MAAO,SAAUhwD,EAAUoG,QAEVnK,IAATmK,IAAsBA,GAAO,QAERnK,IAArBvK,KAAKq+D,cAELr+D,KAAKq+D,YAAch+D,EAAO6jC,WAAWjhB,OAAOjjB,KAAMA,KAAK6R,MAAO7R,KAAK8R,SAGvE,IACI6qD,EADI38D,KAAKq+D,YACDl6B,WAAW,MACnBxzB,EAAI3Q,KAAK8R,OACT9F,EAAMhM,KAAK+tB,OAIf,GAFA4uC,EAAI5lB,UAAU,EAAG,EAAG/2C,KAAK6R,MAAO7R,KAAK8R,QAEjCxD,EAAW,EACf,CACIA,EAAWrI,KAAKiK,IAAI5B,GAGhByR,EAAI/f,KAAK6R,MAAQvD,EAGjBoG,GAEAioD,EAAI3lB,UAAUhrC,EAAK,EAAG,EAAGsC,EAAUqC,EAAGoP,EAAG,EAAGzR,EAAUqC,GAI1DgsD,EAAI3lB,UAAUhrC,EAAKsC,EAAU,EAAGyR,EAAGpP,EAAG,EAAG,EAAGoP,EAAGpP,OAGnD,CAEI,IAAIoP,EAAI/f,KAAK6R,MAAQvD,EAGjBoG,GAEAioD,EAAI3lB,UAAUhrC,EAAK+T,EAAG,EAAGzR,EAAUqC,EAAG,EAAG,EAAGrC,EAAUqC,GAI1DgsD,EAAI3lB,UAAUhrC,EAAK,EAAG,EAAG+T,EAAGpP,EAAGrC,EAAU,EAAGyR,EAAGpP,GAKnD,OAFA3Q,KAAK0gB,QAEE1gB,KAAKiM,KAAKjM,KAAKq+D,cAc1BE,MAAO,SAAUjwD,EAAUoG,QAEVnK,IAATmK,IAAsBA,GAAO,QAERnK,IAArBvK,KAAKq+D,cAELr+D,KAAKq+D,YAAch+D,EAAO6jC,WAAWjhB,OAAOjjB,KAAMA,KAAK6R,MAAO7R,KAAK8R,SAGvE,IACI6qD,EADI38D,KAAKq+D,YACDl6B,WAAW,MACnBpkB,EAAI/f,KAAK6R,MACT7F,EAAMhM,KAAK+tB,OAIf,GAFA4uC,EAAI5lB,UAAU,EAAG,EAAG/2C,KAAK6R,MAAO7R,KAAK8R,QAEjCxD,EAAW,EACf,CACIA,EAAWrI,KAAKiK,IAAI5B,GAGhBqC,EAAI3Q,KAAK8R,OAASxD,EAGlBoG,GAEAioD,EAAI3lB,UAAUhrC,EAAK,EAAG,EAAG+T,EAAGzR,EAAU,EAAGqC,EAAGoP,EAAGzR,GAInDquD,EAAI3lB,UAAUhrC,EAAK,EAAGsC,EAAUyR,EAAGpP,EAAG,EAAG,EAAGoP,EAAGpP,OAGnD,CAEI,IAAIA,EAAI3Q,KAAK8R,OAASxD,EAGlBoG,GAEAioD,EAAI3lB,UAAUhrC,EAAK,EAAG2E,EAAGoP,EAAGzR,EAAU,EAAG,EAAGyR,EAAGzR,GAInDquD,EAAI3lB,UAAUhrC,EAAK,EAAG,EAAG+T,EAAGpP,EAAG,EAAGrC,EAAUyR,EAAGpP,GAKnD,OAFA3Q,KAAK0gB,QAEE1gB,KAAKiM,KAAKjM,KAAKq+D,cAY1B9qD,IAAK,SAAUglB,GAEX,GAAI7xB,MAAMa,QAAQgxB,GAEd,IAAK,IAAIvwB,EAAI,EAAGA,EAAIuwB,EAAOxwB,OAAQC,IAE3BuwB,EAAOvwB,GAAgB,aAEvBuwB,EAAOvwB,GAAGmwB,YAAYn4B,WAM9Bu4B,EAAOJ,YAAYn4B,MAGvB,OAAOA,MAcXuiB,KAAM,SAAUpU,GAOZ,GALsB,iBAAXA,IAEPA,EAASnO,KAAKgd,KAAKqF,MAAM+wC,SAASjlD,IAGlCA,EAcJ,OAZInO,KAAKqb,OAAOlN,EAAO0D,MAAO1D,EAAO2D,QACjC9R,KAAKw9D,MAOTx9D,KAAKw+D,KAAKrwD,GAEVnO,KAAK+gB,SAEE/gB,MA0BX0gB,MAAO,SAAUva,EAAG+G,EAAG2E,EAAOC,GAW1B,YATUvH,IAANpE,IAAmBA,EAAI,QACjBoE,IAAN2C,IAAmBA,EAAI,QACb3C,IAAVsH,IAAuBA,EAAQ7R,KAAK6R,YACzBtH,IAAXuH,IAAwBA,EAAS9R,KAAK8R,QAE1C9R,KAAK6mB,QAAQkwB,UAAU5wC,EAAG+G,EAAG2E,EAAOC,GAEpC9R,KAAKgqB,OAAQ,EAENhqB,MAcXwmC,KAAM,SAAU74B,EAAG4f,EAAG3d,EAAGJ,GAQrB,YANUjF,IAANiF,IAAmBA,EAAI,GAE3BxP,KAAK6mB,QAAQ43C,UAAY,QAAU9wD,EAAI,IAAM4f,EAAI,IAAM3d,EAAI,IAAMJ,EAAI,IACrExP,KAAK6mB,QAAQ63C,SAAS,EAAG,EAAG1+D,KAAK6R,MAAO7R,KAAK8R,QAC7C9R,KAAKgqB,OAAQ,EAENhqB,MAgDX2+D,gBAAiB,SAAU90D,EAAK4pB,EAAUlO,GAEtC,IAAIlD,EAAQriB,KAAKgd,KAAKqF,MAClBsJ,EAAQ,IAAIwpC,MAgBhB,GAdI1hC,IAEA9H,EAAMizC,OAAS,WACX,IAAIn1D,EAAM4Y,EAAMw8C,SAASh1D,EAAK,GAAI8hB,GAC9Bya,EAAU,IAAIrgC,KAAKktD,QAAQxpD,EAAI4pD,MAEnC5/B,EAASzsB,KAAKue,GAAmB,KAAM6gB,GAEvCza,EAAMizC,OAAS,OAIvBjzC,EAAM3f,IAAMhM,KAAK+tB,OAAO+wC,UAAU,cAE7BrrC,EACL,CACI,IAAIhqB,EAAM4Y,EAAMw8C,SAASh1D,EAAK,GAAI8hB,GAElC,OAAO,IAAI5lB,KAAKktD,QAAQxpD,EAAI4pD,MAGhC,OAAO,MAYXh4C,OAAQ,SAAUxJ,EAAOC,GAgCrB,OA9BID,IAAU7R,KAAK6R,OAASC,IAAW9R,KAAK8R,SAExC9R,KAAK6R,MAAQA,EACb7R,KAAK8R,OAASA,EAEd9R,KAAK+tB,OAAOlc,MAAQA,EACpB7R,KAAK+tB,OAAOjc,OAASA,OAEIvH,IAArBvK,KAAKq+D,cAELr+D,KAAKq+D,YAAYxsD,MAAQA,EACzB7R,KAAKq+D,YAAYvsD,OAASA,GAG9B9R,KAAKqmC,YAAYx0B,MAAQA,EACzB7R,KAAKqmC,YAAYv0B,OAASA,EAE1B9R,KAAKo9D,aAAavrD,MAAQA,EAC1B7R,KAAKo9D,aAAatrD,OAASA,EAE3B9R,KAAKomC,QAAQv0B,MAAQA,EACrB7R,KAAKomC,QAAQt0B,OAASA,EAEtB9R,KAAKomC,QAAQwQ,KAAK/kC,MAAQA,EAC1B7R,KAAKomC,QAAQwQ,KAAK9kC,OAASA,EAE3B9R,KAAK+gB,SACL/gB,KAAKgqB,OAAQ,GAGVhqB,MAkBX+gB,OAAQ,SAAU5a,EAAG+G,EAAG2E,EAAOC,GA4B3B,YA1BUvH,IAANpE,IAAmBA,EAAI,QACjBoE,IAAN2C,IAAmBA,EAAI,QACb3C,IAAVsH,IAAuBA,EAAQ5L,KAAK6N,IAAI,EAAG9T,KAAK6R,aACrCtH,IAAXuH,IAAwBA,EAAS7L,KAAK6N,IAAI,EAAG9T,KAAK8R,SAEtD9R,KAAK88D,UAAY98D,KAAK6mB,QAAQowB,aAAa9wC,EAAG+G,EAAG2E,EAAOC,GACxD9R,KAAKumC,KAAOvmC,KAAK88D,UAAUv2B,KAEvBvmC,KAAK88D,UAAUv2B,KAAKy2B,QAEpBh9D,KAAKg9D,OAASh9D,KAAK88D,UAAUv2B,KAAKy2B,OAClCh9D,KAAK+8D,OAAS,IAAI70D,YAAYlI,KAAKg9D,SAI/B/0D,OAAoB,aAEpBjI,KAAKg9D,OAAS,IAAIC,YAAYj9D,KAAK88D,UAAUv2B,KAAKx+B,QAClD/H,KAAK+8D,OAAS,IAAI70D,YAAYlI,KAAKg9D,SAInCh9D,KAAK+8D,OAAS/8D,KAAK88D,UAAUv2B,KAI9BvmC,MAuBX++D,gBAAiB,SAAUtrC,EAAUlO,EAAiBpf,EAAG+G,EAAG2E,EAAOC,QAErDvH,IAANpE,IAAmBA,EAAI,QACjBoE,IAAN2C,IAAmBA,EAAI,QACb3C,IAAVsH,IAAuBA,EAAQ7R,KAAK6R,YACzBtH,IAAXuH,IAAwBA,EAAS9R,KAAK8R,QAQ1C,IAAK,IANDiO,EAAI5Z,EAAI0L,EACRlB,EAAIzD,EAAI4E,EACRktD,EAAQ3+D,EAAO2vB,MAAMivC,cACrBjsD,GAAWrF,EAAG,EAAG4f,EAAG,EAAG3d,EAAG,EAAGJ,EAAG,GAChCwa,GAAQ,EAEH1W,EAAKpG,EAAGoG,EAAK3C,EAAG2C,IAErB,IAAK,IAAID,EAAKlN,EAAGkN,EAAK0M,EAAG1M,IAErBhT,EAAO2vB,MAAMkvC,YAAYl/D,KAAKm/D,WAAW9rD,EAAIC,GAAK0rD,IAInC,KAFfhsD,EAASygB,EAASzsB,KAAKue,EAAiBy5C,EAAO3rD,EAAIC,KAEhB,OAAXN,QAA8BzI,IAAXyI,IAEvChT,KAAKo/D,WAAW/rD,EAAIC,EAAIN,EAAOrF,EAAGqF,EAAOua,EAAGva,EAAOpD,EAAGoD,EAAOxD,GAAG,GAChEwa,GAAQ,GAWpB,OANIA,IAEAhqB,KAAK6mB,QAAQw4C,aAAar/D,KAAK88D,UAAW,EAAG,GAC7C98D,KAAKgqB,OAAQ,GAGVhqB,MAoBXs/D,aAAc,SAAU7rC,EAAUlO,EAAiBpf,EAAG+G,EAAG2E,EAAOC,QAElDvH,IAANpE,IAAmBA,EAAI,QACjBoE,IAAN2C,IAAmBA,EAAI,QACb3C,IAAVsH,IAAuBA,EAAQ7R,KAAK6R,YACzBtH,IAAXuH,IAAwBA,EAAS9R,KAAK8R,QAQ1C,IAAK,IANDiO,EAAI5Z,EAAI0L,EACRlB,EAAIzD,EAAI4E,EACRktD,EAAQ,EACRhsD,EAAS,EACTgX,GAAQ,EAEH1W,EAAKpG,EAAGoG,EAAK3C,EAAG2C,IAErB,IAAK,IAAID,EAAKlN,EAAGkN,EAAK0M,EAAG1M,IAErB2rD,EAAQh/D,KAAKm/D,WAAW9rD,EAAIC,IAC5BN,EAASygB,EAASzsB,KAAKue,EAAiBy5C,EAAO3rD,EAAIC,MAEpC0rD,IAEXh/D,KAAK+8D,OAAOzpD,EAAKtT,KAAK6R,MAAQwB,GAAML,EACpCgX,GAAQ,GAWpB,OANIA,IAEAhqB,KAAK6mB,QAAQw4C,aAAar/D,KAAK88D,UAAW,EAAG,GAC7C98D,KAAKgqB,OAAQ,GAGVhqB,MAoBXu/D,WAAY,SAAUC,EAAIC,EAAI5qD,EAAIF,EAAI+qD,EAAIC,EAAI7qD,EAAIF,EAAIgrD,GAElD,IAAIxrD,EAAK,EACLC,EAAK,EACL0L,EAAI/f,KAAK6R,MACTlB,EAAI3Q,KAAK8R,OACT3D,EAAS9N,EAAO2vB,MAAM6vC,UAAUL,EAAIC,EAAI5qD,EAAIF,QAEjCpK,IAAXq1D,GAAwBA,aAAkBv/D,EAAO2N,YAEjDoG,EAAKwrD,EAAOz5D,EACZkO,EAAKurD,EAAO1yD,EACZ6S,EAAI6/C,EAAO/tD,MACXlB,EAAIivD,EAAO9tD,QAGf,IAAK,IAAI5E,EAAI,EAAGA,EAAIyD,EAAGzD,IAEnB,IAAK,IAAI/G,EAAI,EAAGA,EAAI4Z,EAAG5Z,IAEfnG,KAAKm/D,WAAW/qD,EAAKjO,EAAGkO,EAAKnH,KAAOiB,GAEpCnO,KAAKo/D,WAAWhrD,EAAKjO,EAAGkO,EAAKnH,EAAGwyD,EAAIC,EAAI7qD,EAAIF,GAAI,GAQ5D,OAHA5U,KAAK6mB,QAAQw4C,aAAar/D,KAAK88D,UAAW,EAAG,GAC7C98D,KAAKgqB,OAAQ,EAENhqB,MAcX8/D,OAAQ,SAAUnvD,EAAGuI,EAAGzI,EAAGmvD,GAEvB,IAAIG,EAASpvD,GAAW,IAANA,EACdqvD,EAAS9mD,GAAW,IAANA,EACd+mD,EAASxvD,GAAW,IAANA,EAElB,GAAKsvD,GAAWC,GAAWC,EAA3B,MAKe11D,IAAXq1D,IAEAA,EAAS,IAAIv/D,EAAO2N,UAAU,EAAG,EAAGhO,KAAK6R,MAAO7R,KAAK8R,SAKzD,IAAK,IAFDktD,EAAQ3+D,EAAO2vB,MAAMivC,cAEhB/xD,EAAI0yD,EAAO1yD,EAAGA,EAAI0yD,EAAOlwD,OAAQxC,IAEtC,IAAK,IAAI/G,EAAIy5D,EAAOz5D,EAAGA,EAAIy5D,EAAOn0D,MAAOtF,IAErC9F,EAAO2vB,MAAMkvC,YAAYl/D,KAAKm/D,WAAWh5D,EAAG+G,GAAI8xD,GAAO,GAEnDe,IAEAf,EAAMruD,EAAIA,GAGVqvD,IAEAhB,EAAM9lD,EAAIA,GAGV+mD,IAEAjB,EAAMvuD,EAAIA,GAGdpQ,EAAO2vB,MAAMkwC,SAASlB,EAAMruD,EAAGquD,EAAM9lD,EAAG8lD,EAAMvuD,EAAGuuD,GACjDh/D,KAAKo/D,WAAWj5D,EAAG+G,EAAG8xD,EAAMrxD,EAAGqxD,EAAMzxC,EAAGyxC,EAAMpvD,EAAGovD,EAAMxvD,GAAG,GAOlE,OAHAxP,KAAK6mB,QAAQw4C,aAAar/D,KAAK88D,UAAW,EAAG,GAC7C98D,KAAKgqB,OAAQ,EAENhqB,OAgBXmgE,SAAU,SAAUxvD,EAAGuI,EAAGzI,EAAGmvD,GAMzB,QAJUr1D,IAANoG,GAAyB,OAANA,IAAcA,GAAI,QAC/BpG,IAAN2O,GAAyB,OAANA,IAAcA,GAAI,QAC/B3O,IAANkG,GAAyB,OAANA,IAAcA,GAAI,GAEpCE,GAAMuI,GAAMzI,EAAjB,MAKelG,IAAXq1D,IAEAA,EAAS,IAAIv/D,EAAO2N,UAAU,EAAG,EAAGhO,KAAK6R,MAAO7R,KAAK8R,SAKzD,IAAK,IAFDktD,EAAQ3+D,EAAO2vB,MAAMivC,cAEhB/xD,EAAI0yD,EAAO1yD,EAAGA,EAAI0yD,EAAOlwD,OAAQxC,IAEtC,IAAK,IAAI/G,EAAIy5D,EAAOz5D,EAAGA,EAAIy5D,EAAOn0D,MAAOtF,IAErC9F,EAAO2vB,MAAMkvC,YAAYl/D,KAAKm/D,WAAWh5D,EAAG+G,GAAI8xD,GAAO,GAEnDruD,IAEAquD,EAAMruD,EAAI3Q,KAAKgd,KAAK0E,KAAKhN,KAAKsqD,EAAMruD,EAAIA,EAAG,EAAG,IAG9CuI,IAEA8lD,EAAM9lD,EAAIlZ,KAAKgd,KAAK0E,KAAK7J,MAAMmnD,EAAM9lD,EAAIA,EAAG,EAAG,IAG/CzI,IAEAuuD,EAAMvuD,EAAIzQ,KAAKgd,KAAK0E,KAAK7J,MAAMmnD,EAAMvuD,EAAIA,EAAG,EAAG,IAGnDpQ,EAAO2vB,MAAMkwC,SAASlB,EAAMruD,EAAGquD,EAAM9lD,EAAG8lD,EAAMvuD,EAAGuuD,GACjDh/D,KAAKo/D,WAAWj5D,EAAG+G,EAAG8xD,EAAMrxD,EAAGqxD,EAAMzxC,EAAGyxC,EAAMpvD,EAAGovD,EAAMxvD,GAAG,GAOlE,OAHAxP,KAAK6mB,QAAQw4C,aAAar/D,KAAK88D,UAAW,EAAG,GAC7C98D,KAAKgqB,OAAQ,EAENhqB,OAiBXo/D,WAAY,SAAUj5D,EAAG+G,EAAGkzD,EAAKC,EAAOC,EAAM7/C,EAAO8/C,GAsBjD,YApBkBh2D,IAAdg2D,IAA2BA,GAAY,GAEvCp6D,GAAK,GAAKA,GAAKnG,KAAK6R,OAAS3E,GAAK,GAAKA,GAAKlN,KAAK8R,SAE7CzR,EAAOg7B,OAAOmlC,cAEdxgE,KAAK+8D,OAAO7vD,EAAIlN,KAAK6R,MAAQ1L,GAAMsa,GAAS,GAAO6/C,GAAQ,GAAOD,GAAS,EAAKD,EAIhFpgE,KAAK+8D,OAAO7vD,EAAIlN,KAAK6R,MAAQ1L,GAAMi6D,GAAO,GAAOC,GAAS,GAAOC,GAAQ,EAAK7/C,EAG9E8/C,IAEAvgE,KAAK6mB,QAAQw4C,aAAar/D,KAAK88D,UAAW,EAAG,GAC7C98D,KAAKgqB,OAAQ,IAIdhqB,MAgBXygE,SAAU,SAAUt6D,EAAG+G,EAAGkzD,EAAKC,EAAOC,EAAMC,GAExC,OAAOvgE,KAAKo/D,WAAWj5D,EAAG+G,EAAGkzD,EAAKC,EAAOC,EAAM,IAAKC,IAexDG,SAAU,SAAUv6D,EAAG+G,EAAGM,GAEjBA,IAEDA,EAAMnN,EAAO2vB,MAAMivC,eAGvB,IAAIl2D,KAAW5C,EAAK+G,EAAIlN,KAAK6R,OAS7B,OAPA9I,GAAS,EAETyE,EAAIG,EAAI3N,KAAKumC,KAAKx9B,GAClByE,EAAI+f,EAAIvtB,KAAKumC,OAAOx9B,GACpByE,EAAIoC,EAAI5P,KAAKumC,OAAOx9B,GACpByE,EAAIgC,EAAIxP,KAAKumC,OAAOx9B,GAEbyE,GAeX2xD,WAAY,SAAUh5D,EAAG+G,GAErB,GAAI/G,GAAK,GAAKA,GAAKnG,KAAK6R,OAAS3E,GAAK,GAAKA,GAAKlN,KAAK8R,OAEjD,OAAO9R,KAAK+8D,OAAO7vD,EAAIlN,KAAK6R,MAAQ1L,IAkB5Cw6D,YAAa,SAAUx6D,EAAG+G,EAAGM,EAAKozD,EAAKC,GAEnC,OAAOxgE,EAAO2vB,MAAMkvC,YAAYl/D,KAAKm/D,WAAWh5D,EAAG+G,GAAIM,EAAKozD,EAAKC,IAWrEC,UAAW,SAAUzrD,GAEjB,OAAOrV,KAAK6mB,QAAQowB,aAAa5hC,EAAKlP,EAAGkP,EAAKnI,EAAGmI,EAAKxD,MAAOwD,EAAKvD,SAmBtEivD,cAAe,SAAUzgD,QAEH/V,IAAd+V,IAA2BA,EAAY,GAE3C,IAAI0+C,EAAQ3+D,EAAO2vB,MAAMivC,cAErB94D,EAAI,EACJ+G,EAAI,EACJ8wB,EAAI,EACJgjC,GAAO,EAEO,IAAd1gD,GAEA0d,GAAK,EACL9wB,EAAIlN,KAAK8R,QAEU,IAAdwO,IAEL0d,GAAK,EACL73B,EAAInG,KAAK6R,OAGb,GAEIxR,EAAO2vB,MAAMkvC,YAAYl/D,KAAKm/D,WAAWh5D,EAAG+G,GAAI8xD,GAE9B,IAAd1+C,GAAiC,IAAdA,IAGnBna,IAEUnG,KAAK6R,QAEX1L,EAAI,IACJ+G,GAAK8wB,IAEIh+B,KAAK8R,QAAU5E,GAAK,KAEzB8zD,GAAO,IAII,IAAd1gD,GAAiC,IAAdA,KAGxBpT,IAEUlN,KAAK8R,SAEX5E,EAAI,IACJ/G,GAAK63B,IAEIh+B,KAAK6R,OAAS1L,GAAK,KAExB66D,GAAO,UAKJ,IAAZhC,EAAMxvD,IAAYwxD,GAKzB,OAHAhC,EAAM74D,EAAIA,EACV64D,EAAM9xD,EAAIA,EAEH8xD,GAYXjxD,UAAW,SAAUsH,GAOjB,YALa9K,IAAT8K,IAAsBA,EAAO,IAAIhV,EAAO2N,WAE5CqH,EAAKlP,EAAInG,KAAK+gE,cAAc,GAAG56D,EAG3BkP,EAAKlP,IAAMnG,KAAK6R,MAETwD,EAAKpH,MAAM,EAAG,EAAG,EAAG,IAG/BoH,EAAKnI,EAAIlN,KAAK+gE,cAAc,GAAG7zD,EAC/BmI,EAAKxD,MAAS7R,KAAK+gE,cAAc,GAAG56D,EAAIkP,EAAKlP,EAAK,EAClDkP,EAAKvD,OAAU9R,KAAK+gE,cAAc,GAAG7zD,EAAImI,EAAKnI,EAAK,EAE5CmI,IAgBXmW,WAAY,SAAUrlB,EAAG+G,EAAGue,EAASC,EAASu1C,EAAQC,GAElDD,EAASA,GAAU,EACnBC,EAASA,GAAU,EAEnB,IAAIv1C,EAAQ3rB,KAAKgd,KAAKzJ,IAAIoY,MAAMxlB,EAAG+G,EAAGlN,MAKtC,OAHA2rB,EAAME,OAAOlf,IAAI8e,EAASC,GAC1BC,EAAM3U,MAAMrK,IAAIs0D,EAAQC,GAEjBv1C,GAuCX1f,KAAM,SAAUkC,EAAQhI,EAAG+G,EAAG2E,EAAOC,EAAQuB,EAAIC,EAAI6tD,EAAUC,EAAWxuD,EAAQ6Y,EAASC,EAASu1C,EAAQC,EAAQzgD,EAAO4gD,EAAW/jD,GAWlI,QATe/S,IAAX4D,GAAmC,OAAXA,IAAmBA,EAASnO,MAEpDmO,aAAkB9N,EAAOkyD,gBAEzBpkD,EAASA,EAAOmzD,aAGpBthE,KAAKy9D,OAAStvD,EAEVA,aAAkB9N,EAAO2wB,QAAU7iB,aAAkB9N,EAAO80D,OAAShnD,aAAkB9N,EAAO41D,MAAQ9nD,aAAkBpI,KAAKirB,OAG7HhxB,KAAK09D,KAAK/wD,IAAIwB,EAAOi4B,QAAQwQ,KAAKzwC,EAAGgI,EAAOi4B,QAAQwQ,KAAK1pC,GACzDlN,KAAK29D,MAAMhxD,IAAIwB,EAAOi4B,QAAQwQ,KAAK/kC,MAAO1D,EAAOi4B,QAAQwQ,KAAK9kC,QAC9D9R,KAAK49D,OAAOjxD,IAAIwB,EAAO6I,MAAM7Q,EAAGgI,EAAO6I,MAAM9J,GAC7ClN,KAAKg+D,QAAQrxD,IAAIwB,EAAO0d,OAAO1lB,EAAGgI,EAAO0d,OAAO3e,GAChDlN,KAAK69D,QAAU1vD,EAAO6rB,SACtBh6B,KAAK89D,OAAO95C,QAAU7V,EAAOsS,MAEzBtS,EAAOi4B,mBAAmB/lC,EAAOkyD,cAEjCvyD,KAAKy9D,OAAStvD,EAAOi4B,QAAQk7B,YAI7BthE,KAAKy9D,OAAStvD,EAAOi4B,QAAQC,YAAYl4B,YAGlC5D,IAAP8I,GAA2B,OAAPA,IAAeA,EAAKlF,EAAOhI,QACxCoE,IAAP+I,GAA2B,OAAPA,IAAeA,EAAKnF,EAAOjB,GAE/CiB,EAAOi4B,QAAQuQ,OAGftjC,GAAMlF,EAAOi4B,QAAQuQ,KAAKxwC,EAAIgI,EAAO0d,OAAO1lB,EAAIgI,EAAOi4B,QAAQuQ,KAAK9kC,MACpEyB,GAAMnF,EAAOi4B,QAAQuQ,KAAKzpC,EAAIiB,EAAO0d,OAAO3e,EAAIiB,EAAOi4B,QAAQuQ,KAAK7kC,QAGpD,WAAhB3D,EAAO0/C,OAEH1/C,EAAOozD,aAAepzD,EAAO0/C,OAE7B1/C,EAAOozD,WAAapzD,EAAO0/C,KAC3B1/C,EAAOqzD,cAAgBz7D,KAAK07D,aAAaC,iBAAiBvzD,EAAQA,EAAO0/C,OAG7E7tD,KAAKy9D,OAAStvD,EAAOqzD,cACrBxhE,KAAK09D,KAAK/wD,IAAI,QAItB,CAQI,GANA3M,KAAK09D,KAAK/wD,IAAI,GACd3M,KAAK49D,OAAOjxD,IAAI,GAChB3M,KAAKg+D,QAAQrxD,IAAI,GACjB3M,KAAK69D,QAAU,EACf79D,KAAK89D,OAAO95C,QAAU,EAElB7V,aAAkB9N,EAAOoyD,WAEzBzyD,KAAKy9D,OAAStvD,EAAO4f,YAEpB,GAAsB,iBAAX5f,EAChB,CAGI,GAAe,QAFfA,EAASnO,KAAKgd,KAAKqF,MAAM+wC,SAASjlD,IAI9B,OAIAnO,KAAKy9D,OAAStvD,EAItBnO,KAAK29D,MAAMhxD,IAAI3M,KAAKy9D,OAAO5rD,MAAO7R,KAAKy9D,OAAO3rD,QA6DlD,QAzDUvH,IAANpE,GAAyB,OAANA,IAAcA,EAAI,QAC/BoE,IAAN2C,GAAyB,OAANA,IAAcA,EAAI,GAGrC2E,IAEA7R,KAAK29D,MAAMx3D,EAAI0L,GAGfC,IAEA9R,KAAK29D,MAAMzwD,EAAI4E,QAIRvH,IAAP8I,GAA2B,OAAPA,IAAeA,EAAKlN,QACjCoE,IAAP+I,GAA2B,OAAPA,IAAeA,EAAKpG,QAC3B3C,IAAb42D,GAAuC,OAAbA,IAAqBA,EAAWnhE,KAAK29D,MAAMx3D,QACvDoE,IAAd62D,GAAyC,OAAdA,IAAsBA,EAAYphE,KAAK29D,MAAMzwD,GAGtD,iBAAX0F,IAEP5S,KAAK69D,QAAUjrD,GAII,iBAAZ6Y,IAEPzrB,KAAKg+D,QAAQ73D,EAAIslB,GAGE,iBAAZC,IAEP1rB,KAAKg+D,QAAQ9wD,EAAIwe,GAIC,iBAAXu1C,IAEPjhE,KAAK49D,OAAOz3D,EAAI86D,GAGE,iBAAXC,IAEPlhE,KAAK49D,OAAO1wD,EAAIg0D,GAIC,iBAAVzgD,IAEPzgB,KAAK89D,OAAO95C,QAAUvD,QAGRlW,IAAd82D,IAA2BA,EAAY,WAC3B92D,IAAZ+S,IAAyBA,GAAU,KAEnCtd,KAAK89D,OAAO95C,SAAW,GAAuB,IAAlBhkB,KAAK49D,OAAOz3D,GAA6B,IAAlBnG,KAAK49D,OAAO1wD,GAA4B,IAAjBlN,KAAK29D,MAAMx3D,GAA4B,IAAjBnG,KAAK29D,MAAMzwD,GAA/G,CAMA,IAAIyvD,EAAM38D,KAAK6mB,QAoCf,OAlCA7mB,KAAK89D,OAAOC,KAAOpB,EAAIT,YAEvBS,EAAI71C,OAEJ61C,EAAIT,YAAcl8D,KAAK89D,OAAO95C,QAE1Bq9C,IAEArhE,KAAK2hE,GAAKN,GAGV/jD,IAEAjK,GAAM,EACNC,GAAM,GAIVqpD,EAAI5lD,UAAU1D,EAAIC,GAElBqpD,EAAI3lD,MAAMhX,KAAK49D,OAAOz3D,EAAGnG,KAAK49D,OAAO1wD,GAErCyvD,EAAI/pD,OAAO5S,KAAK69D,SAEhBlB,EAAI3lB,UAAUh3C,KAAKy9D,OAAQz9D,KAAK09D,KAAKv3D,EAAIA,EAAGnG,KAAK09D,KAAKxwD,EAAIA,EAAGlN,KAAK29D,MAAMx3D,EAAGnG,KAAK29D,MAAMzwD,GAAIi0D,EAAWnhE,KAAKg+D,QAAQ73D,GAAIi7D,EAAYphE,KAAKg+D,QAAQ9wD,EAAGi0D,EAAUC,GAI5JzE,EAAI31C,UAEJ21C,EAAIT,YAAcl8D,KAAK89D,OAAOC,KAE9B/9D,KAAKgqB,OAAQ,EAENhqB,OAiBX4hE,cAAe,SAAUzzD,EAAQkzD,EAAW/jD,GAKxC,QAHkB/S,IAAd82D,IAA2BA,EAAY,WAC3B92D,IAAZ+S,IAAyBA,GAAU,IAElCnP,EAAOrF,eAAe,oBAAsBqF,EAAO63B,cAAsC,IAAtB73B,EAAOogB,WAE3E,OAAOvuB,KAGX,IAAI6lC,EAAK13B,EAAO+e,eAKhB,GAHAltB,KAAK09D,KAAK/wD,IAAIwB,EAAOi4B,QAAQwQ,KAAKzwC,EAAGgI,EAAOi4B,QAAQwQ,KAAK1pC,GACzDlN,KAAK29D,MAAMhxD,IAAIwB,EAAOi4B,QAAQwQ,KAAK/kC,MAAO1D,EAAOi4B,QAAQwQ,KAAK9kC,QAEjD,IAAT+zB,EAAGr2B,GAAoB,IAATq2B,EAAGzvB,GAA4B,IAAjBpW,KAAK29D,MAAMx3D,GAA4B,IAAjBnG,KAAK29D,MAAMzwD,EAG7D,OAAOlN,KAGPmO,EAAOi4B,mBAAmB/lC,EAAOkyD,cAEjCvyD,KAAKy9D,OAAStvD,EAAOi4B,QAAQk7B,YAI7BthE,KAAKy9D,OAAStvD,EAAOi4B,QAAQC,YAAYl4B,OAG7C,IAAIkF,EAAKwyB,EAAGxyB,GACRC,EAAKuyB,EAAGvyB,GAERnF,EAAOi4B,QAAQuQ,OAGftjC,GAAMlF,EAAOi4B,QAAQuQ,KAAKxwC,EAAIgI,EAAO0d,OAAO1lB,EAAIgI,EAAOi4B,QAAQuQ,KAAK9kC,MACpEyB,GAAMnF,EAAOi4B,QAAQuQ,KAAKzpC,EAAIiB,EAAO0d,OAAO3e,EAAIiB,EAAOi4B,QAAQuQ,KAAK7kC,QAGpD,WAAhB3D,EAAO0/C,OAEH1/C,EAAOozD,aAAepzD,EAAO0/C,OAE7B1/C,EAAOozD,WAAapzD,EAAO0/C,KAC3B1/C,EAAOqzD,cAAgBz7D,KAAK07D,aAAaC,iBAAiBvzD,EAAQA,EAAO0/C,OAG7E7tD,KAAKy9D,OAAStvD,EAAOqzD,cACrBxhE,KAAK09D,KAAK/wD,IAAI,IAGd2Q,IAEAjK,GAAM,EACNC,GAAM,GAGV,IAAIqpD,EAAM38D,KAAK6mB,QAiCf,OA/BA7mB,KAAK89D,OAAOC,KAAOpB,EAAIT,YAEvBS,EAAI71C,OAEJ61C,EAAIT,YAAcl8D,KAAK89D,OAAO95C,QAE1Bq9C,IAEArhE,KAAK2hE,GAAKN,GAGd1E,EAAI38D,KAAK48D,gBAAmBzuD,EAAOi4B,QAAQC,YAAYisB,YAAcvsD,KAAKJ,WAAWE,OAErF82D,EAAI51C,aAAa8e,EAAGr2B,EAAGq2B,EAAGj2B,EAAGi2B,EAAG71B,EAAG61B,EAAGzvB,EAAG/C,EAAIC,GAE7CqpD,EAAI3lB,UAAUh3C,KAAKy9D,OACfz9D,KAAK09D,KAAKv3D,EACVnG,KAAK09D,KAAKxwD,EACVlN,KAAK29D,MAAMx3D,EACXnG,KAAK29D,MAAMzwD,GACVlN,KAAK29D,MAAMx3D,EAAIgI,EAAO0d,OAAO1lB,GAC7BnG,KAAK29D,MAAMzwD,EAAIiB,EAAO0d,OAAO3e,EAC9BlN,KAAK29D,MAAMx3D,EACXnG,KAAK29D,MAAMzwD,GAEfyvD,EAAI31C,UAEJ21C,EAAIT,YAAcl8D,KAAK89D,OAAOC,KAE9B/9D,KAAKgqB,OAAQ,EAENhqB,MAiBX6hE,SAAU,SAAU1zD,EAAQ6L,EAAM7T,EAAG+G,EAAGuT,EAAO4gD,EAAW/jD,GAEtD,OAAOtd,KAAKiM,KAAKkC,EAAQ6L,EAAK7T,EAAG6T,EAAK9M,EAAG8M,EAAKnI,MAAOmI,EAAKlI,OAAQ3L,EAAG+G,EAAG8M,EAAKnI,MAAOmI,EAAKlI,OAAQ,EAAG,EAAG,EAAG,EAAG,EAAG2O,EAAO4gD,EAAW/jD,IAyBtIkhD,KAAM,SAAUrwD,EAAQhI,EAAG+G,EAAG2E,EAAOC,EAAQuvD,EAAW/jD,GAGpD,OAAOtd,KAAKiM,KAAKkC,EAAQ,KAAM,KAAM,KAAM,KAAMhI,EAAG+G,EAAG2E,EAAOC,EAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAMuvD,EAAW/jD,IAwBzHwkD,UAAW,SAAUroC,EAAO4nC,EAAW/jD,GAOnC,OALImc,EAAM5B,MAAQ,GAEd4B,EAAMvC,cAAcl3B,KAAK+hE,eAAgB/hE,KAAMqhE,EAAW/jD,GAGvDtd,MAaX+hE,eAAgB,SAAU1zC,EAAOgzC,EAAW/jD,GAOxC,GALI+Q,EAAMvlB,eAAe,YAErB9I,KAAK4hE,cAAcvzC,EAAOgzC,EAAW/jD,GAGrC+Q,EAAMjmB,OAAS/H,EAAOoB,OAAS4sB,EAAMpB,OAErCjtB,KAAK8hE,UAAUzzC,EAAOgzC,EAAW/jD,QAIjC,GAAI+Q,EAAMvlB,eAAe,aAAeulB,EAAMD,SAASrmB,OAAS,EAE5D,IAAK,IAAIC,EAAI,EAAGA,EAAIqmB,EAAMD,SAASrmB,OAAQC,IAEnCqmB,EAAMD,SAASpmB,GAAGilB,QAElBjtB,KAAK4hE,cAAcvzC,EAAMD,SAASpmB,GAAIq5D,EAAW/jD,IA+BrE0kD,SAAU,SAAU/1C,EAAQo1C,EAAW/jD,GAEnC,IAA4B,IAAxB2O,EAAO+Z,cAAgD,IAAtB/Z,EAAOsC,YAAqBtC,EAAOnjB,eAAe,YAA+B,IAAlBmjB,EAAOgB,OAEvG,OAAOjtB,KAGX,GAAIisB,EAAO7jB,OAAS/H,EAAOoB,OAASwqB,EAAO7jB,OAAS/H,EAAOwB,SAAWoqB,EAAO7jB,OAAS/H,EAAOmB,WAEzF,GAAIyqB,EAAO7jB,OAAS/H,EAAOgB,SAC3B,CACI,IAAI8b,EAAS8O,EAAOle,YACpB/N,KAAK28D,IAAI71C,OACT9mB,KAAK28D,IAAI5lD,UAAUoG,EAAOhX,EAAGgX,EAAOjQ,GACpCnH,KAAKk8D,eAAeC,eAAej2C,EAAQjsB,KAAK28D,KAChD38D,KAAK28D,IAAI31C,eAIThnB,KAAKiM,KAAKggB,EAAQ,KAAM,KAAM,KAAM,KAAMA,EAAOxK,cAActb,EAAG8lB,EAAOxK,cAAcvU,EAAG,KAAM,KAAM+e,EAAOk2C,cAAe,KAAM,KAAMl2C,EAAOwqB,WAAWtwC,EAAG8lB,EAAOwqB,WAAWvpC,EAAG+e,EAAOsC,WAAY8yC,EAAW/jD,GAIxN,GAAI2O,EAAOmC,SAEP,IAAK,IAAIpmB,EAAI,EAAGA,EAAIikB,EAAOmC,SAASrmB,OAAQC,IAExChI,KAAKgiE,SAAS/1C,EAAOmC,SAASpmB,GAAIq5D,EAAW/jD,GAIrD,OAAOtd,MAgBXoiE,OAAQ,SAAU5hD,EAAO6hD,EAAMl8D,EAAG+G,GAE9B,IAAIyvD,EAAM38D,KAAK6mB,QAcf,YAZctc,IAAViW,GAAiC,OAAVA,EAEvBm8C,EAAI2F,YAAc,iBAIlB3F,EAAI2F,YAAc9hD,EAClBm8C,EAAI4F,WAAaF,GAAQ,EACzB1F,EAAI6F,cAAgBr8D,GAAK,GACzBw2D,EAAI8F,cAAgBv1D,GAAK,IAGtBlN,MAcX0iE,UAAW,SAAUv0D,EAAQqgD,EAAMmU,EAAYC,GAoB3C,YAlBiBr4D,IAAbq4D,GAAuC,OAAbA,EAE1B5iE,KAAKw+D,KAAKhQ,GAAMqU,kBAIhB7iE,KAAKw+D,KAAKhQ,EAAMoU,EAASz8D,EAAGy8D,EAAS11D,EAAG01D,EAAS/wD,MAAO+wD,EAAS9wD,QAAQ+wD,uBAG1Dt4D,IAAfo4D,GAA2C,OAAfA,EAE5B3iE,KAAKw+D,KAAKrwD,GAAQ20D,aAIlB9iE,KAAKw+D,KAAKrwD,EAAQw0D,EAAWx8D,EAAGw8D,EAAWz1D,EAAGy1D,EAAW9wD,MAAO8wD,EAAW7wD,QAAQgxD,aAGhF9iE,MA0BX+iE,QAAS,SAAUC,EAAar1D,EAAG4f,EAAG3d,EAAGJ,EAAG6L,EAAQqkD,EAAIC,EAAI7qD,GA2BxD,YAzBUvK,IAANiF,IAAmBA,EAAI,UACZjF,IAAX8Q,IAAwBA,GAAS,QAC1B9Q,IAAPm1D,IAAoBA,EAAK/xD,QAClBpD,IAAPo1D,IAAoBA,EAAKpyC,QAClBhjB,IAAPuK,IAAoBA,EAAKlF,GAEzByL,GAEA2nD,EAAY3nD,OAAOrb,KAAK6R,MAAO7R,KAAK8R,QAGxC9R,KAAK++D,gBACD,SAAUC,EAAO74D,EAAG+G,GAMhB,OAJI8xD,EAAMrxD,IAAMA,GAAKqxD,EAAMzxC,IAAMA,GAAKyxC,EAAMpvD,IAAMA,GAE9CozD,EAAY5D,WAAWj5D,EAAG+G,EAAGwyD,EAAIC,EAAI7qD,EAAItF,GAAG,IAEzC,GAEXxP,MAEJgjE,EAAYn8C,QAAQw4C,aAAa2D,EAAYlG,UAAW,EAAG,GAC3DkG,EAAYh5C,OAAQ,EAEbg5C,GAeX3tD,KAAM,SAAUlP,EAAG+G,EAAG2E,EAAOC,EAAQ2sD,GASjC,YAPyB,IAAdA,IAEPz+D,KAAK6mB,QAAQ43C,UAAYA,GAG7Bz+D,KAAK6mB,QAAQ63C,SAASv4D,EAAG+G,EAAG2E,EAAOC,GAE5B9R,MAkBXg2D,KAAM,SAAUA,EAAM7vD,EAAG+G,EAAG2pD,EAAMr2C,EAAO4hD,QAE3B73D,IAANpE,IAAmBA,EAAI,QACjBoE,IAAN2C,IAAmBA,EAAI,QACd3C,IAATssD,IAAsBA,EAAO,qBACnBtsD,IAAViW,IAAuBA,EAAQ,yBACpBjW,IAAX63D,IAAwBA,GAAS,GAErC,IAAIzF,EAAM38D,KAAK6mB,QACXo8C,EAAWtG,EAAI9F,KAenB,OAbA8F,EAAI9F,KAAOA,EAEPuL,IAEAzF,EAAI8B,UAAY,aAChB9B,EAAIuG,SAASlN,EAAM7vD,EAAI,EAAG+G,EAAI,IAGlCyvD,EAAI8B,UAAYj+C,EAChBm8C,EAAIuG,SAASlN,EAAM7vD,EAAG+G,GAEtByvD,EAAI9F,KAAOoM,EAEJjjE,MAcX8gC,OAAQ,SAAU36B,EAAG+G,EAAGY,EAAQ2wD,GAE5B,IAAI9B,EAAM38D,KAAK6mB,QAaf,YAXkBtc,IAAdk0D,IAEA9B,EAAI8B,UAAYA,GAGpB9B,EAAIwG,YACJxG,EAAIyG,IAAIj9D,EAAG+G,EAAGY,EAAQ,EAAa,EAAV7H,KAAKsH,IAAQ,GACtCovD,EAAI0G,YAEJ1G,EAAIn2B,OAEGxmC,MAgBX8S,KAAM,SAAU1B,EAAIE,EAAIa,EAAIC,EAAIoO,EAAO3O,QAErBtH,IAAViW,IAAuBA,EAAQ,aACrBjW,IAAVsH,IAAuBA,EAAQ,GAEnC,IAAI8qD,EAAM38D,KAAK6mB,QAaf,OAXA81C,EAAIwG,YAEJxG,EAAI2G,OAAOlyD,EAAIE,GACfqrD,EAAI4G,OAAOpxD,EAAIC,GAEfuqD,EAAI6G,UAAY3xD,EAChB8qD,EAAI8G,YAAcjjD,EAClBm8C,EAAI+G,SAEJ/G,EAAI0G,YAEGrjE,MAaX2jE,YAAa,SAAU7wD,EAAM6Y,EAAOX,GAIhC,QAFezgB,IAAXygB,IAAwBA,EAAS,YAEhB,iBAAVW,IAEPA,EAAQ3rB,KAAKgd,KAAKqF,MAAM+wC,SAASznC,IAFrC,CAUA,IAAI9Z,EAAQiB,EAAK/K,OAEF,cAAXijB,GAA0BnZ,EAAQ8Z,EAAM9Z,QAExCA,EAAQ8Z,EAAM9Z,OAGlB,IAAI8qD,EAAM38D,KAAK6mB,QAgBf,OAdA81C,EAAI8B,UAAY9B,EAAIiH,cAAcj4C,EAAOX,GAEzChrB,KAAKo+D,QAAU,IAAI/9D,EAAO4M,OAAO6F,EAAK/B,MAAM5K,EAAG2M,EAAK/B,MAAM7D,EAAGye,EAAM7Z,QAEnE9R,KAAKo+D,QAAQ1vD,mBAAmBoE,EAAKnE,MAAQ,oBAAoB,EAAO3O,KAAK09D,MAE7Ef,EAAI71C,OACJ61C,EAAI5lD,UAAU/W,KAAK09D,KAAKv3D,EAAGnG,KAAK09D,KAAKxwD,GACrCyvD,EAAI/pD,OAAOE,EAAKnE,OAChBguD,EAAI+B,SAAS,EAAG,EAAG7sD,EAAO8Z,EAAM7Z,QAChC6qD,EAAI31C,UAEJhnB,KAAKgqB,OAAQ,EAENhqB,OAYXmjB,OAAQ,WAQJ,OANKnjB,KAAKu9D,sBAAwBv9D,KAAKgqB,QAEnChqB,KAAKqmC,YAAYrc,QACjBhqB,KAAKgqB,OAAQ,GAGVhqB,MASXsmB,QAAS,WAELtmB,KAAK6yD,UAAUvsC,UAEftmB,KAAKomC,QAAQ9f,SAAQ,GAErBjmB,EAAO6jC,WAAW5e,OAAOtlB,OAU7B8iE,WAAY,WAGR,OADA9iE,KAAK2hE,GAAK,cACH3hE,MAUX6jE,gBAAiB,WAGb,OADA7jE,KAAK2hE,GAAK,cACH3hE,MAUX8jE,cAAe,WAGX,OADA9jE,KAAK2hE,GAAK,YACH3hE,MAUX+jE,eAAgB,WAGZ,OADA/jE,KAAK2hE,GAAK,aACH3hE,MAUX6iE,gBAAiB,WAGb,OADA7iE,KAAK2hE,GAAK,cACH3hE,MAUXgkE,qBAAsB,WAGlB,OADAhkE,KAAK2hE,GAAK,mBACH3hE,MAUXikE,mBAAoB,WAGhB,OADAjkE,KAAK2hE,GAAK,iBACH3hE,MAUXkkE,oBAAqB,WAGjB,OADAlkE,KAAK2hE,GAAK,kBACH3hE,MAUXmkE,qBAAsB,WAGlB,OADAnkE,KAAK2hE,GAAK,mBACH3hE,MAUXokE,SAAU,WAGN,OADApkE,KAAK2hE,GAAK,MACH3hE,MAUXqkE,SAAU,WAGN,OADArkE,KAAK2hE,GAAK,UACH3hE,MAUXskE,cAAe,WAGX,OADAtkE,KAAK2hE,GAAK,WACH3hE,MAUXukE,YAAa,WAGT,OADAvkE,KAAK2hE,GAAK,SACH3hE,MAUXwkE,aAAc,WAGV,OADAxkE,KAAK2hE,GAAK,UACH3hE,MAUXykE,YAAa,WAGT,OADAzkE,KAAK2hE,GAAK,SACH3hE,MAUX0kE,aAAc,WAGV,OADA1kE,KAAK2hE,GAAK,UACH3hE,MAUX2kE,gBAAiB,WAGb,OADA3kE,KAAK2hE,GAAK,cACH3hE,MAUX4kE,eAAgB,WAGZ,OADA5kE,KAAK2hE,GAAK,aACH3hE,MAUX6kE,eAAgB,WAGZ,OADA7kE,KAAK2hE,GAAK,aACH3hE,MAUX8kE,eAAgB,WAGZ,OADA9kE,KAAK2hE,GAAK,aACH3hE,MAUX+kE,gBAAiB,WAGb,OADA/kE,KAAK2hE,GAAK,aACH3hE,MAUXglE,eAAgB,WAGZ,OADAhlE,KAAK2hE,GAAK,YACH3hE,MAUXilE,SAAU,WAGN,OADAjlE,KAAK2hE,GAAK,MACH3hE,MAUXklE,gBAAiB,WAGb,OADAllE,KAAK2hE,GAAK,aACH3hE,MAUXmlE,WAAY,WAGR,OADAnlE,KAAK2hE,GAAK,QACH3hE,MAUXolE,gBAAiB,WAGb,OADAplE,KAAK2hE,GAAK,aACH3hE,MAgBXqlE,eAAgB,SAASl3D,EAAQhI,EAAG+G,GAEhCiB,EAAO4S,SACP,IAAK,IAAWukD,EAAPt9D,EAAI,EAAiBA,EAAImG,EAAO2D,OAAQ9J,IAAK,CAClDs9D,GAAgBp4D,EAAIlF,GAAKhI,KAAK6R,MAAQ1L,EACtC,IAAK,IAAIoU,EAAI,EAAGA,EAAIpM,EAAO0D,MAAO0I,IAC9Bva,KAAK+8D,OAAOuI,EAAe/qD,GAAKpM,EAAO4uD,OAAO/0D,EAAImG,EAAO0D,MAAQ0I,GAGzE,OAAOva,OAUfyH,OAAOmF,eAAevM,EAAOoyD,WAAWlsD,UAAW,YAE/CmG,IAAK,WAEDrM,EAAO2tB,OAAOu3C,oBAAoBvlE,KAAK6mB,UAI3Cla,IAAK,SAAUzC,GAEX7J,EAAO2tB,OAAOw3C,oBAAoBxlE,KAAK6mB,QAAS3c,MAUxDzC,OAAOmF,eAAevM,EAAOoyD,WAAWlsD,UAAW,MAE/CmG,IAAK,WAED,OAAO1M,KAAK6mB,QAAQ4+C,0BAIxB94D,IAAK,SAAUzC,GAEXlK,KAAK6mB,QAAQ4+C,yBAA2Bv7D,KAkBhD7J,EAAOoyD,WAAWiT,aAAe,SAAUC,EAAYC,EAAY3E,EAAQC,EAAQ2E,EAAOC,GAStF,MAP0B,iBAAfH,IAA2BA,EAAa,GACzB,iBAAfC,IAA2BA,EAAa,GAC7B,iBAAX3E,IAAuBA,EAAS,GACrB,iBAAXC,IAAuBA,EAAS,GACtB,iBAAV2E,IAAsBA,EAAQ,GACpB,iBAAVC,IAAsBA,EAAQ,IAEhC1xD,GAAI6sD,EAAQ5sD,GAAI6sD,EAAQD,OAAQA,EAAQC,OAAQA,EAAQ2E,MAAOA,EAAOC,MAAOA,EAAOH,WAAYA,EAAYC,WAAYA,EAAYvyD,GAAIsyD,EAAYryD,GAAIsyD,IAIrKvlE,EAAOoyD,WAAWlsD,UAAU8B,YAAchI,EAAOoyD,WAuBjDpyD,EAAO0lE,UAEP1lE,EAAO0lE,OAAOC,YAAc,SAAUz/B,EAAM0/B,EAAaC,GAErDA,EAAMA,GAAO,EAEb,IAAIC,EAAWF,GAAeA,EAAYl+D,OACtCq+D,EAAWD,EAAWF,EAAY,GAAKC,EAAM3/B,EAAKx+B,OAClDs+D,EAAYhmE,EAAO0lE,OAAOO,WAAW//B,EAAM,EAAG6/B,EAAUF,GAAK,GAC7DK,KAEJ,IAAKF,EAAW,OAAOE,EAEvB,IAAI9R,EAAMC,EAAMC,EAAMC,EAAMzuD,EAAG+G,EAAGrC,EAKlC,GAHIs7D,IAAUE,EAAYhmE,EAAO0lE,OAAOS,eAAejgC,EAAM0/B,EAAaI,EAAWH,IAGjF3/B,EAAKx+B,OAAS,GAAKm+D,EAAK,CACxBzR,EAAOE,EAAOpuB,EAAK,GACnBmuB,EAAOE,EAAOruB,EAAK,GAEnB,IAAK,IAAIv+B,EAAIk+D,EAAKl+D,EAAIo+D,EAAUp+D,GAAKk+D,EACjC//D,EAAIogC,EAAKv+B,GACTkF,EAAIq5B,EAAKv+B,EAAI,GACT7B,EAAIsuD,IAAMA,EAAOtuD,GACjB+G,EAAIwnD,IAAMA,EAAOxnD,GACjB/G,EAAIwuD,IAAMA,EAAOxuD,GACjB+G,EAAI0nD,IAAMA,EAAO1nD,GAIzBrC,EAAO5E,KAAK6N,IAAI6gD,EAAOF,EAAMG,EAAOF,GAKxC,OAFAr0D,EAAO0lE,OAAOU,aAAaJ,EAAWE,EAAWL,EAAKzR,EAAMC,EAAM7pD,GAE3D07D,GAKXlmE,EAAO0lE,OAAOO,WAAa,SAAU//B,EAAMx1B,EAAOD,EAAKo1D,EAAKQ,GACxD,IACI1+D,EAAGuS,EAAGosD,EADNC,EAAM,EAIV,IAAK5+D,EAAI+I,EAAOwJ,EAAIzJ,EAAMo1D,EAAKl+D,EAAI8I,EAAK9I,GAAKk+D,EACzCU,IAAQrgC,EAAKhsB,GAAKgsB,EAAKv+B,KAAOu+B,EAAKv+B,EAAI,GAAKu+B,EAAKhsB,EAAI,IACrDA,EAAIvS,EAIR,GAAI0+D,IAAeE,EAAM,EACrB,IAAK5+D,EAAI+I,EAAO/I,EAAI8I,EAAK9I,GAAKk+D,EAAKS,EAAOtmE,EAAO0lE,OAAOc,WAAW7+D,EAAGu+B,EAAKv+B,GAAIu+B,EAAKv+B,EAAI,GAAI2+D,QAE5F,IAAK3+D,EAAI8I,EAAMo1D,EAAKl+D,GAAK+I,EAAO/I,GAAKk+D,EAAKS,EAAOtmE,EAAO0lE,OAAOc,WAAW7+D,EAAGu+B,EAAKv+B,GAAIu+B,EAAKv+B,EAAI,GAAI2+D,GAGvG,OAAOA,GAKXtmE,EAAO0lE,OAAOe,aAAe,SAAU/1D,EAAOD,GAC1C,IAAKC,EAAO,OAAOA,EACdD,IAAKA,EAAMC,GAEhB,IACIg2D,EADAh1D,EAAIhB,EAER,GAGI,GAFAg2D,GAAQ,EAEHh1D,EAAEi1D,UAAY3mE,EAAO0lE,OAAOp2D,OAAOoC,EAAGA,EAAEkiB,OAAmD,IAA1C5zB,EAAO0lE,OAAO/rD,KAAKjI,EAAEgsD,KAAMhsD,EAAGA,EAAEkiB,MAOlFliB,EAAIA,EAAEkiB,SAP0F,CAGhG,GAFA5zB,EAAO0lE,OAAOkB,WAAWl1D,IACzBA,EAAIjB,EAAMiB,EAAEgsD,QACFhsD,EAAEkiB,KAAM,OAAO,KACzB8yC,GAAQ,SAKPA,GAASh1D,IAAMjB,GAExB,OAAOA,GAKXzQ,EAAO0lE,OAAOU,aAAe,SAAUS,EAAKX,EAAWL,EAAKzR,EAAMC,EAAM7pD,EAAMs8D,GAC1E,GAAKD,EAAL,EAGKC,GAAQt8D,GAAMxK,EAAO0lE,OAAOqB,WAAWF,EAAKzS,EAAMC,EAAM7pD,GAM7D,IAJA,IACIkzD,EAAM9pC,EADN2L,EAAOsnC,EAIJA,EAAInJ,OAASmJ,EAAIjzC,MAIpB,GAHA8pC,EAAOmJ,EAAInJ,KACX9pC,EAAOizC,EAAIjzC,KAEPppB,EAAOxK,EAAO0lE,OAAOsB,YAAYH,EAAKzS,EAAMC,EAAM7pD,GAAQxK,EAAO0lE,OAAOuB,MAAMJ,GAE9EX,EAAUhyD,KAAKwpD,EAAK/1D,EAAIk+D,GACxBK,EAAUhyD,KAAK2yD,EAAIl/D,EAAIk+D,GACvBK,EAAUhyD,KAAK0f,EAAKjsB,EAAIk+D,GAExB7lE,EAAO0lE,OAAOkB,WAAWC,GAGzBA,EAAMjzC,EAAKA,KACX2L,EAAO3L,EAAKA,UAQhB,IAHAizC,EAAMjzC,KAGM2L,EAAM,CAETunC,EAIe,IAATA,GACPD,EAAM7mE,EAAO0lE,OAAOwB,uBAAuBL,EAAKX,EAAWL,GAC3D7lE,EAAO0lE,OAAOU,aAAaS,EAAKX,EAAWL,EAAKzR,EAAMC,EAAM7pD,EAAM,IAGlD,IAATs8D,GACP9mE,EAAO0lE,OAAOyB,YAAYN,EAAKX,EAAWL,EAAKzR,EAAMC,EAAM7pD,GAT3DxK,EAAO0lE,OAAOU,aAAapmE,EAAO0lE,OAAOe,aAAaI,GAAMX,EAAWL,EAAKzR,EAAMC,EAAM7pD,EAAM,GAYlG,SAOZxK,EAAO0lE,OAAOuB,MAAQ,SAAUJ,GAC5B,IAAI13D,EAAI03D,EAAInJ,KACRnuD,EAAIs3D,EACJl3D,EAAIk3D,EAAIjzC,KAEZ,GAAI5zB,EAAO0lE,OAAO/rD,KAAKxK,EAAGI,EAAGI,IAAM,EAAG,OAAO,EAK7C,IAFA,IAAI+B,EAAIm1D,EAAIjzC,KAAKA,KAEVliB,IAAMm1D,EAAInJ,MAAM,CACnB,GAAI19D,EAAO0lE,OAAO0B,gBAAgBj4D,EAAErJ,EAAGqJ,EAAEtC,EAAG0C,EAAEzJ,EAAGyJ,EAAE1C,EAAG8C,EAAE7J,EAAG6J,EAAE9C,EAAG6E,EAAE5L,EAAG4L,EAAE7E,IACnE7M,EAAO0lE,OAAO/rD,KAAKjI,EAAEgsD,KAAMhsD,EAAGA,EAAEkiB,OAAS,EAAG,OAAO,EACvDliB,EAAIA,EAAEkiB,KAGV,OAAO,GAGX5zB,EAAO0lE,OAAOsB,YAAc,SAAUH,EAAKzS,EAAMC,EAAM7pD,GACnD,IAAI2E,EAAI03D,EAAInJ,KACRnuD,EAAIs3D,EACJl3D,EAAIk3D,EAAIjzC,KAEZ,GAAI5zB,EAAO0lE,OAAO/rD,KAAKxK,EAAGI,EAAGI,IAAM,EAAG,OAAO,EAe7C,IAZA,IAAI03D,EAAQl4D,EAAErJ,EAAIyJ,EAAEzJ,EAAKqJ,EAAErJ,EAAI6J,EAAE7J,EAAIqJ,EAAErJ,EAAI6J,EAAE7J,EAAMyJ,EAAEzJ,EAAI6J,EAAE7J,EAAIyJ,EAAEzJ,EAAI6J,EAAE7J,EACnEwhE,EAAQn4D,EAAEtC,EAAI0C,EAAE1C,EAAKsC,EAAEtC,EAAI8C,EAAE9C,EAAIsC,EAAEtC,EAAI8C,EAAE9C,EAAM0C,EAAE1C,EAAI8C,EAAE9C,EAAI0C,EAAE1C,EAAI8C,EAAE9C,EACnE06D,EAAQp4D,EAAErJ,EAAIyJ,EAAEzJ,EAAKqJ,EAAErJ,EAAI6J,EAAE7J,EAAIqJ,EAAErJ,EAAI6J,EAAE7J,EAAMyJ,EAAEzJ,EAAI6J,EAAE7J,EAAIyJ,EAAEzJ,EAAI6J,EAAE7J,EACnE0hE,EAAQr4D,EAAEtC,EAAI0C,EAAE1C,EAAKsC,EAAEtC,EAAI8C,EAAE9C,EAAIsC,EAAEtC,EAAI8C,EAAE9C,EAAM0C,EAAE1C,EAAI8C,EAAE9C,EAAI0C,EAAE1C,EAAI8C,EAAE9C,EAGnE46D,EAAOznE,EAAO0lE,OAAOgC,OAAOL,EAAOC,EAAOlT,EAAMC,EAAM7pD,GACtDm9D,EAAO3nE,EAAO0lE,OAAOgC,OAAOH,EAAOC,EAAOpT,EAAMC,EAAM7pD,GAGtDkH,EAAIm1D,EAAIe,MAELl2D,GAAKA,EAAE2e,GAAKs3C,GAAM,CACrB,GAAIj2D,IAAMm1D,EAAInJ,MAAQhsD,IAAMm1D,EAAIjzC,MAC5B5zB,EAAO0lE,OAAO0B,gBAAgBj4D,EAAErJ,EAAGqJ,EAAEtC,EAAG0C,EAAEzJ,EAAGyJ,EAAE1C,EAAG8C,EAAE7J,EAAG6J,EAAE9C,EAAG6E,EAAE5L,EAAG4L,EAAE7E,IACnE7M,EAAO0lE,OAAO/rD,KAAKjI,EAAEgsD,KAAMhsD,EAAGA,EAAEkiB,OAAS,EAAG,OAAO,EACvDliB,EAAIA,EAAEk2D,MAMV,IAFAl2D,EAAIm1D,EAAIgB,MAEDn2D,GAAKA,EAAE2e,GAAKo3C,GAAM,CACrB,GAAI/1D,IAAMm1D,EAAInJ,MAAQhsD,IAAMm1D,EAAIjzC,MAC5B5zB,EAAO0lE,OAAO0B,gBAAgBj4D,EAAErJ,EAAGqJ,EAAEtC,EAAG0C,EAAEzJ,EAAGyJ,EAAE1C,EAAG8C,EAAE7J,EAAG6J,EAAE9C,EAAG6E,EAAE5L,EAAG4L,EAAE7E,IACnE7M,EAAO0lE,OAAO/rD,KAAKjI,EAAEgsD,KAAMhsD,EAAGA,EAAEkiB,OAAS,EAAG,OAAO,EACvDliB,EAAIA,EAAEm2D,MAGV,OAAO,GAKX7nE,EAAO0lE,OAAOwB,uBAAyB,SAAUx2D,EAAOw1D,EAAWL,GAC/D,IAAIn0D,EAAIhB,EACR,EAAG,CACC,IAAIvB,EAAIuC,EAAEgsD,KACNnuD,EAAImC,EAAEkiB,KAAKA,KAGX5zB,EAAO0lE,OAAOl2D,WAAWL,EAAGuC,EAAGA,EAAEkiB,KAAMrkB,IAAMvP,EAAO0lE,OAAOoC,cAAc34D,EAAGI,IAAMvP,EAAO0lE,OAAOoC,cAAcv4D,EAAGJ,KAEjH+2D,EAAUhyD,KAAK/E,EAAExH,EAAIk+D,GACrBK,EAAUhyD,KAAKxC,EAAE/J,EAAIk+D,GACrBK,EAAUhyD,KAAK3E,EAAE5H,EAAIk+D,GAGrB7lE,EAAO0lE,OAAOkB,WAAWl1D,GACzB1R,EAAO0lE,OAAOkB,WAAWl1D,EAAEkiB,MAE3BliB,EAAIhB,EAAQnB,GAEhBmC,EAAIA,EAAEkiB,WACDliB,IAAMhB,GAEf,OAAOgB,GAKX1R,EAAO0lE,OAAOyB,YAAc,SAAUz2D,EAAOw1D,EAAWL,EAAKzR,EAAMC,EAAM7pD,GAErE,IAAI2E,EAAIuB,EACR,EAAG,CAEC,IADA,IAAInB,EAAIJ,EAAEykB,KAAKA,KACRrkB,IAAMJ,EAAEuuD,MAAM,CACjB,GAAIvuD,EAAExH,IAAM4H,EAAE5H,GAAK3H,EAAO0lE,OAAOqC,gBAAgB54D,EAAGI,GAAI,CAEpD,IAAII,EAAI3P,EAAO0lE,OAAOsC,aAAa74D,EAAGI,GAStC,OANAJ,EAAInP,EAAO0lE,OAAOe,aAAat3D,EAAGA,EAAEykB,MACpCjkB,EAAI3P,EAAO0lE,OAAOe,aAAa92D,EAAGA,EAAEikB,MAGpC5zB,EAAO0lE,OAAOU,aAAaj3D,EAAG+2D,EAAWL,EAAKzR,EAAMC,EAAM7pD,QAC1DxK,EAAO0lE,OAAOU,aAAaz2D,EAAGu2D,EAAWL,EAAKzR,EAAMC,EAAM7pD,GAG9D+E,EAAIA,EAAEqkB,KAEVzkB,EAAIA,EAAEykB,WACDzkB,IAAMuB,IAKnB1Q,EAAO0lE,OAAOS,eAAiB,SAAUjgC,EAAM0/B,EAAaI,EAAWH,GACnE,IACIl+D,EAAGF,EAAKiJ,EAAOD,EAAKqoB,EADpBmvC,KAGJ,IAAKtgE,EAAI,EAAGF,EAAMm+D,EAAYl+D,OAAQC,EAAIF,EAAKE,IAC3C+I,EAAQk1D,EAAYj+D,GAAKk+D,EACzBp1D,EAAM9I,EAAIF,EAAM,EAAIm+D,EAAYj+D,EAAI,GAAKk+D,EAAM3/B,EAAKx+B,QACpDoxB,EAAO94B,EAAO0lE,OAAOO,WAAW//B,EAAMx1B,EAAOD,EAAKo1D,GAAK,MAC1C/sC,EAAKlF,OAAMkF,EAAK6tC,SAAU,GACvCsB,EAAM/zD,KAAKlU,EAAO0lE,OAAOwC,YAAYpvC,IAMzC,IAHAmvC,EAAMhxC,KAAKkxC,UAGNxgE,EAAI,EAAGA,EAAIsgE,EAAMvgE,OAAQC,IAC1B3H,EAAO0lE,OAAO0C,cAAcH,EAAMtgE,GAAIq+D,GACtCA,EAAYhmE,EAAO0lE,OAAOe,aAAaT,EAAWA,EAAUpyC,MAGhE,OAAOoyC,GAGXhmE,EAAO0lE,OAAOyC,SAAW,SAAUh5D,EAAGI,GAClC,OAAOJ,EAAErJ,EAAIyJ,EAAEzJ,GAKnB9F,EAAO0lE,OAAO0C,cAAgB,SAAUC,EAAMrC,GAE1C,GADAA,EAAYhmE,EAAO0lE,OAAO4C,eAAeD,EAAMrC,GAChC,CACX,IAAIz2D,EAAIvP,EAAO0lE,OAAOsC,aAAahC,EAAWqC,GAC9CroE,EAAO0lE,OAAOe,aAAal3D,EAAGA,EAAEqkB,QAMxC5zB,EAAO0lE,OAAO4C,eAAiB,SAAUD,EAAMrC,GAC3C,IAIIx1D,EAJAkB,EAAIs0D,EACJuC,EAAKF,EAAKviE,EACV0iE,EAAKH,EAAKx7D,EACV47D,GAAM9yD,EAAAA,EAKV,EAAG,CACC,GAAI6yD,GAAM92D,EAAE7E,GAAK27D,GAAM92D,EAAEkiB,KAAK/mB,EAAG,CAC7B,IAAI/G,EAAI4L,EAAE5L,GAAK0iE,EAAK92D,EAAE7E,IAAM6E,EAAEkiB,KAAK9tB,EAAI4L,EAAE5L,IAAM4L,EAAEkiB,KAAK/mB,EAAI6E,EAAE7E,GACxD/G,GAAKyiE,GAAMziE,EAAI2iE,IACfA,EAAK3iE,EACL0K,EAAIkB,EAAE5L,EAAI4L,EAAEkiB,KAAK9tB,EAAI4L,EAAIA,EAAEkiB,MAGnCliB,EAAIA,EAAEkiB,WACDliB,IAAMs0D,GAEf,IAAKx1D,EAAG,OAAO,KAEf,GAAI63D,EAAKviE,IAAM0K,EAAE1K,EAAG,OAAO0K,EAAEktD,KAM7B,IAEIgL,EAFAnpC,EAAO/uB,EACPm4D,EAAShzD,EAAAA,EAKb,IAFAjE,EAAIlB,EAAEojB,KAECliB,IAAM6tB,GACLgpC,GAAM72D,EAAE5L,GAAK4L,EAAE5L,GAAK0K,EAAE1K,GACtB9F,EAAO0lE,OAAO0B,gBAAgBoB,EAAKh4D,EAAE3D,EAAI07D,EAAKE,EAAID,EAAIh4D,EAAE1K,EAAG0K,EAAE3D,EAAG27D,EAAKh4D,EAAE3D,EAAI47D,EAAKF,EAAIC,EAAI92D,EAAE5L,EAAG4L,EAAE7E,MAE/F67D,EAAM9iE,KAAKiK,IAAI24D,EAAK92D,EAAE7E,IAAM07D,EAAK72D,EAAE5L,IAExB6iE,GAAWD,IAAQC,GAAUj3D,EAAE5L,EAAI0K,EAAE1K,IAAO9F,EAAO0lE,OAAOoC,cAAcp2D,EAAG22D,KAClF73D,EAAIkB,EACJi3D,EAASD,GAIjBh3D,EAAIA,EAAEkiB,KAGV,OAAOpjB,GAKXxQ,EAAO0lE,OAAOqB,WAAa,SAAUr2D,EAAO0jD,EAAMC,EAAM7pD,GACpD,IAAIkH,EAAIhB,EACR,GACgB,OAARgB,EAAE2e,IAAY3e,EAAE2e,EAAIrwB,EAAO0lE,OAAOgC,OAAOh2D,EAAE5L,EAAG4L,EAAE7E,EAAGunD,EAAMC,EAAM7pD,IACnEkH,EAAEm2D,MAAQn2D,EAAEgsD,KACZhsD,EAAEk2D,MAAQl2D,EAAEkiB,KACZliB,EAAIA,EAAEkiB,WACDliB,IAAMhB,GAEfgB,EAAEm2D,MAAMD,MAAQ,KAChBl2D,EAAEm2D,MAAQ,KAEV7nE,EAAO0lE,OAAOkD,WAAWl3D,IAM7B1R,EAAO0lE,OAAOkD,WAAa,SAAU9vC,GACjC,IAAInxB,EAAG+J,EAAGm3D,EAAGr9D,EAAGs9D,EAAMC,EAAWC,EAAOC,EACpCC,EAAS,EAEb,EAAG,CAMC,IALAx3D,EAAIonB,EACJA,EAAO,KACPgwC,EAAO,KACPC,EAAY,EAELr3D,GAAG,CAIN,IAHAq3D,IACAF,EAAIn3D,EACJs3D,EAAQ,EACHrhE,EAAI,EAAGA,EAAIuhE,IACZF,IACAH,EAAIA,EAAEjB,OAFcjgE,KAQxB,IAFAshE,EAAQC,EAEDF,EAAQ,GAAMC,EAAQ,GAAKJ,GAEhB,IAAVG,GACAx9D,EAAIq9D,EACJA,EAAIA,EAAEjB,MACNqB,KACiB,IAAVA,GAAgBJ,EAIhBn3D,EAAE2e,GAAKw4C,EAAEx4C,GAChB7kB,EAAIkG,EACJA,EAAIA,EAAEk2D,MACNoB,MAEAx9D,EAAIq9D,EACJA,EAAIA,EAAEjB,MACNqB,MAVAz9D,EAAIkG,EACJA,EAAIA,EAAEk2D,MACNoB,KAWAF,EAAMA,EAAKlB,MAAQp8D,EAClBstB,EAAOttB,EAEZA,EAAEq8D,MAAQiB,EACVA,EAAOt9D,EAGXkG,EAAIm3D,EAGRC,EAAKlB,MAAQ,KACbsB,GAAU,QAELH,EAAY,GAErB,OAAOjwC,GAKX94B,EAAO0lE,OAAOgC,OAAS,SAAU5hE,EAAG+G,EAAGunD,EAAMC,EAAM7pD,GAe/C,OAbA1E,EAAI,OAASA,EAAIsuD,GAAQ5pD,EACzBqC,EAAI,OAASA,EAAIwnD,GAAQ7pD,EAEzB1E,EAAqB,UAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,YAAhBA,EAAKA,GAAK,GAEf+G,EAAqB,UAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,YAAhBA,EAAKA,GAAK,GAER/G,EAAK+G,GAAK,GAKrB7M,EAAO0lE,OAAOwC,YAAc,SAAUx3D,GAClC,IAAIgB,EAAIhB,EACJy4D,EAAWz4D,EACf,GACQgB,EAAE5L,EAAIqjE,EAASrjE,IAAGqjE,EAAWz3D,GACjCA,EAAIA,EAAEkiB,WACDliB,IAAMhB,GAEf,OAAOy4D,GAKXnpE,EAAO0lE,OAAO0B,gBAAkB,SAAUgC,EAAIC,EAAIC,EAAIC,EAAI35D,EAAIG,EAAIpF,EAAI+sC,GAClE,OAAQ9nC,EAAKjF,IAAO0+D,EAAK3xB,IAAO0xB,EAAKz+D,IAAOoF,EAAK2nC,IAAO,IACnD0xB,EAAKz+D,IAAO4+D,EAAK7xB,IAAO4xB,EAAK3+D,IAAO0+D,EAAK3xB,IAAO,IAChD4xB,EAAK3+D,IAAOoF,EAAK2nC,IAAO9nC,EAAKjF,IAAO4+D,EAAK7xB,IAAO,GAKzD13C,EAAO0lE,OAAOqC,gBAAkB,SAAU54D,EAAGI,GACzC,OAAOvP,EAAO0lE,OAAOp2D,OAAOH,EAAGI,IAAMJ,EAAEykB,KAAKjsB,IAAM4H,EAAE5H,GAAKwH,EAAEuuD,KAAK/1D,IAAM4H,EAAE5H,IAAM3H,EAAO0lE,OAAO8D,kBAAkBr6D,EAAGI,IAC7GvP,EAAO0lE,OAAOoC,cAAc34D,EAAGI,IAAMvP,EAAO0lE,OAAOoC,cAAcv4D,EAAGJ,IAAMnP,EAAO0lE,OAAO+D,aAAat6D,EAAGI,IAKhHvP,EAAO0lE,OAAO/rD,KAAO,SAAUjI,EAAGm3D,EAAGv7D,GACjC,OAAQu7D,EAAEh8D,EAAI6E,EAAE7E,IAAMS,EAAExH,EAAI+iE,EAAE/iE,IAAM+iE,EAAE/iE,EAAI4L,EAAE5L,IAAMwH,EAAET,EAAIg8D,EAAEh8D,IAK9D7M,EAAO0lE,OAAOp2D,OAAS,SAAU6B,EAAIuJ,GACjC,OAAOvJ,EAAGrL,IAAM4U,EAAG5U,GAAKqL,EAAGtE,IAAM6N,EAAG7N,GAKxC7M,EAAO0lE,OAAOl2D,WAAa,SAAU2B,EAAIu4D,EAAIhvD,EAAIivD,GAC7C,OAAO3pE,EAAO0lE,OAAO/rD,KAAKxI,EAAIu4D,EAAIhvD,GAAM,GAAM1a,EAAO0lE,OAAO/rD,KAAKxI,EAAIu4D,EAAIC,GAAM,GAC3E3pE,EAAO0lE,OAAO/rD,KAAKe,EAAIivD,EAAIx4D,GAAM,GAAMnR,EAAO0lE,OAAO/rD,KAAKe,EAAIivD,EAAID,GAAM,GAKhF1pE,EAAO0lE,OAAO8D,kBAAoB,SAAUr6D,EAAGI,GAC3C,IAAImC,EAAIvC,EACR,EAAG,CACC,GAAIuC,EAAE/J,IAAMwH,EAAExH,GAAK+J,EAAEkiB,KAAKjsB,IAAMwH,EAAExH,GAAK+J,EAAE/J,IAAM4H,EAAE5H,GAAK+J,EAAEkiB,KAAKjsB,IAAM4H,EAAE5H,GACjE3H,EAAO0lE,OAAOl2D,WAAWkC,EAAGA,EAAEkiB,KAAMzkB,EAAGI,GAAI,OAAO,EACtDmC,EAAIA,EAAEkiB,WACDliB,IAAMvC,GAEf,OAAO,GAKXnP,EAAO0lE,OAAOoC,cAAgB,SAAU34D,EAAGI,GACvC,OAAOvP,EAAO0lE,OAAO/rD,KAAKxK,EAAEuuD,KAAMvuD,EAAGA,EAAEykB,MAAQ,EAC3C5zB,EAAO0lE,OAAO/rD,KAAKxK,EAAGI,EAAGJ,EAAEykB,OAAS,GAAK5zB,EAAO0lE,OAAO/rD,KAAKxK,EAAGA,EAAEuuD,KAAMnuD,IAAM,EAC7EvP,EAAO0lE,OAAO/rD,KAAKxK,EAAGI,EAAGJ,EAAEuuD,MAAQ,GAAK19D,EAAO0lE,OAAO/rD,KAAKxK,EAAGA,EAAEykB,KAAMrkB,GAAK,GAKnFvP,EAAO0lE,OAAO+D,aAAe,SAAUt6D,EAAGI,GACtC,IAAImC,EAAIvC,EACJ8K,GAAS,EACTtP,GAAMwE,EAAErJ,EAAIyJ,EAAEzJ,GAAK,EACnB4xC,GAAMvoC,EAAEtC,EAAI0C,EAAE1C,GAAK,EACvB,GACU6E,EAAE7E,EAAI6qC,GAAShmC,EAAEkiB,KAAK/mB,EAAI6qC,GAAS/sC,GAAM+G,EAAEkiB,KAAK9tB,EAAI4L,EAAE5L,IAAM4xC,EAAKhmC,EAAE7E,IAAM6E,EAAEkiB,KAAK/mB,EAAI6E,EAAE7E,GAAK6E,EAAE5L,IAC/FmU,GAAUA,GACdvI,EAAIA,EAAEkiB,WACDliB,IAAMvC,GAEf,OAAO8K,GAMXja,EAAO0lE,OAAOsC,aAAe,SAAU74D,EAAGI,GACtC,IAAIgF,EAAK,IAAIvU,EAAO0lE,OAAOkE,KAAKz6D,EAAExH,EAAGwH,EAAErJ,EAAGqJ,EAAEtC,GACxC4H,EAAK,IAAIzU,EAAO0lE,OAAOkE,KAAKr6D,EAAE5H,EAAG4H,EAAEzJ,EAAGyJ,EAAE1C,GACxCg9D,EAAK16D,EAAEykB,KACPk2C,EAAKv6D,EAAEmuD,KAcX,OAZAvuD,EAAEykB,KAAOrkB,EACTA,EAAEmuD,KAAOvuD,EAEToF,EAAGqf,KAAOi2C,EACVA,EAAGnM,KAAOnpD,EAEVE,EAAGmf,KAAOrf,EACVA,EAAGmpD,KAAOjpD,EAEVq1D,EAAGl2C,KAAOnf,EACVA,EAAGipD,KAAOoM,EAEHr1D,GAKXzU,EAAO0lE,OAAOc,WAAa,SAAU7+D,EAAG7B,EAAG+G,EAAGy5D,GAC1C,IAAI50D,EAAI,IAAI1R,EAAO0lE,OAAOkE,KAAKjiE,EAAG7B,EAAG+G,GAYrC,OAVKy5D,GAKD50D,EAAEkiB,KAAO0yC,EAAK1yC,KACdliB,EAAEgsD,KAAO4I,EACTA,EAAK1yC,KAAK8pC,KAAOhsD,EACjB40D,EAAK1yC,KAAOliB,IAPZA,EAAEgsD,KAAOhsD,EACTA,EAAEkiB,KAAOliB,GAQNA,GAGX1R,EAAO0lE,OAAOkB,WAAa,SAAUl1D,GACjCA,EAAEkiB,KAAK8pC,KAAOhsD,EAAEgsD,KAChBhsD,EAAEgsD,KAAK9pC,KAAOliB,EAAEkiB,KAEZliB,EAAEm2D,QAAOn2D,EAAEm2D,MAAMD,MAAQl2D,EAAEk2D,OAC3Bl2D,EAAEk2D,QAAOl2D,EAAEk2D,MAAMC,MAAQn2D,EAAEm2D,QAGnC7nE,EAAO0lE,OAAOkE,KAAO,SAAUjiE,EAAG7B,EAAG+G,GAEjClN,KAAKgI,EAAIA,EAGThI,KAAKmG,EAAIA,EACTnG,KAAKkN,EAAIA,EAGTlN,KAAK+9D,KAAO,KACZ/9D,KAAKi0B,KAAO,KAGZj0B,KAAK0wB,EAAI,KAGT1wB,KAAKkoE,MAAQ,KACbloE,KAAKioE,MAAQ,KAGbjoE,KAAKgnE,SAAU,GAgBnBjhE,KAAKqkE,cAAgB,aASrBrkE,KAAKqkE,cAAcC,mBAAqB,EAWxCtkE,KAAKqkE,cAAclI,eAAiB,SAAS3L,EAAUkF,GAEnD,IAII6O,EAJA3O,EAAKF,EAAcE,GACnB4O,EAAa9O,EAAc8O,WAC3Bp7D,EAASssD,EAActsD,OACvBq7D,EAAS/O,EAAcI,cAAc4O,gBAGtClU,EAASvsC,OAERjkB,KAAKqkE,cAAcM,eAAenU,EAAUoF,GAGhD,IAAIx9B,EAAQo4B,EAASoU,OAAOhP,EAAG7kD,IAG/B,GAAIqnB,EAOJ,IAAK,IAAIn2B,EAAI,EAAGA,EAAIm2B,EAAMoI,KAAKx+B,OAAQC,IAET,IAAvBm2B,EAAMoI,KAAKv+B,GAAG4iE,MAEbN,EAAYnsC,EAAMoI,KAAKv+B,GAEvByzD,EAAcoP,eAAeC,YAAYvU,EAAU+T,EAAW7O,GAG9DE,EAAGoP,aAAapP,EAAGqP,aAAc,EAAGrP,EAAGsP,eAAmD,GAAjCX,EAAUY,QAAQnjE,OAAS,IAEpF0zD,EAAcoP,eAAeM,WAAW5U,EAAU+T,EAAW7O,KAI7D6O,EAAYnsC,EAAMoI,KAAKv+B,GAGvByzD,EAAcI,cAAcC,UAAW0O,GACvCA,EAAS/O,EAAcI,cAAc4O,gBACrC9O,EAAGyP,iBAAiBZ,EAAOa,mBAAmB,EAAO9U,EAASrpC,eAAe1W,SAAQ,IAErFmlD,EAAG2P,UAAUd,EAAOe,MAAO,GAE3B5P,EAAG6P,UAAUhB,EAAOiB,iBAAkBlB,EAAWpkE,GAAIokE,EAAWr9D,GAChEyuD,EAAG6P,UAAUhB,EAAOkB,cAAev8D,EAAOhJ,GAAIgJ,EAAOjC,GAErDyuD,EAAGgQ,WAAWnB,EAAOoB,UAAWvrE,EAAO2vB,MAAM67C,cAActV,EAAS1I,OAEpE8N,EAAG2P,UAAUd,EAAO/pD,MAAO81C,EAAShoC,YAGpCotC,EAAGmQ,WAAWnQ,EAAGoQ,aAAczB,EAAUtN,QAEzCrB,EAAGqQ,oBAAoBxB,EAAOyB,gBAAiB,EAAGtQ,EAAGuQ,OAAO,EAAO,GAAO,GAC1EvQ,EAAGqQ,oBAAoBxB,EAAO2B,eAAgB,EAAGxQ,EAAGuQ,OAAO,EAAM,GAAO,GAGxEvQ,EAAGmQ,WAAWnQ,EAAGyQ,qBAAsB9B,EAAU+B,aACjD1Q,EAAGoP,aAAapP,EAAG2Q,eAAiBhC,EAAUY,QAAQnjE,OAAQ4zD,EAAGsP,eAAgB,KAc7FllE,KAAKqkE,cAAcM,eAAiB,SAASnU,EAAUoF,GAGnD,IAAIx9B,EAAQo4B,EAASoU,OAAOhP,EAAG7kD,IAE3BqnB,IAAMA,EAAQo4B,EAASoU,OAAOhP,EAAG7kD,KAAOy1D,UAAU,EAAGhmC,QAASo1B,GAAGA,IAGrEpF,EAASvsC,OAAQ,EAEjB,IAAIhiB,EAGJ,GAAGuuD,EAASiW,WACZ,CAII,IAHAjW,EAASiW,YAAa,EAGjBxkE,EAAI,EAAGA,EAAIm2B,EAAMoI,KAAKx+B,OAAQC,IACnC,CACI,IAAIs+B,EAAenI,EAAMoI,KAAKv+B,GAC9Bs+B,EAAarkB,QACblc,KAAKqkE,cAAcqC,iBAAiBl4D,KAAM+xB,GAI9CnI,EAAMoI,QACNpI,EAAMouC,UAAY,EAGtB,IAAIjC,EAKJ,IAAKtiE,EAAIm2B,EAAMouC,UAAWvkE,EAAIuuD,EAASjwB,aAAav+B,OAAQC,IAC5D,CACI,IAAIu+B,EAAOgwB,EAASjwB,aAAat+B,GAE7Bu+B,EAAKn+B,OAAS/H,EAAOyB,SAGrBykC,EAAK/sB,OAAS+sB,EAAKE,MAAMjtB,OAAO/S,QAC7B8/B,EAAKE,MAAMvsB,SAGPqsB,EAAK/sB,OAAO,KAAO+sB,EAAK/sB,OAAO+sB,EAAK/sB,OAAOzR,OAAO,IAAMw+B,EAAK/sB,OAAO,KAAO+sB,EAAK/sB,OAAO+sB,EAAK/sB,OAAOzR,OAAO,IAEzGw+B,EAAK/sB,OAAOjF,KAAKgyB,EAAK/sB,OAAO,GAAI+sB,EAAK/sB,OAAO,KAKlD+sB,EAAKC,MAEDD,EAAK/sB,OAAOzR,QAAUhC,KAAKqkE,cAAcC,qBAErC9jC,EAAK/sB,OAAOzR,OAAiD,EAAxChC,KAAKqkE,cAAcC,oBAEvCC,EAAYvkE,KAAKqkE,cAAcsC,WAAWvuC,EAAO,GAExBp4B,KAAKqkE,cAAcuC,UAAUpmC,EAAM+jC,KAMxDA,EAAYvkE,KAAKqkE,cAAcsC,WAAWvuC,EAAO,GACjDp4B,KAAKqkE,cAAcwC,iBAAiBrmC,EAAM+jC,MAM9CA,EAAYvkE,KAAKqkE,cAAcsC,WAAWvuC,EAAO,GACjDp4B,KAAKqkE,cAAcwC,iBAAiBrmC,EAAM+jC,KAKnD/jC,EAAKi9B,UAAY,IAEhB8G,EAAYvkE,KAAKqkE,cAAcsC,WAAWvuC,EAAO,GACjDp4B,KAAKqkE,cAAcyC,UAAUtmC,EAAM+jC,MAMvCA,EAAYvkE,KAAKqkE,cAAcsC,WAAWvuC,EAAO,GAE7CoI,EAAKn+B,OAAS/H,EAAOmC,UAErBuD,KAAKqkE,cAAc0C,eAAevmC,EAAM+jC,GAEnC/jC,EAAKn+B,OAAS/H,EAAOkC,QAAUgkC,EAAKn+B,OAAS/H,EAAO6B,QAEzD6D,KAAKqkE,cAAc2C,YAAYxmC,EAAM+jC,GAEhC/jC,EAAKn+B,OAAS/H,EAAOuC,kBAE1BmD,KAAKqkE,cAAc4C,sBAAsBzmC,EAAM+jC,IAIvDnsC,EAAMouC,YAIV,IAAKvkE,EAAI,EAAGA,EAAIm2B,EAAMoI,KAAKx+B,OAAQC,KAE/BsiE,EAAYnsC,EAAMoI,KAAKv+B,IACVgiB,OAAMsgD,EAAU2C,UAWrClnE,KAAKqkE,cAAcsC,WAAa,SAASvuC,EAAO/1B,GAE5C,IAAIkiE,EAsBJ,OApBInsC,EAAMoI,KAAKx+B,QAQXuiE,EAAYnsC,EAAMoI,KAAKpI,EAAMoI,KAAKx+B,OAAO,IAE5B6iE,OAASxiE,GAAiB,IAATA,KAE1BkiE,EAAYvkE,KAAKqkE,cAAcqC,iBAAiBS,OAAS,IAAInnE,KAAKonE,kBAAkBhvC,EAAMw9B,KAChFiP,KAAOxiE,EACjB+1B,EAAMoI,KAAKhyB,KAAK+1D,MAZpBA,EAAYvkE,KAAKqkE,cAAcqC,iBAAiBS,OAAS,IAAInnE,KAAKonE,kBAAkBhvC,EAAMw9B,KAChFiP,KAAOxiE,EACjB+1B,EAAMoI,KAAKhyB,KAAK+1D,IAcpBA,EAAUtgD,OAAQ,EAEXsgD,GAYXvkE,KAAKqkE,cAAc0C,eAAiB,SAASxmC,EAAcgkC,GAKvD,IAAI8C,EAAW9mC,EAAaG,MACxBtgC,EAAIinE,EAASjnE,EACb+G,EAAIkgE,EAASlgE,EACb2E,EAAQu7D,EAASv7D,MACjBC,EAASs7D,EAASt7D,OAEtB,GAAGw0B,EAAaE,KAChB,CACI,IAAIhmB,EAAQngB,EAAO2vB,MAAM67C,cAAcvlC,EAAa+mC,WAChD5sD,EAAQ6lB,EAAagnC,UAErB3/D,EAAI6S,EAAM,GAAKC,EACf8M,EAAI/M,EAAM,GAAKC,EACf7Q,EAAI4Q,EAAM,GAAKC,EAEf8sD,EAAQjD,EAAU9wD,OAClB0xD,EAAUZ,EAAUY,QAEpBsC,EAAUD,EAAMxlE,OAAS,EAG7BwlE,EAAMh5D,KAAKpO,EAAG+G,GACdqgE,EAAMh5D,KAAK5G,EAAG4f,EAAG3d,EAAG6Q,GAEpB8sD,EAAMh5D,KAAKpO,EAAI0L,EAAO3E,GACtBqgE,EAAMh5D,KAAK5G,EAAG4f,EAAG3d,EAAG6Q,GAEpB8sD,EAAMh5D,KAAKpO,EAAI+G,EAAI4E,GACnBy7D,EAAMh5D,KAAK5G,EAAG4f,EAAG3d,EAAG6Q,GAEpB8sD,EAAMh5D,KAAKpO,EAAI0L,EAAO3E,EAAI4E,GAC1By7D,EAAMh5D,KAAK5G,EAAG4f,EAAG3d,EAAG6Q,GAGpByqD,EAAQ32D,KAAKi5D,EAASA,EAASA,EAAU,EAAGA,EAAU,EAAGA,EAAU,EAAGA,EAAU,GAGpF,GAAIlnC,EAAak9B,UACjB,CACI,IAAIiK,EAAannC,EAAa9sB,OAE9B8sB,EAAa9sB,QAAUrT,EAAG+G,EAChB/G,EAAI0L,EAAO3E,EACX/G,EAAI0L,EAAO3E,EAAI4E,EACf3L,EAAG+G,EAAI4E,EACP3L,EAAG+G,GAGbnH,KAAKqkE,cAAcyC,UAAUvmC,EAAcgkC,GAE3ChkC,EAAa9sB,OAASi0D,IAa9B1nE,KAAKqkE,cAAc4C,sBAAwB,SAAS1mC,EAAcgkC,GAE9D,IAAIoD,EAAYpnC,EAAaG,MACzBtgC,EAAIunE,EAAUvnE,EACd+G,EAAIwgE,EAAUxgE,EACd2E,EAAQ67D,EAAU77D,MAClBC,EAAS47D,EAAU57D,OAEnBhE,EAAS4/D,EAAU5/D,OAEnB6/D,KAOJ,GANAA,EAAUp5D,KAAKpO,EAAG+G,EAAIY,GACtB6/D,EAAYA,EAAU5mE,OAAOhB,KAAKqkE,cAAcwD,qBAAqBznE,EAAG+G,EAAI4E,EAAShE,EAAQ3H,EAAG+G,EAAI4E,EAAQ3L,EAAI2H,EAAQZ,EAAI4E,IAC5H67D,EAAYA,EAAU5mE,OAAOhB,KAAKqkE,cAAcwD,qBAAqBznE,EAAI0L,EAAQ/D,EAAQZ,EAAI4E,EAAQ3L,EAAI0L,EAAO3E,EAAI4E,EAAQ3L,EAAI0L,EAAO3E,EAAI4E,EAAShE,IACpJ6/D,EAAYA,EAAU5mE,OAAOhB,KAAKqkE,cAAcwD,qBAAqBznE,EAAI0L,EAAO3E,EAAIY,EAAQ3H,EAAI0L,EAAO3E,EAAG/G,EAAI0L,EAAQ/D,EAAQZ,IAC9HygE,EAAYA,EAAU5mE,OAAOhB,KAAKqkE,cAAcwD,qBAAqBznE,EAAI2H,EAAQZ,EAAG/G,EAAG+G,EAAG/G,EAAG+G,EAAIY,IAE7Fw4B,EAAaE,KAAM,CACnB,IAAIhmB,EAAQngB,EAAO2vB,MAAM67C,cAAcvlC,EAAa+mC,WAChD5sD,EAAQ6lB,EAAagnC,UAErB3/D,EAAI6S,EAAM,GAAKC,EACf8M,EAAI/M,EAAM,GAAKC,EACf7Q,EAAI4Q,EAAM,GAAKC,EAEf8sD,EAAQjD,EAAU9wD,OAClB0xD,EAAUZ,EAAUY,QAEpB2C,EAASN,EAAMxlE,OAAS,EAExBw+D,EAAYlmE,EAAO0lE,OAAOC,YAAY2H,EAAW,KAAM,GAEvD3lE,EAAI,EAER,IAAKA,EAAI,EAAGA,EAAIu+D,EAAUx+D,OAAQC,GAAG,EAEjCkjE,EAAQ32D,KAAKgyD,EAAUv+D,GAAK6lE,GAC5B3C,EAAQ32D,KAAKgyD,EAAUv+D,GAAK6lE,GAC5B3C,EAAQ32D,KAAKgyD,EAAUv+D,EAAE,GAAK6lE,GAC9B3C,EAAQ32D,KAAKgyD,EAAUv+D,EAAE,GAAK6lE,GAC9B3C,EAAQ32D,KAAKgyD,EAAUv+D,EAAE,GAAK6lE,GAIlC,IAAK7lE,EAAI,EAAGA,EAAI2lE,EAAU5lE,OAAQC,IAE9BulE,EAAMh5D,KAAKo5D,EAAU3lE,GAAI2lE,IAAY3lE,GAAI2F,EAAG4f,EAAG3d,EAAG6Q,GAI1D,GAAI6lB,EAAak9B,UAAW,CACxB,IAAIiK,EAAannC,EAAa9sB,OAE9B8sB,EAAa9sB,OAASm0D,EAEtB5nE,KAAKqkE,cAAcyC,UAAUvmC,EAAcgkC,GAE3ChkC,EAAa9sB,OAASi0D,IAmB9B1nE,KAAKqkE,cAAcwD,qBAAuB,SAASE,EAAOC,EAAOC,EAAKC,EAAKC,EAAKC,GAW5E,SAASC,EAAMC,EAAKC,EAAIC,GAGpB,OAAOF,GAFIC,EAAKD,GAEKE,EAIzB,IAAK,IAhBDC,EACAC,EACAC,EACAC,EACAxoE,EACA+G,EAEAsM,KAQAe,EAAI,EACCvS,EAAI,EAAGA,GAVR,GAUgBA,IAKpBwmE,EAAKJ,EAAON,EAAQE,EAHpBzzD,EAAIvS,EAZA,IAgBJymE,EAAKL,EAAOL,EAAQE,EAAM1zD,GAC1Bm0D,EAAKN,EAAOJ,EAAME,EAAM3zD,GACxBo0D,EAAKP,EAAOH,EAAME,EAAM5zD,GAGxBpU,EAAIioE,EAAOI,EAAKE,EAAKn0D,GACrBrN,EAAIkhE,EAAOK,EAAKE,EAAKp0D,GAErBf,EAAOjF,KAAKpO,EAAG+G,GAEnB,OAAOsM,GAYXzT,KAAKqkE,cAAc2C,YAAc,SAASzmC,EAAcgkC,GAGpD,IAGIz4D,EACAC,EAJA88D,EAAatoC,EAAaG,MAC1BtgC,EAAIyoE,EAAWzoE,EACf+G,EAAI0hE,EAAW1hE,EAKfo5B,EAAal+B,OAAS/H,EAAOkC,QAE7BsP,EAAQ+8D,EAAW9gE,OACnBgE,EAAS88D,EAAW9gE,SAIpB+D,EAAQ+8D,EAAW/8D,MACnBC,EAAS88D,EAAW98D,QAGxB,IACI+8D,EAAiB,EAAV5oE,KAAKsH,GADA,GAGZvF,EAAI,EAER,GAAGs+B,EAAaE,KAChB,CACI,IAAIhmB,EAAQngB,EAAO2vB,MAAM67C,cAAcvlC,EAAa+mC,WAChD5sD,EAAQ6lB,EAAagnC,UAErB3/D,EAAI6S,EAAM,GAAKC,EACf8M,EAAI/M,EAAM,GAAKC,EACf7Q,EAAI4Q,EAAM,GAAKC,EAEf8sD,EAAQjD,EAAU9wD,OAClB0xD,EAAUZ,EAAUY,QAEpB2C,EAASN,EAAMxlE,OAAS,EAI5B,IAFAmjE,EAAQ32D,KAAKs5D,GAER7lE,EAAI,EAAGA,EAAI8mE,GAAgB9mE,IAE5BulE,EAAMh5D,KAAKpO,EAAE+G,EAAGS,EAAG4f,EAAG3d,EAAG6Q,GAEzB8sD,EAAMh5D,KAAKpO,EAAIF,KAAK4H,IAAIghE,EAAM7mE,GAAK6J,EACxB3E,EAAIjH,KAAK2H,IAAIihE,EAAM7mE,GAAK8J,EACxBnE,EAAG4f,EAAG3d,EAAG6Q,GAEpByqD,EAAQ32D,KAAKs5D,IAAUA,KAG3B3C,EAAQ32D,KAAKs5D,EAAO,GAGxB,GAAGvnC,EAAak9B,UAChB,CACI,IAAIiK,EAAannC,EAAa9sB,OAI9B,IAFA8sB,EAAa9sB,UAERxR,EAAI,EAAGA,EAAI8mE,GAAe9mE,IAE3Bs+B,EAAa9sB,OAAOjF,KAAKpO,EAAIF,KAAK4H,IAAIghE,EAAM7mE,GAAK6J,EACxB3E,EAAIjH,KAAK2H,IAAIihE,EAAM7mE,GAAK8J,GAGrD/L,KAAKqkE,cAAcyC,UAAUvmC,EAAcgkC,GAE3ChkC,EAAa9sB,OAASi0D,IAa9B1nE,KAAKqkE,cAAcyC,UAAY,SAASvmC,EAAcgkC,GAGlD,IAAItiE,EAAI,EACJwR,EAAS8sB,EAAa9sB,OAC1B,GAAqB,IAAlBA,EAAOzR,OAAV,CAGA,GAAGu+B,EAAak9B,UAAU,EAEtB,IAAKx7D,EAAI,EAAGA,EAAIwR,EAAOzR,OAAQC,IAC3BwR,EAAOxR,IAAM,GAKrB,IAAI+mE,EAAa,IAAIhpE,KAAK0H,MAAO+L,EAAO,GAAIA,EAAO,IAC/Cw1D,EAAY,IAAIjpE,KAAK0H,MAAO+L,EAAOA,EAAOzR,OAAS,GAAIyR,EAAOA,EAAOzR,OAAS,IAGlF,GAAGgnE,EAAW5oE,IAAM6oE,EAAU7oE,GAAK4oE,EAAW7hE,IAAM8hE,EAAU9hE,EAC9D,EAEIsM,EAASA,EAAO/S,SAETymE,MACP1zD,EAAO0zD,MAIP,IAAI+B,GAFJD,EAAY,IAAIjpE,KAAK0H,MAAO+L,EAAOA,EAAOzR,OAAS,GAAIyR,EAAOA,EAAOzR,OAAS,KAEpD5B,EAAkC,IAA7B4oE,EAAW5oE,EAAI6oE,EAAU7oE,GACpD+oE,EAAYF,EAAU9hE,EAAkC,IAA7B6hE,EAAW7hE,EAAI8hE,EAAU9hE,GAExDsM,EAAO21D,QAAQF,EAAWC,GAC1B11D,EAAOjF,KAAK06D,EAAWC,GAG3B,IAgBIlkE,EAAI+sC,EAAIq3B,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EACjCC,EAAOC,EAAOC,EAAQC,EAAQC,EAAQC,EACtCp7D,EAAIE,EAAIE,EAAIH,EAAIE,EAAIE,EACpBC,EAAc+6D,EAnBdzC,EAAQjD,EAAU9wD,OAClB0xD,EAAUZ,EAAUY,QACpBnjE,EAASyR,EAAOzR,OAAS,EACzBkoE,EAAaz2D,EAAOzR,OACpBmoE,EAAa3C,EAAMxlE,OAAO,EAG1B8J,EAAQy0B,EAAak9B,UAAY,EAGjChjD,EAAQngB,EAAO2vB,MAAM67C,cAAcvlC,EAAa6pC,WAChD1vD,EAAQ6lB,EAAa8pC,UACrBziE,EAAI6S,EAAM,GAAKC,EACf8M,EAAI/M,EAAM,GAAKC,EACf7Q,EAAI4Q,EAAM,GAAKC,EA8BnB,IAvBA2uD,EAAM51D,EAAO,GACb61D,EAAM71D,EAAO,GAEb81D,EAAM91D,EAAO,GAGbk2D,IAAUL,GAFVE,EAAM/1D,EAAO,KAGbm2D,EAASP,EAAME,EAIfI,GAFAM,EAAO/pE,KAAKkL,KAAKu+D,EAAMA,EAAQC,EAAMA,GAGrCA,GAASK,EACTN,GAAS79D,EACT89D,GAAS99D,EAGT07D,EAAMh5D,KAAK66D,EAAMM,EAAQL,EAAMM,EACnBhiE,EAAG4f,EAAG3d,EAAG6Q,GAErB8sD,EAAMh5D,KAAK66D,EAAMM,EAAQL,EAAMM,EACnBhiE,EAAG4f,EAAG3d,EAAG6Q,GAEhBzY,EAAI,EAAGA,EAAID,EAAO,EAAGC,IAEtBonE,EAAM51D,EAAa,GAALxR,EAAE,IAChBqnE,EAAM71D,EAAa,GAALxR,EAAE,GAAO,GAEvBsnE,EAAM91D,EAAW,EAAJ,GACb+1D,EAAM/1D,EAAW,EAAJ,EAAQ,GAErBg2D,EAAMh2D,EAAa,GAALxR,EAAE,IAChBynE,EAAMj2D,EAAa,GAALxR,EAAE,GAAO,GAEvB0nE,IAAUL,EAAME,GAChBI,EAAQP,EAAME,EAGdI,GADAM,EAAO/pE,KAAKkL,KAAKu+D,EAAMA,EAAQC,EAAMA,GAErCA,GAASK,EACTN,GAAS79D,EACT89D,GAAS99D,EAET+9D,IAAWL,EAAME,GACjBI,EAASP,EAAME,EAGfI,GADAI,EAAO/pE,KAAKkL,KAAKy+D,EAAOA,EAASC,EAAOA,GAExCA,GAAUG,EAMVj7D,IAAO26D,EAAQN,KAASO,EAAQJ,KAASG,EAAQJ,KAASK,EAAQN,GAGlEr6D,KARA46D,GAAU/9D,GAQM29D,MAPhBK,GAAUh+D,GAOwB09D,KAASK,EAASN,KAASO,EAASJ,GAEtEx6D,GAPAN,GAAOg7D,EAAQN,IAASM,EAAQJ,KAIhCz6D,GAAO86D,EAASN,IAASM,EAASJ,KADlC56D,GAAOi7D,EAASJ,IAASI,EAASN,KAFlC16D,GAAO66D,EAAQJ,IAASI,EAAQN,IAQ7BnpE,KAAKiK,IAAI+E,GAAS,IAGjBA,GAAO,KACPs4D,EAAMh5D,KAAK+6D,EAAMI,EAAQH,EAAMI,EAC3BhiE,EAAG4f,EAAG3d,EAAG6Q,GAEb8sD,EAAMh5D,KAAK+6D,EAAMI,EAAQH,EAAMI,EAC3BhiE,EAAG4f,EAAG3d,EAAG6Q,MAKjBzV,GAAM6J,EAAGG,EAAKF,EAAGC,GAAIE,GAIRq6D,IAAQtkE,EAAIskE,KAHzBv3B,GAAMnjC,EAAGG,EAAKJ,EAAGK,GAAIC,GAGgBs6D,IAAQx3B,EAAIw3B,GAGtC,OAEPO,EAASJ,EAAQE,EACjBG,EAASJ,EAAQE,EAGjBC,GADAE,EAAO/pE,KAAKkL,KAAK2+D,EAAOA,EAASC,EAAOA,GAExCA,GAAUC,EACVF,GAAUj+D,EACVk+D,GAAUl+D,EAEV07D,EAAMh5D,KAAK+6D,EAAMQ,EAAQP,EAAKQ,GAC9BxC,EAAMh5D,KAAK5G,EAAG4f,EAAG3d,EAAG6Q,GAEpB8sD,EAAMh5D,KAAK+6D,EAAMQ,EAAQP,EAAKQ,GAC9BxC,EAAMh5D,KAAK5G,EAAG4f,EAAG3d,EAAG6Q,GAEpB8sD,EAAMh5D,KAAK+6D,EAAMQ,EAAQP,EAAKQ,GAC9BxC,EAAMh5D,KAAK5G,EAAG4f,EAAG3d,EAAG6Q,GAEpBwvD,MAKA1C,EAAMh5D,KAAKvJ,EAAK+sC,GAChBw1B,EAAMh5D,KAAK5G,EAAG4f,EAAG3d,EAAG6Q,GAEpB8sD,EAAMh5D,KAAK+6D,GAAOtkE,EAAGskE,GAAMC,GAAOx3B,EAAKw3B,IACvChC,EAAMh5D,KAAK5G,EAAG4f,EAAG3d,EAAG6Q,IA2B5B,IAvBA2uD,EAAM51D,EAAkB,GAAVzR,EAAO,IACrBsnE,EAAM71D,EAAkB,GAAVzR,EAAO,GAAO,GAE5BunE,EAAM91D,EAAkB,GAAVzR,EAAO,IAGrB2nE,IAAUL,GAFVE,EAAM/1D,EAAkB,GAAVzR,EAAO,GAAO,KAG5B4nE,EAAQP,EAAME,EAGdI,GADAM,EAAO/pE,KAAKkL,KAAKu+D,EAAMA,EAAQC,EAAMA,GAErCA,GAASK,EACTN,GAAS79D,EACT89D,GAAS99D,EAET07D,EAAMh5D,KAAK+6D,EAAMI,EAAQH,EAAMI,GAC/BpC,EAAMh5D,KAAK5G,EAAG4f,EAAG3d,EAAG6Q,GAEpB8sD,EAAMh5D,KAAK+6D,EAAMI,EAAQH,EAAMI,GAC/BpC,EAAMh5D,KAAK5G,EAAG4f,EAAG3d,EAAG6Q,GAEpByqD,EAAQ32D,KAAK27D,GAERloE,EAAI,EAAGA,EAAIioE,EAAYjoE,IAExBkjE,EAAQ32D,KAAK27D,KAGjBhF,EAAQ32D,KAAK27D,EAAW,KAY5BnqE,KAAKqkE,cAAcwC,iBAAmB,SAAStmC,EAAcgkC,GAGzD,IAAI9wD,EAAS8sB,EAAa9sB,OAAO/S,QACjC,KAAG+S,EAAOzR,OAAS,GAAnB,CAGA,IAAImjE,EAAUZ,EAAUY,QACxBZ,EAAU9wD,OAASA,EACnB8wD,EAAU7pD,MAAQ6lB,EAAagnC,UAC/BhD,EAAU9pD,MAAQngB,EAAO2vB,MAAM67C,cAAcvlC,EAAa+mC,WAc1D,IAAK,IAHDlnE,EAAE+G,EANFunD,EAAOz+C,EAAAA,EACP2+C,GAAQ3+C,EAAAA,EAER0+C,EAAO1+C,EAAAA,EACP4+C,GAAQ5+C,EAAAA,EAKHhO,EAAI,EAAGA,EAAIwR,EAAOzR,OAAQC,GAAG,EAElC7B,EAAIqT,EAAOxR,GACXkF,EAAIsM,EAAOxR,EAAE,GAEbysD,EAAOtuD,EAAIsuD,EAAOtuD,EAAIsuD,EACtBE,EAAOxuD,EAAIwuD,EAAOxuD,EAAIwuD,EAEtBD,EAAOxnD,EAAIwnD,EAAOxnD,EAAIwnD,EACtBE,EAAO1nD,EAAI0nD,EAAO1nD,EAAI0nD,EAI1Bp7C,EAAOjF,KAAKkgD,EAAMC,EACNC,EAAMD,EACNC,EAAMC,EACNH,EAAMG,GAKlB,IAAI7sD,EAASyR,EAAOzR,OAAS,EAC7B,IAAKC,EAAI,EAAGA,EAAID,EAAQC,IAEpBkjE,EAAQ32D,KAAMvM,KActBjC,KAAKqkE,cAAcuC,UAAY,SAASrmC,EAAcgkC,GAElD,IAAI9wD,EAAS8sB,EAAa9sB,OAE1B,KAAGA,EAAOzR,OAAS,GAAnB,CAEA,IAAIwlE,EAAQjD,EAAU9wD,OAClB0xD,EAAUZ,EAAUY,QAEpBnjE,EAASyR,EAAOzR,OAAS,EAGzByY,EAAQngB,EAAO2vB,MAAM67C,cAAcvlC,EAAa+mC,WAChD5sD,EAAQ6lB,EAAagnC,UACrB3/D,EAAI6S,EAAM,GAAKC,EACf8M,EAAI/M,EAAM,GAAKC,EACf7Q,EAAI4Q,EAAM,GAAKC,EAEf8lD,EAAYlmE,EAAO0lE,OAAOC,YAAYxsD,EAAQ,KAAM,GAExD,IAAI+sD,EAAU,OAAO,EAErB,IAAIiH,EAAUD,EAAMxlE,OAAS,EAEzBC,EAAI,EAER,IAAKA,EAAI,EAAGA,EAAIu+D,EAAUx+D,OAAQC,GAAG,EAEjCkjE,EAAQ32D,KAAKgyD,EAAUv+D,GAAKwlE,GAC5BtC,EAAQ32D,KAAKgyD,EAAUv+D,GAAKwlE,GAC5BtC,EAAQ32D,KAAKgyD,EAAUv+D,EAAE,GAAKwlE,GAC9BtC,EAAQ32D,KAAKgyD,EAAUv+D,EAAE,GAAIwlE,GAC7BtC,EAAQ32D,KAAKgyD,EAAUv+D,EAAE,GAAKwlE,GAGlC,IAAKxlE,EAAI,EAAGA,EAAID,EAAQC,IAEpBulE,EAAMh5D,KAAKiF,EAAW,EAAJxR,GAAQwR,EAAW,EAAJxR,EAAQ,GAC9B2F,EAAG4f,EAAG3d,EAAG6Q,GAGxB,OAAO,IAGX1a,KAAKqkE,cAAcqC,oBAOnB1mE,KAAKonE,kBAAoB,SAASxR,GAE9B37D,KAAK27D,GAAKA,EAGV37D,KAAKwgB,OAAS,EAAE,EAAE,GAClBxgB,KAAKwZ,UACLxZ,KAAKkrE,WACLlrE,KAAKg9D,OAASrB,EAAG0U,eACjBrwE,KAAKqsE,YAAc1Q,EAAG0U,eACtBrwE,KAAK4qE,KAAO,EACZ5qE,KAAKygB,MAAQ,EACbzgB,KAAKgqB,OAAQ,GAMjBjkB,KAAKonE,kBAAkB5mE,UAAU0b,MAAQ,WAErCjiB,KAAKwZ,UACLxZ,KAAKkrE,YAMTnlE,KAAKonE,kBAAkB5mE,UAAU0mE,OAAS,WAEtC,IAAItR,EAAK37D,KAAK27D,GAGd37D,KAAKswE,SAAW,IAAI55D,aAAa1W,KAAKwZ,QAEtCmiD,EAAGmQ,WAAWnQ,EAAGoQ,aAAc/rE,KAAKg9D,QACpCrB,EAAG4U,WAAW5U,EAAGoQ,aAAc/rE,KAAKswE,SAAU3U,EAAG6U,aAEjDxwE,KAAKywE,WAAa,IAAIC,YAAY1wE,KAAKkrE,SAEvCvP,EAAGmQ,WAAWnQ,EAAGyQ,qBAAsBpsE,KAAKqsE,aAC5C1Q,EAAG4U,WAAW5U,EAAGyQ,qBAAsBpsE,KAAKywE,WAAY9U,EAAG6U,aAE3DxwE,KAAKgqB,OAAQ,GAcjBjkB,KAAKk8D,eAAiB,aAYtBl8D,KAAKk8D,eAAeC,eAAiB,SAAS3L,EAAU1vC,GAEpD,IAAI0H,EAAagoC,EAAShoC,WAEtBgoC,EAASvsC,QAEThqB,KAAK2wE,mBAAmBpa,GACxBA,EAASvsC,OAAQ,GAGrB,IAAK,IAAIhiB,EAAI,EAAGA,EAAIuuD,EAASjwB,aAAav+B,OAAQC,IAClD,CACI,IAAIu+B,EAAOgwB,EAASjwB,aAAat+B,GAC7By+B,EAAQF,EAAKE,MAEb4mC,EAAY9mC,EAAKqqC,UACjBT,EAAY5pC,EAAKsqC,UAIrB,GAFAhqD,EAAQ28C,UAAYj9B,EAAKi9B,UAErBj9B,EAAKn+B,OAAS/H,EAAOyB,QACzB,CACI+kB,EAAQs8C,YAER,IAAI3pD,EAASitB,EAAMjtB,OAEnBqN,EAAQy8C,OAAO9pD,EAAO,GAAIA,EAAO,IAEjC,IAAK,IAAIe,EAAE,EAAGA,EAAIf,EAAOzR,OAAO,EAAGwS,IAE/BsM,EAAQ08C,OAAO/pD,EAAW,EAAJe,GAAQf,EAAW,EAAJe,EAAQ,IAG7CksB,EAAMvsB,QAEN2M,EAAQ08C,OAAO/pD,EAAO,GAAIA,EAAO,IAIjCA,EAAO,KAAOA,EAAOA,EAAOzR,OAAO,IAAMyR,EAAO,KAAOA,EAAOA,EAAOzR,OAAO,IAE5E8e,EAAQw8C,YAGR98B,EAAKC,OAEL3f,EAAQq1C,YAAc31B,EAAK+mC,UAAY/+C,EACvC1H,EAAQ43C,UAAY,KAAO,SAAwB,EAAZ4O,GAAe3lE,SAAS,KAAKuD,QAAQ,GAC5E4b,EAAQ2f,QAGRD,EAAKi9B,YAEL38C,EAAQq1C,YAAc31B,EAAK6pC,UAAY7hD,EACvC1H,EAAQ48C,YAAc,KAAO,SAAwB,EAAZ0M,GAAezoE,SAAS,KAAKuD,QAAQ,GAC9E4b,EAAQ68C,eAGX,GAAIn9B,EAAKn+B,OAAS/H,EAAOmC,WAEtB+jC,EAAK8mC,WAAgC,IAAnB9mC,EAAK8mC,aAEvBxmD,EAAQq1C,YAAc31B,EAAK+mC,UAAY/+C,EACvC1H,EAAQ43C,UAAY,KAAO,SAAwB,EAAZ4O,GAAe3lE,SAAS,KAAKuD,QAAQ,GAC5E4b,EAAQ63C,SAASj4B,EAAMtgC,EAAGsgC,EAAMv5B,EAAGu5B,EAAM50B,MAAO40B,EAAM30B,SAGtDy0B,EAAKi9B,YAEL38C,EAAQq1C,YAAc31B,EAAK6pC,UAAY7hD,EACvC1H,EAAQ48C,YAAc,KAAO,SAAwB,EAAZ0M,GAAezoE,SAAS,KAAKuD,QAAQ,GAC9E4b,EAAQiqD,WAAWrqC,EAAMtgC,EAAGsgC,EAAMv5B,EAAGu5B,EAAM50B,MAAO40B,EAAM30B,cAG3D,GAAIy0B,EAAKn+B,OAAS/H,EAAOkC,OAG1BskB,EAAQs8C,YACRt8C,EAAQu8C,IAAI38B,EAAMtgC,EAAGsgC,EAAMv5B,EAAGu5B,EAAM34B,OAAO,EAAE,EAAE7H,KAAKsH,IACpDsZ,EAAQw8C,YAEJ98B,EAAKC,OAEL3f,EAAQq1C,YAAc31B,EAAK+mC,UAAY/+C,EACvC1H,EAAQ43C,UAAY,KAAO,SAAwB,EAAZ4O,GAAe3lE,SAAS,KAAKuD,QAAQ,GAC5E4b,EAAQ2f,QAGRD,EAAKi9B,YAEL38C,EAAQq1C,YAAc31B,EAAK6pC,UAAY7hD,EACvC1H,EAAQ48C,YAAc,KAAO,SAAwB,EAAZ0M,GAAezoE,SAAS,KAAKuD,QAAQ,GAC9E4b,EAAQ68C,eAGX,GAAIn9B,EAAKn+B,OAAS/H,EAAO6B,QAC9B,CAGI,IAAI6d,EAAkB,EAAd0mB,EAAM50B,MACVlB,EAAmB,EAAf81B,EAAM30B,OAEV3L,EAAIsgC,EAAMtgC,EAAI4Z,EAAE,EAChB7S,EAAIu5B,EAAMv5B,EAAIyD,EAAE,EAEpBkW,EAAQs8C,YAER,IACI4N,EAAMhxD,EAAI,EADF,SAERixD,EAAMrgE,EAAI,EAFF,SAGRsgE,EAAK9qE,EAAI4Z,EACTmxD,EAAKhkE,EAAIyD,EACTwgE,EAAKhrE,EAAI4Z,EAAI,EACbqxD,EAAKlkE,EAAIyD,EAAI,EAEjBkW,EAAQy8C,OAAOn9D,EAAGirE,GAClBvqD,EAAQwqD,cAAclrE,EAAGirE,EAAKJ,EAAIG,EAAKJ,EAAI7jE,EAAGikE,EAAIjkE,GAClD2Z,EAAQwqD,cAAcF,EAAKJ,EAAI7jE,EAAG+jE,EAAIG,EAAKJ,EAAIC,EAAIG,GACnDvqD,EAAQwqD,cAAcJ,EAAIG,EAAKJ,EAAIG,EAAKJ,EAAIG,EAAIC,EAAID,GACpDrqD,EAAQwqD,cAAcF,EAAKJ,EAAIG,EAAI/qE,EAAGirE,EAAKJ,EAAI7qE,EAAGirE,GAElDvqD,EAAQw8C,YAEJ98B,EAAKC,OAEL3f,EAAQq1C,YAAc31B,EAAK+mC,UAAY/+C,EACvC1H,EAAQ43C,UAAY,KAAO,SAAwB,EAAZ4O,GAAe3lE,SAAS,KAAKuD,QAAQ,GAC5E4b,EAAQ2f,QAGRD,EAAKi9B,YAEL38C,EAAQq1C,YAAc31B,EAAK6pC,UAAY7hD,EACvC1H,EAAQ48C,YAAc,KAAO,SAAwB,EAAZ0M,GAAezoE,SAAS,KAAKuD,QAAQ,GAC9E4b,EAAQ68C,eAGX,GAAIn9B,EAAKn+B,OAAS/H,EAAOuC,iBAC9B,CACI,IAAIuZ,EAAKsqB,EAAMtgC,EACXiW,EAAKqqB,EAAMv5B,EACX2E,EAAQ40B,EAAM50B,MACdC,EAAS20B,EAAM30B,OACfhE,EAAS24B,EAAM34B,OAEfwjE,EAAYrrE,KAAK2N,IAAI/B,EAAOC,GAAU,EAAI,EAC9ChE,EAASA,EAASwjE,EAAYA,EAAYxjE,EAE1C+Y,EAAQs8C,YACRt8C,EAAQy8C,OAAOnnD,EAAIC,EAAKtO,GACxB+Y,EAAQ08C,OAAOpnD,EAAIC,EAAKtK,EAAShE,GACjC+Y,EAAQ0qD,iBAAiBp1D,EAAIC,EAAKtK,EAAQqK,EAAKrO,EAAQsO,EAAKtK,GAC5D+U,EAAQ08C,OAAOpnD,EAAKtK,EAAQ/D,EAAQsO,EAAKtK,GACzC+U,EAAQ0qD,iBAAiBp1D,EAAKtK,EAAOuK,EAAKtK,EAAQqK,EAAKtK,EAAOuK,EAAKtK,EAAShE,GAC5E+Y,EAAQ08C,OAAOpnD,EAAKtK,EAAOuK,EAAKtO,GAChC+Y,EAAQ0qD,iBAAiBp1D,EAAKtK,EAAOuK,EAAID,EAAKtK,EAAQ/D,EAAQsO,GAC9DyK,EAAQ08C,OAAOpnD,EAAKrO,EAAQsO,GAC5ByK,EAAQ0qD,iBAAiBp1D,EAAIC,EAAID,EAAIC,EAAKtO,GAC1C+Y,EAAQw8C,aAEJ98B,EAAK8mC,WAAgC,IAAnB9mC,EAAK8mC,aAEvBxmD,EAAQq1C,YAAc31B,EAAK+mC,UAAY/+C,EACvC1H,EAAQ43C,UAAY,KAAO,SAAwB,EAAZ4O,GAAe3lE,SAAS,KAAKuD,QAAQ,GAC5E4b,EAAQ2f,QAGRD,EAAKi9B,YAEL38C,EAAQq1C,YAAc31B,EAAK6pC,UAAY7hD,EACvC1H,EAAQ48C,YAAc,KAAO,SAAwB,EAAZ0M,GAAezoE,SAAS,KAAKuD,QAAQ,GAC9E4b,EAAQ68C,aAgBxB39D,KAAKk8D,eAAeuP,mBAAqB,SAASjb,EAAU1vC,GAExD,IAAI/e,EAAMyuD,EAASjwB,aAAav+B,OAEhC,GAAY,IAARD,EAAJ,CAKA+e,EAAQs8C,YAER,IAAK,IAAIn7D,EAAI,EAAGA,EAAIF,EAAKE,IACzB,CACI,IAAIu+B,EAAOgwB,EAASjwB,aAAat+B,GAC7By+B,EAAQF,EAAKE,MAEjB,GAAIF,EAAKn+B,OAAS/H,EAAOyB,QACzB,CAEI,IAAI0X,EAASitB,EAAMjtB,OAEnBqN,EAAQy8C,OAAO9pD,EAAO,GAAIA,EAAO,IAEjC,IAAK,IAAIe,EAAE,EAAGA,EAAIf,EAAOzR,OAAO,EAAGwS,IAE/BsM,EAAQ08C,OAAO/pD,EAAW,EAAJe,GAAQf,EAAW,EAAJe,EAAQ,IAI7Cf,EAAO,KAAOA,EAAOA,EAAOzR,OAAO,IAAMyR,EAAO,KAAOA,EAAOA,EAAOzR,OAAO,IAE5E8e,EAAQw8C,iBAIX,GAAI98B,EAAKn+B,OAAS/H,EAAOmC,UAE1BqkB,EAAQxR,KAAKoxB,EAAMtgC,EAAGsgC,EAAMv5B,EAAGu5B,EAAM50B,MAAO40B,EAAM30B,QAClD+U,EAAQw8C,iBAEP,GAAI98B,EAAKn+B,OAAS/H,EAAOkC,OAG1BskB,EAAQu8C,IAAI38B,EAAMtgC,EAAGsgC,EAAMv5B,EAAGu5B,EAAM34B,OAAQ,EAAG,EAAI7H,KAAKsH,IACxDsZ,EAAQw8C,iBAEP,GAAI98B,EAAKn+B,OAAS/H,EAAO6B,QAC9B,CAII,IAAI6d,EAAkB,EAAd0mB,EAAM50B,MACVlB,EAAmB,EAAf81B,EAAM30B,OAEV3L,EAAIsgC,EAAMtgC,EAAI4Z,EAAE,EAChB7S,EAAIu5B,EAAMv5B,EAAIyD,EAAE,EAGhBogE,EAAMhxD,EAAI,EADF,SAERixD,EAAMrgE,EAAI,EAFF,SAGRsgE,EAAK9qE,EAAI4Z,EACTmxD,EAAKhkE,EAAIyD,EACTwgE,EAAKhrE,EAAI4Z,EAAI,EACbqxD,EAAKlkE,EAAIyD,EAAI,EAEjBkW,EAAQy8C,OAAOn9D,EAAGirE,GAClBvqD,EAAQwqD,cAAclrE,EAAGirE,EAAKJ,EAAIG,EAAKJ,EAAI7jE,EAAGikE,EAAIjkE,GAClD2Z,EAAQwqD,cAAcF,EAAKJ,EAAI7jE,EAAG+jE,EAAIG,EAAKJ,EAAIC,EAAIG,GACnDvqD,EAAQwqD,cAAcJ,EAAIG,EAAKJ,EAAIG,EAAKJ,EAAIG,EAAIC,EAAID,GACpDrqD,EAAQwqD,cAAcF,EAAKJ,EAAIG,EAAI/qE,EAAGirE,EAAKJ,EAAI7qE,EAAGirE,GAClDvqD,EAAQw8C,iBAEP,GAAI98B,EAAKn+B,OAAS/H,EAAOuC,iBAC9B,CAEI,IAAIuZ,EAAKsqB,EAAMtgC,EACXiW,EAAKqqB,EAAMv5B,EACX2E,EAAQ40B,EAAM50B,MACdC,EAAS20B,EAAM30B,OACfhE,EAAS24B,EAAM34B,OAEfwjE,EAAYrrE,KAAK2N,IAAI/B,EAAOC,GAAU,EAAI,EAC9ChE,EAASA,EAASwjE,EAAYA,EAAYxjE,EAE1C+Y,EAAQy8C,OAAOnnD,EAAIC,EAAKtO,GACxB+Y,EAAQ08C,OAAOpnD,EAAIC,EAAKtK,EAAShE,GACjC+Y,EAAQ0qD,iBAAiBp1D,EAAIC,EAAKtK,EAAQqK,EAAKrO,EAAQsO,EAAKtK,GAC5D+U,EAAQ08C,OAAOpnD,EAAKtK,EAAQ/D,EAAQsO,EAAKtK,GACzC+U,EAAQ0qD,iBAAiBp1D,EAAKtK,EAAOuK,EAAKtK,EAAQqK,EAAKtK,EAAOuK,EAAKtK,EAAShE,GAC5E+Y,EAAQ08C,OAAOpnD,EAAKtK,EAAOuK,EAAKtO,GAChC+Y,EAAQ0qD,iBAAiBp1D,EAAKtK,EAAOuK,EAAID,EAAKtK,EAAQ/D,EAAQsO,GAC9DyK,EAAQ08C,OAAOpnD,EAAKrO,EAAQsO,GAC5ByK,EAAQ0qD,iBAAiBp1D,EAAIC,EAAID,EAAIC,EAAKtO,GAC1C+Y,EAAQw8C,gBAKpBt9D,KAAKk8D,eAAe0O,mBAAqB,SAASpa,GAE9C,GAAsB,WAAlBA,EAAS1I,KASb,IAAK,IAJD4jB,GAASlb,EAAS1I,MAAQ,GAAK,KAAQ,IACvC6jB,GAASnb,EAAS1I,MAAQ,EAAI,KAAQ,IACtC8jB,GAAyB,IAAhBpb,EAAS1I,MAAc,IAE3B7lD,EAAI,EAAGA,EAAIuuD,EAASjwB,aAAav+B,OAAQC,IAClD,CACI,IAAIu+B,EAAOgwB,EAASjwB,aAAat+B,GAE7BqlE,EAA6B,EAAjB9mC,EAAK8mC,UACjB8C,EAA6B,EAAjB5pC,EAAK4pC,UAErB5pC,EAAKqqC,YAAevD,GAAa,GAAK,KAAQ,IAAMoE,EAAM,KAAO,MAAQpE,GAAa,EAAI,KAAQ,IAAMqE,EAAM,KAAO,IAAmB,IAAZrE,GAAoB,IAAMsE,EAAM,IAC5JprC,EAAKsqC,YAAeV,GAAa,GAAK,KAAQ,IAAMsB,EAAM,KAAO,MAAQtB,GAAa,EAAI,KAAQ,IAAMuB,EAAM,KAAO,IAAmB,IAAZvB,GAAoB,IAAMwB,EAAM,MAoBpKtxE,EAAOuxE,aAAe,SAAUpO,EAAW2M,EAAWC,EAAW/C,EAAWC,EAAW9mC,EAAMC,GAKzFzmC,KAAKwjE,UAAYA,EAKjBxjE,KAAKmwE,UAAYA,EAKjBnwE,KAAKowE,UAAYA,EAKjBpwE,KAAK6wE,UAAYV,EAKjBnwE,KAAKqtE,UAAYA,EAKjBrtE,KAAKstE,UAAYA,EAKjBttE,KAAK4wE,UAAYvD,EAKjBrtE,KAAKwmC,KAAOA,EAKZxmC,KAAKymC,MAAQA,EAKbzmC,KAAKoI,KAAOq+B,EAAMr+B,MAItB/H,EAAOuxE,aAAarrE,UAAU8B,YAAchI,EAAOuxE,aAOnDvxE,EAAOuxE,aAAarrE,UAAU4F,MAAQ,WAElC,OAAO,IAAI9L,EAAOuxE,aACd5xE,KAAKwjE,UACLxjE,KAAKmwE,UACLnwE,KAAKowE,UACLpwE,KAAKqtE,UACLrtE,KAAKstE,UACLttE,KAAKwmC,KACLxmC,KAAKymC,QAsDbpmC,EAAOif,SAAW,SAAUtC,EAAM7W,EAAG+G,QAEvB3C,IAANpE,IAAmBA,EAAI,QACjBoE,IAAN2C,IAAmBA,EAAI,GAM3BlN,KAAKoI,KAAO/H,EAAOgB,SAMnBrB,KAAK2wB,YAActwB,EAAOa,OAM1BlB,KAAK6rB,OAAS,IAAIxrB,EAAOoN,MAEzB1H,KAAKgnB,uBAAuB/lB,KAAKhH,MAEjCA,KAAKyuD,YAAa,EAQlBzuD,KAAKstE,UAAY,EAQjBttE,KAAKwjE,UAAY,EASjBxjE,KAAKmwE,UAAY,EASjBnwE,KAAKsmC,gBASLtmC,KAAK6tD,KAAO,SASZ7tD,KAAKqhE,UAAYt7D,KAAKtB,WAAWC,OASjC1E,KAAK6xE,YAAc,KASnB7xE,KAAK2qE,UAQL3qE,KAAK8xE,QAAS,EAQd9xE,KAAK+xE,cAAgB,EAErB/xE,KAAKgyE,aAAe,IAAI3xE,EAAO2N,UAAU,EAAG,EAAG,EAAG,GASlDhO,KAAKgqB,OAAQ,EAUbhqB,KAAKiyE,cAAe,EASpBjyE,KAAKkyE,YAAa,EASlBlyE,KAAKmyE,mBAAoB,EAEzB9xE,EAAOwqD,UAAUkB,KAAKlpC,KAAK7b,KAAKhH,KAAMgd,EAAM7W,EAAG+G,EAAG,GAAI,OAI1D7M,EAAOif,SAAS/Y,UAAYkB,OAAOwb,OAAOld,KAAKgnB,uBAAuBxmB,WACtElG,EAAOif,SAAS/Y,UAAU8B,YAAchI,EAAOif,SAE/Cjf,EAAOwqD,UAAUkB,KAAKE,QAAQjlD,KAAK3G,EAAOif,SAAS/Y,WAC/C,QACA,WACA,SACA,UACA,gBACA,eACA,UACA,WACA,cACA,UAGJlG,EAAOif,SAAS/Y,UAAU6xD,iBAAmB/3D,EAAOwqD,UAAUwB,YAAY5sC,UAC1Epf,EAAOif,SAAS/Y,UAAU8xD,kBAAoBh4D,EAAOwqD,UAAUkH,SAAStyC,UACxEpf,EAAOif,SAAS/Y,UAAU+xD,iBAAmBj4D,EAAOwqD,UAAU2G,QAAQ/xC,UACtEpf,EAAOif,SAAS/Y,UAAUgyD,cAAgBl4D,EAAOwqD,UAAUkB,KAAKtsC,UAOhEpf,EAAOif,SAAS/Y,UAAUkZ,UAAY,WAElC,SAAKzf,KAAKo4D,oBAAuBp4D,KAAKq4D,qBAAwBr4D,KAAKs4D,qBAK5Dt4D,KAAKu4D,iBAShBl4D,EAAOif,SAAS/Y,UAAUsmB,WAAa,WAEnCxsB,EAAOwqD,UAAUwB,YAAYx/B,WAAW7lB,KAAKhH,MAC7CK,EAAOwqD,UAAU2B,cAAc3/B,WAAW7lB,KAAKhH,MAE3CA,KAAKiyE,eAELjyE,KAAKoyE,oBACLpyE,KAAKiyE,cAAe,GAGxB,IAAK,IAAIjqE,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAEtChI,KAAKouB,SAASpmB,GAAG6kB,cAWzBxsB,EAAOif,SAAS/Y,UAAU+f,QAAU,SAAUwT,GAE1C95B,KAAK0gB,QAELrgB,EAAOwqD,UAAUmD,QAAQznD,UAAU+f,QAAQtf,KAAKhH,KAAM85B,IAW1Dz5B,EAAOif,SAAS/Y,UAAU8rE,aAAe,SAAU74D,EAAQ84D,QAE1C/nE,IAAT+nE,IAAsBA,GAAO,GAEjC,IAAIC,EAAW,IAAIlyE,EAAO0Z,QAAQP,GAElC,GAAI84D,EACJ,CACI,IAAIE,EAAe,IAAInyE,EAAOoN,MAAMzN,KAAKgd,KAAKqC,OAAOlZ,EAAIqT,EAAO,GAAGrT,EAAGnG,KAAKgd,KAAKqC,OAAOnS,EAAIsM,EAAO,GAAGtM,GACjGulE,EAAK,IAAIpyE,EAAOoN,MAAM+L,EAAO,GAAGrT,EAAIqT,EAAO,GAAGrT,EAAGqT,EAAO,GAAGtM,EAAIsM,EAAO,GAAGtM,GAEzEwlE,EADK,IAAIryE,EAAOoN,MAAM+L,EAAO,GAAGrT,EAAIqT,EAAO,GAAGrT,EAAGqT,EAAO,GAAGtM,EAAIsM,EAAO,GAAGtM,GACzD0L,MAAM65D,GAEtBD,EAAa75D,IAAI+5D,GAAc,GAE/B1yE,KAAK2yE,YAAYJ,QAKrBvyE,KAAK2yE,YAAYJ,IAazBlyE,EAAOif,SAAS/Y,UAAUqsE,cAAgB,SAAUC,EAAU3H,EAASoH,QAEtD/nE,IAAT+nE,IAAsBA,GAAO,GAEjC,IAIItqE,EAJA8qE,EAAS,IAAIzyE,EAAOoN,MACpBslE,EAAS,IAAI1yE,EAAOoN,MACpBulE,EAAS,IAAI3yE,EAAOoN,MACpB+L,KAGJ,GAAK0xD,EAyBD,GAAI2H,EAAS,aAAcxyE,EAAOoN,MAE9B,IAAKzF,EAAI,EAAGA,EAAIkjE,EAAQnjE,OAAQ,EAAGC,IAE/BwR,EAAOjF,KAAKs+D,EAAS3H,EAAY,EAAJljE,KAC7BwR,EAAOjF,KAAKs+D,EAAS3H,EAAY,EAAJljE,EAAQ,KACrCwR,EAAOjF,KAAKs+D,EAAS3H,EAAY,EAAJljE,EAAQ,KAEf,IAAlBwR,EAAOzR,SAEP/H,KAAKqyE,aAAa74D,EAAQ84D,GAC1B94D,WAMR,IAAKxR,EAAI,EAAGA,EAAIkjE,EAAQnjE,OAAQC,IAE5B8qE,EAAO3sE,EAAI0sE,EAAsB,EAAb3H,EAAQljE,IAC5B8qE,EAAO5lE,EAAI2lE,EAAsB,EAAb3H,EAAQljE,GAAS,GACrCwR,EAAOjF,KAAKu+D,EAAO1kE,YAEG,IAAlBoL,EAAOzR,SAEP/H,KAAKqyE,aAAa74D,EAAQ84D,GAC1B94D,WAjDZ,GAAIq5D,EAAS,aAAcxyE,EAAOoN,MAE9B,IAAKzF,EAAI,EAAGA,EAAI6qE,EAAS9qE,OAAS,EAAGC,IAEjChI,KAAKqyE,cAAcQ,EAAa,EAAJ7qE,GAAQ6qE,EAAa,EAAJ7qE,EAAQ,GAAI6qE,EAAa,EAAJ7qE,EAAQ,IAAKsqE,QAKnF,IAAKtqE,EAAI,EAAGA,EAAI6qE,EAAS9qE,OAAS,EAAGC,IAEjC8qE,EAAO3sE,EAAI0sE,EAAa,EAAJ7qE,EAAQ,GAC5B8qE,EAAO5lE,EAAI2lE,EAAa,EAAJ7qE,EAAQ,GAC5B+qE,EAAO5sE,EAAI0sE,EAAa,EAAJ7qE,EAAQ,GAC5B+qE,EAAO7lE,EAAI2lE,EAAa,EAAJ7qE,EAAQ,GAC5BgrE,EAAO7sE,EAAI0sE,EAAa,EAAJ7qE,EAAQ,GAC5BgrE,EAAO9lE,EAAI2lE,EAAa,EAAJ7qE,EAAQ,GAC5BhI,KAAKqyE,cAAcS,EAAQC,EAAQC,GAASV,IAgD5DjyE,EAAOif,SAAS/Y,UAAU0sE,UAAY,SAAUzP,EAAWhjD,EAAOC,GAsB9D,OApBAzgB,KAAKwjE,UAAYA,GAAa,EAC9BxjE,KAAKmwE,UAAY3vD,GAAS,EAC1BxgB,KAAKowE,eAAuB7lE,IAAVkW,EAAuB,EAAIA,EAEzCzgB,KAAK6xE,cAED7xE,KAAK6xE,YAAYprC,MAAMjtB,OAAOzR,OAG9B/H,KAAKkzE,UAAU,IAAI7yE,EAAO0Z,QAAQ/Z,KAAK6xE,YAAYprC,MAAMjtB,OAAO/S,OAAO,MAKvEzG,KAAK6xE,YAAYrO,UAAYxjE,KAAKwjE,UAClCxjE,KAAK6xE,YAAY1B,UAAYnwE,KAAKmwE,UAClCnwE,KAAK6xE,YAAYzB,UAAYpwE,KAAKowE,YAInCpwE,MAYXK,EAAOif,SAAS/Y,UAAU+8D,OAAS,SAAUn9D,EAAG+G,GAI5C,OAFAlN,KAAKkzE,UAAU,IAAI7yE,EAAO0Z,SAAU5T,EAAG+G,KAEhClN,MAaXK,EAAOif,SAAS/Y,UAAUg9D,OAAS,SAAUp9D,EAAG+G,GAW5C,OATKlN,KAAK6xE,aAEN7xE,KAAKsjE,OAAO,EAAG,GAGnBtjE,KAAK6xE,YAAYprC,MAAMjtB,OAAOjF,KAAKpO,EAAG+G,GACtClN,KAAKgqB,OAAQ,EACbhqB,KAAKiyE,cAAe,EAEbjyE,MAeXK,EAAOif,SAAS/Y,UAAUgrE,iBAAmB,SAAUvD,EAAKC,EAAKC,EAAKC,GAE9DnuE,KAAK6xE,YAEwC,IAAzC7xE,KAAK6xE,YAAYprC,MAAMjtB,OAAOzR,SAE9B/H,KAAK6xE,YAAYprC,MAAMjtB,QAAW,EAAG,IAKzCxZ,KAAKsjE,OAAO,EAAE,GAGlB,IAAIkL,EACAC,EAEAj1D,EAASxZ,KAAK6xE,YAAYprC,MAAMjtB,OAEd,IAAlBA,EAAOzR,QAEP/H,KAAKsjE,OAAO,EAAG,GAMnB,IAAK,IAHDwK,EAAQt0D,EAAOA,EAAOzR,OAAS,GAC/BgmE,EAAQv0D,EAAOA,EAAOzR,OAAS,GAC/BwS,EAAI,EACCvS,EAAI,EAAGA,GAXR,KAWkBA,EAItBwmE,EAAKV,GAAUE,EAAMF,IAFrBvzD,EAAIvS,EAbA,IAgBJymE,EAAKV,GAAUE,EAAMF,GAASxzD,EAE9Bf,EAAOjF,KAAMi6D,GAASR,GAASE,EAAMF,GAAOzzD,EAAOi0D,GAAMj0D,EAC5Ck0D,GAASR,GAASE,EAAMF,GAAO1zD,EAAOk0D,GAAMl0D,GAM7D,OAHAva,KAAKgqB,OAAQ,EACbhqB,KAAKiyE,cAAe,EAEbjyE,MAgBXK,EAAOif,SAAS/Y,UAAU8qE,cAAgB,SAAUrD,EAAKC,EAAKkF,EAAMC,EAAMlF,EAAKC,GAEvEnuE,KAAK6xE,YAEwC,IAAzC7xE,KAAK6xE,YAAYprC,MAAMjtB,OAAOzR,SAE9B/H,KAAK6xE,YAAYprC,MAAMjtB,QAAU,EAAG,IAKxCxZ,KAAKsjE,OAAO,EAAE,GAelB,IAAK,IAXD+P,EACAC,EACAC,EACAC,EACAC,EACAj6D,EAASxZ,KAAK6xE,YAAYprC,MAAMjtB,OAEhCs0D,EAAQt0D,EAAOA,EAAOzR,OAAO,GAC7BgmE,EAAQv0D,EAAOA,EAAOzR,OAAO,GAC7BwS,EAAI,EAECvS,EAAI,EAAGA,GAZR,KAYkBA,EAMtBurE,GADAD,GADAD,EAAM,GAFN94D,EAAIvS,EAdA,KAiBOqrE,GACCA,EAGZI,GADAD,EAAKj5D,EAAIA,GACCA,EAEVf,EAAOjF,KAAMg/D,EAAMzF,EAAQ,EAAIwF,EAAM/4D,EAAIyzD,EAAM,EAAIqF,EAAKG,EAAKL,EAAOM,EAAKvF,EAC5DqF,EAAMxF,EAAQ,EAAIuF,EAAM/4D,EAAI0zD,EAAM,EAAIoF,EAAKG,EAAKJ,EAAOK,EAAKtF,GAM7E,OAHAnuE,KAAKgqB,OAAQ,EACbhqB,KAAKiyE,cAAe,EAEbjyE,MAiBXK,EAAOif,SAAS/Y,UAAUmtE,MAAQ,SAAUtiE,EAAIE,EAAIa,EAAIC,EAAItE,GAEpD9N,KAAK6xE,YAEwC,IAAzC7xE,KAAK6xE,YAAYprC,MAAMjtB,OAAOzR,QAE9B/H,KAAK6xE,YAAYprC,MAAMjtB,OAAOjF,KAAKnD,EAAIE,GAK3CtR,KAAKsjE,OAAOlyD,EAAIE,GAGpB,IAAIkI,EAASxZ,KAAK6xE,YAAYprC,MAAMjtB,OAChCs0D,EAAQt0D,EAAOA,EAAOzR,OAAO,GAE7B4M,EADQ6E,EAAOA,EAAOzR,OAAO,GAChBuJ,EACbuD,EAAKi5D,EAAQ18D,EACbwD,EAAKxC,EAAOd,EACZwD,EAAK3C,EAAOf,EACZuiE,EAAK1tE,KAAKiK,IAAIyE,EAAKG,EAAKD,EAAKD,GAEjC,GAAI++D,EAAK,MAAqB,IAAX7lE,EAEX0L,EAAOA,EAAOzR,OAAO,KAAOqJ,GAAMoI,EAAOA,EAAOzR,OAAO,KAAOuJ,GAE9DkI,EAAOjF,KAAKnD,EAAIE,OAIxB,CACI,IAAIsiE,EAAKj/D,EAAKA,EAAKE,EAAKA,EACpBg/D,EAAKj/D,EAAKA,EAAKE,EAAKA,EACpBg/D,EAAKn/D,EAAKC,EAAKC,EAAKC,EACpBi/D,EAAKjmE,EAAS7H,KAAKkL,KAAKyiE,GAAMD,EAC9BK,EAAKlmE,EAAS7H,KAAKkL,KAAK0iE,GAAMF,EAC9BM,EAAKF,EAAKD,EAAKF,EACfM,EAAKF,EAAKF,EAAKD,EACf5jE,EAAK8jE,EAAKj/D,EAAKk/D,EAAKn/D,EACpBzE,EAAK2jE,EAAKn/D,EAAKo/D,EAAKr/D,EACpB3J,EAAK6J,GAAMm/D,EAAKC,GAChBl8B,EAAKpjC,GAAMq/D,EAAKC,GAChBnL,EAAKh0D,GAAMi/D,EAAKG,GAChBC,EAAKv/D,GAAMm/D,EAAKG,GAChBnlE,EAAa9I,KAAKwO,MAAMsjC,EAAK3nC,EAAIpF,EAAKiF,GACtCjB,EAAa/I,KAAKwO,MAAM0/D,EAAK/jE,EAAI04D,EAAK74D,GAE1CjQ,KAAKojE,IAAInzD,EAAKmB,EAAIhB,EAAKkB,EAAIxD,EAAQiB,EAAYC,EAAU6F,EAAKD,EAAKE,EAAKH,GAM5E,OAHA3U,KAAKgqB,OAAQ,EACbhqB,KAAKiyE,cAAe,EAEbjyE,MAiBXK,EAAOif,SAAS/Y,UAAU68D,IAAM,SAAUnzD,EAAIG,EAAItC,EAAQiB,EAAYC,EAAUolE,EAAeC,GAG3F,GAAItlE,IAAeC,EAEf,OAAOhP,UAGWuK,IAAlB6pE,IAA+BA,GAAgB,QAClC7pE,IAAb8pE,IAA0BA,EAAW,KAEpCD,GAAiBplE,GAAYD,EAE9BC,GAAsB,EAAV/I,KAAKsH,GAEZ6mE,GAAiBrlE,GAAcC,IAEpCD,GAAwB,EAAV9I,KAAKsH,IAGvB,IAAI+mE,EAAQF,GAA2C,GAA1BrlE,EAAaC,GAAkBA,EAAWD,EACnEwlE,EAAQtuE,KAAKG,KAAKH,KAAKiK,IAAIokE,IAAoB,EAAVruE,KAAKsH,KAAW8mE,EAGzD,GAAc,IAAVC,EAEA,OAAOt0E,KAGX,IAAIw0E,EAASvkE,EAAKhK,KAAK2H,IAAImB,GAAcjB,EACrC2mE,EAASrkE,EAAKnK,KAAK4H,IAAIkB,GAAcjB,EAErCsmE,GAAiBp0E,KAAK00E,QAEtB10E,KAAKsjE,OAAOrzD,EAAIG,GAIhBpQ,KAAKsjE,OAAOkR,EAAQC,GAgBxB,IAAK,IAZDj7D,EAASxZ,KAAK6xE,YAAYprC,MAAMjtB,OAEhCm7D,EAAQL,GAAgB,EAAPC,GACjBK,EAAiB,EAARD,EAETE,EAAS5uE,KAAK2H,IAAI+mE,GAClBG,EAAS7uE,KAAK4H,IAAI8mE,GAElBI,EAAWR,EAAO,EAElBS,EAAaD,EAAW,EAAKA,EAExB/sE,EAAI,EAAGA,GAAK+sE,EAAU/sE,IAC/B,CACI,IAEI2G,EAAS,EAAUI,EAAc6lE,GAF1B5sE,EAAIgtE,EAAYhtE,GAIvBgI,EAAI/J,KAAK2H,IAAIe,GACbuK,GAAKjT,KAAK4H,IAAIc,GAElB6K,EAAOjF,MAAQsgE,EAAU7kE,EAAM8kE,EAAS57D,GAAOpL,EAASmC,GACzC4kE,GAAU37D,EAAM47D,EAAS9kE,GAAOlC,EAASsC,GAM5D,OAHApQ,KAAKgqB,OAAQ,EACbhqB,KAAKiyE,cAAe,EAEbjyE,MAaXK,EAAOif,SAAS/Y,UAAUoa,UAAY,SAAUH,EAAOC,GAgBnD,OAdAzgB,KAAK00E,SAAU,EACf10E,KAAKqtE,UAAY7sD,GAAS,EAC1BxgB,KAAKstE,eAAuB/iE,IAAVkW,EAAuB,EAAIA,EAEzCzgB,KAAK6xE,aAED7xE,KAAK6xE,YAAYprC,MAAMjtB,OAAOzR,QAAU,IAExC/H,KAAK6xE,YAAYrrC,KAAOxmC,KAAK00E,QAC7B10E,KAAK6xE,YAAYxE,UAAYrtE,KAAKqtE,UAClCrtE,KAAK6xE,YAAYvE,UAAYttE,KAAKstE,WAInCttE,MAUXK,EAAOif,SAAS/Y,UAAUsa,QAAU,WAMhC,OAJA7gB,KAAK00E,SAAU,EACf10E,KAAKqtE,UAAY,KACjBrtE,KAAKstE,UAAY,EAEVttE,MAaXK,EAAOif,SAAS/Y,UAAUqa,SAAW,SAAUza,EAAG+G,EAAG2E,EAAOC,GAIxD,OAFA9R,KAAKkzE,UAAU,IAAI7yE,EAAO2N,UAAU7H,EAAG+G,EAAG2E,EAAOC,IAE1C9R,MAYXK,EAAOif,SAAS/Y,UAAU0uE,gBAAkB,SAAU9uE,EAAG+G,EAAG2E,EAAOC,EAAQhE,GAIvE,OAFA9N,KAAKkzE,UAAU,IAAI7yE,EAAOyc,iBAAiB3W,EAAG+G,EAAG2E,EAAOC,EAAQhE,IAEzD9N,MAaXK,EAAOif,SAAS/Y,UAAU2uE,WAAa,SAAU/uE,EAAG+G,EAAGC,GAInD,OAFAnN,KAAKkzE,UAAU,IAAI7yE,EAAO4M,OAAO9G,EAAG+G,EAAGC,IAEhCnN,MAcXK,EAAOif,SAAS/Y,UAAU4uE,YAAc,SAAUhvE,EAAG+G,EAAG2E,EAAOC,GAI3D,OAFA9R,KAAKkzE,UAAU,IAAI7yE,EAAOuR,QAAQzL,EAAG+G,EAAG2E,EAAOC,IAExC9R,MAWXK,EAAOif,SAAS/Y,UAAUosE,YAAc,SAAUyC,GAE1CA,aAAgB/0E,EAAO0Z,UAEvBq7D,EAAOA,EAAK57D,QAKhB,IAAIA,EAAS47D,EAEb,IAAK1uE,MAAMa,QAAQiS,GACnB,CAGIA,EAAS,IAAI9S,MAAMO,UAAUc,QAE7B,IAAK,IAAIC,EAAI,EAAGA,EAAIwR,EAAOzR,SAAUC,EAEjCwR,EAAOxR,GAAKf,UAAUe,GAM9B,OAFAhI,KAAKkzE,UAAU,IAAI7yE,EAAO0Z,QAAQP,IAE3BxZ,MAUXK,EAAOif,SAAS/Y,UAAUma,MAAQ,WAY9B,OAVA1gB,KAAKwjE,UAAY,EACjBxjE,KAAK00E,SAAU,EAEf10E,KAAKgqB,OAAQ,EACbhqB,KAAKiyE,cAAe,EACpBjyE,KAAKwsE,YAAa,EAClBxsE,KAAKsmC,gBAELtmC,KAAKoyE,oBAEEpyE,MAgBXK,EAAOif,SAAS/Y,UAAUo4D,gBAAkB,SAAUv0C,EAAYkoC,EAAWroC,QAEtD1f,IAAf6f,IAA4BA,EAAa,QAC3B7f,IAAd+nD,IAA2BA,EAAYvsD,KAAKJ,WAAWC,cAC3C2E,IAAZ0f,IAAyBA,EAAU,GAEvC,IAAI9M,EAASnd,KAAK+N,YAElBoP,EAAOtL,OAASoY,EAChB9M,EAAOrL,QAAUmY,EAEjB,IAAIorD,EAAe,IAAItvE,KAAKuvE,aAAan4D,EAAOtL,MAAQuY,EAAYjN,EAAOrL,OAASsY,GAEhFgc,EAAUrgC,KAAKktD,QAAQC,WAAWmiB,EAAatnD,OAAQukC,GAU3D,OARAlsB,EAAQC,YAAYjc,WAAaA,EAEjCirD,EAAaxuD,QAAQ7P,MAAMoT,EAAYA,GAEvCirD,EAAaxuD,QAAQ9P,WAAWoG,EAAOhX,GAAIgX,EAAOjQ,GAElDnH,KAAKk8D,eAAeC,eAAeliE,KAAMq1E,EAAaxuD,SAE/Cuf,GAWX/lC,EAAOif,SAAS/Y,UAAUi1D,aAAe,SAAUC,GAG/C,IAAqB,IAAjBz7D,KAAKqd,SAAoC,IAAfrd,KAAKygB,QAA+B,IAAhBzgB,KAAK8xE,OAAvD,CAKA,GAAI9xE,KAAKu1E,eAiBL,OAfIv1E,KAAKgqB,OAAShqB,KAAKmyE,qBAEnBnyE,KAAKw1E,wBAGLx1E,KAAKy1E,4BAELz1E,KAAKmyE,mBAAoB,EACzBnyE,KAAKgqB,OAAQ,GAGjBhqB,KAAK01E,cAAcnnD,WAAavuB,KAAKuuB,gBAErCxoB,KAAKirB,OAAOzqB,UAAUi1D,aAAax0D,KAAKhH,KAAK01E,cAAeja,GAoB5D,GAdAA,EAAcjG,YAAY51B,OAC1B67B,EAAcka,iBAAiBC,aAAa51E,KAAKqhE,WAE7CrhE,KAAK6uD,OAEL4M,EAAcoa,YAAYC,SAAS91E,KAAK6uD,MAAO4M,GAG/Cz7D,KAAK+1E,UAELta,EAAcua,cAAcC,WAAWj2E,KAAKk2E,cAI5Cl2E,KAAKqhE,YAAc5F,EAAcjG,YAAY2gB,iBACjD,CACI1a,EAAcjG,YAAY2gB,iBAAmBn2E,KAAKqhE,UAClD,IAAI+U,EAAiBrwE,KAAKswE,gBAAgB5a,EAAcjG,YAAY2gB,kBACpE1a,EAAcjG,YAAYmG,GAAG2a,UAAUF,EAAe,GAAIA,EAAe,IAa7E,GATIp2E,KAAKkyE,aAELlyE,KAAKgqB,OAAQ,EACbhqB,KAAKkyE,YAAa,GAGtBnsE,KAAKqkE,cAAclI,eAAeliE,KAAMy7D,GAGpCz7D,KAAKouB,SAASrmB,OAClB,CACI0zD,EAAcjG,YAAYzkD,QAG1B,IAAK,IAAI/I,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAEtChI,KAAKouB,SAASpmB,GAAGwzD,aAAaC,GAGlCA,EAAcjG,YAAY51B,OAG1B5/B,KAAK+1E,UAELta,EAAcua,cAAcO,YAG5Bv2E,KAAK6uD,OAEL4M,EAAcoa,YAAYW,QAAQx2E,KAAKwuD,KAAMiN,GAGjDA,EAAcgb,YAEdhb,EAAcjG,YAAYzkD,UAYlC1Q,EAAOif,SAAS/Y,UAAU01D,cAAgB,SAAUR,GAGhD,IAAqB,IAAjBz7D,KAAKqd,SAAoC,IAAfrd,KAAKygB,QAA+B,IAAhBzgB,KAAK8xE,OAAvD,CAYA,GANI9xE,KAAK02E,YAAc12E,KAAK6tD,OAExB7tD,KAAKgqB,OAAQ,EACbhqB,KAAK02E,UAAY12E,KAAK6tD,MAGtB7tD,KAAKu1E,eAiBL,OAfIv1E,KAAKgqB,OAAShqB,KAAKmyE,qBAEnBnyE,KAAKw1E,wBAGLx1E,KAAKy1E,4BAELz1E,KAAKmyE,mBAAoB,EACzBnyE,KAAKgqB,OAAQ,GAGjBhqB,KAAK01E,cAAcj1D,MAAQzgB,KAAKygB,WAEhC1a,KAAKirB,OAAOzqB,UAAU01D,cAAcj1D,KAAKhH,KAAK01E,cAAeja,GAM7D,IAAI50C,EAAU40C,EAAc50C,QACxBu1C,EAAYp8D,KAAKktB,eAEjBltB,KAAKqhE,YAAc5F,EAAc0a,mBAEjC1a,EAAc0a,iBAAmBn2E,KAAKqhE,UACtCx6C,EAAQ4+C,yBAA2B1/D,KAAK4wE,iBAAiBlb,EAAc0a,mBAGvEn2E,KAAK6uD,OAEL4M,EAAcoa,YAAYC,SAAS91E,KAAK6uD,MAAO4M,GAGnD,IAAIrxC,EAAaqxC,EAAcrxC,WAC3B/W,EAAM+oD,EAAU/oD,GAAKooD,EAAcrxC,WAAcqxC,EAAca,OAC/DhpD,EAAM8oD,EAAU9oD,GAAKmoD,EAAcrxC,WAAcqxC,EAAcc,OAEnE11C,EAAQE,aAAaq1C,EAAU5sD,EAAI4a,EACdgyC,EAAUxsD,EAAIwa,EACdgyC,EAAUpsD,EAAIoa,EACdgyC,EAAUhmD,EAAIgU,EACd/W,EACAC,GAErBvN,KAAKk8D,eAAeC,eAAeliE,KAAM6mB,GAGzC,IAAK,IAAI7e,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAEtChI,KAAKouB,SAASpmB,GAAGi0D,cAAcR,GAG/Bz7D,KAAK6uD,OAEL4M,EAAcoa,YAAYW,QAAQ/a,KAY9Cp7D,EAAOif,SAAS/Y,UAAUwH,UAAY,SAAUwI,GAE5C,GAAIvW,KAAKy6B,eAEL,OAAOz6B,KAAKy6B,eAIhB,IAAKz6B,KAAKyuD,WAEN,OAAOpuD,EAAOwc,eAGd7c,KAAKgqB,QAELhqB,KAAKoyE,oBACLpyE,KAAKkyE,YAAa,EAClBlyE,KAAKmyE,mBAAoB,EACzBnyE,KAAKgqB,OAAQ,GAGjB,IAAI7M,EAASnd,KAAKgyE,aAEd4E,EAAKz5D,EAAOhX,EACZ0wE,EAAK15D,EAAOtL,MAAQsL,EAAOhX,EAE3B2wE,EAAK35D,EAAOjQ,EACZ6pE,EAAK55D,EAAOrL,OAASqL,EAAOjQ,EAE5BggB,EAAiB3W,GAAUvW,KAAKktB,eAEhC1d,EAAI0d,EAAe1d,EACnBI,EAAIsd,EAAetd,EACnBI,EAAIkd,EAAeld,EACnBoG,EAAI8W,EAAe9W,EACnB/C,EAAK6Z,EAAe7Z,GACpBC,EAAK4Z,EAAe5Z,GAEpBlC,EAAK5B,EAAIqnE,EAAK7mE,EAAI+mE,EAAK1jE,EACvB/B,EAAK8E,EAAI2gE,EAAKnnE,EAAIinE,EAAKvjE,EAEvBnB,EAAK3C,EAAIonE,EAAK5mE,EAAI+mE,EAAK1jE,EACvBjB,EAAKgE,EAAI2gE,EAAKnnE,EAAIgnE,EAAKtjE,EAEvB0jE,EAAKxnE,EAAIonE,EAAK5mE,EAAI8mE,EAAKzjE,EACvB4jE,EAAK7gE,EAAI0gE,EAAKlnE,EAAIgnE,EAAKtjE,EAEvB4jE,EAAM1nE,EAAIqnE,EAAK7mE,EAAI8mE,EAAKzjE,EACxB8jE,EAAM/gE,EAAI0gE,EAAKlnE,EAAIinE,EAAKvjE,EAExBqhD,EAAOvjD,EACPwjD,EAAOtjD,EAEPmjD,EAAOrjD,EACPsjD,EAAOpjD,EA0BX,OAxBAmjD,EAAOtiD,EAAKsiD,EAAOtiD,EAAKsiD,EACxBA,EAAOuiB,EAAKviB,EAAOuiB,EAAKviB,EACxBA,EAAOyiB,EAAKziB,EAAOyiB,EAAKziB,EAExBC,EAAOtiD,EAAKsiD,EAAOtiD,EAAKsiD,EACxBA,EAAOuiB,EAAKviB,EAAOuiB,EAAKviB,EACxBA,EAAOyiB,EAAKziB,EAAOyiB,EAAKziB,EAExBC,EAAOxiD,EAAKwiD,EAAOxiD,EAAKwiD,EACxBA,EAAOqiB,EAAKriB,EAAOqiB,EAAKriB,EACxBA,EAAOuiB,EAAKviB,EAAOuiB,EAAKviB,EAExBC,EAAOxiD,EAAKwiD,EAAOxiD,EAAKwiD,EACxBA,EAAOqiB,EAAKriB,EAAOqiB,EAAKriB,EACxBA,EAAOuiB,EAAKviB,EAAOuiB,EAAKviB,EAExB50D,KAAK0rD,QAAQvlD,EAAIsuD,EACjBz0D,KAAK0rD,QAAQ75C,MAAQ8iD,EAAOF,EAE5Bz0D,KAAK0rD,QAAQx+C,EAAIwnD,EACjB10D,KAAK0rD,QAAQ55C,OAAS8iD,EAAOF,EAE7B10D,KAAKy6B,eAAiBz6B,KAAK0rD,QAEpB1rD,KAAKy6B,gBAUhBp6B,EAAOif,SAAS/Y,UAAU6wE,eAAiB,WAEvC,IAAIC,EAAcr3E,KAAKktB,eAEvBltB,KAAKktB,eAAiB7sB,EAAOgX,eAE7B,IAAK,IAAIrP,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAEtChI,KAAKouB,SAASpmB,GAAGsmB,kBAGrB,IAAInR,EAASnd,KAAK+N,YAIlB,IAFA/N,KAAKktB,eAAiBmqD,EAEjBrvE,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAElChI,KAAKouB,SAASpmB,GAAGsmB,kBAGrB,OAAOnR,GAUX9c,EAAOif,SAAS/Y,UAAUgW,cAAgB,SAAUhN,EAAO+nE,QAErC/sE,IAAd+sE,IAA2BA,EAAY,IAAIj3E,EAAOoN,OAEtDzN,KAAKktB,eAAerW,aAAatH,EAAO+nE,GAIxC,IAAK,IAFDhxC,EAAetmC,KAAKsmC,aAEft+B,EAAI,EAAGA,EAAIs+B,EAAav+B,OAAQC,IACzC,CACI,IAAIu+B,EAAOD,EAAat+B,GAExB,GAAKu+B,EAAKC,OAMND,EAAKE,OAEDF,EAAKE,MAAMh4B,SAAS6oE,EAAUnxE,EAAGmxE,EAAUpqE,IAE3C,OAAO,EAKnB,OAAO,GASX7M,EAAOif,SAAS/Y,UAAU6rE,kBAAoB,WAE1C,IAAI3d,EAAOz+C,EAAAA,EACP2+C,GAAQ3+C,EAAAA,EAER0+C,EAAO1+C,EAAAA,EACP4+C,GAAQ5+C,EAAAA,EAEZ,GAAIhW,KAAKsmC,aAAav+B,OAIlB,IAAK,IAFD0+B,EAAOjtB,EAAQrT,EAAG+G,EAAG6S,EAAGpP,EAEnB3I,EAAI,EAAGA,EAAIhI,KAAKsmC,aAAav+B,OAAQC,IAC9C,CACI,IAAIu+B,EAAOvmC,KAAKsmC,aAAat+B,GACzBI,EAAOm+B,EAAKn+B,KACZo7D,EAAYj9B,EAAKi9B,UAGrB,GAFA/8B,EAAQF,EAAKE,MAETr+B,IAAS/H,EAAOmC,WAAa4F,IAAS/H,EAAOuC,iBAE7CuD,EAAIsgC,EAAMtgC,EAAIq9D,EAAY,EAC1Bt2D,EAAIu5B,EAAMv5B,EAAIs2D,EAAY,EAC1BzjD,EAAI0mB,EAAM50B,MAAQ2xD,EAClB7yD,EAAI81B,EAAM30B,OAAS0xD,EAEnB/O,EAAOtuD,EAAIsuD,EAAOtuD,EAAIsuD,EACtBE,EAAOxuD,EAAI4Z,EAAI40C,EAAOxuD,EAAI4Z,EAAI40C,EAE9BD,EAAOxnD,EAAIwnD,EAAOxnD,EAAIwnD,EACtBE,EAAO1nD,EAAIyD,EAAIikD,EAAO1nD,EAAIyD,EAAIikD,OAE7B,GAAIxsD,IAAS/H,EAAOkC,OAErB4D,EAAIsgC,EAAMtgC,EACV+G,EAAIu5B,EAAMv5B,EACV6S,EAAI0mB,EAAM34B,OAAS01D,EAAY,EAC/B7yD,EAAI81B,EAAM34B,OAAS01D,EAAY,EAE/B/O,EAAOtuD,EAAI4Z,EAAI00C,EAAOtuD,EAAI4Z,EAAI00C,EAC9BE,EAAOxuD,EAAI4Z,EAAI40C,EAAOxuD,EAAI4Z,EAAI40C,EAE9BD,EAAOxnD,EAAIyD,EAAI+jD,EAAOxnD,EAAIyD,EAAI+jD,EAC9BE,EAAO1nD,EAAIyD,EAAIikD,EAAO1nD,EAAIyD,EAAIikD,OAE7B,GAAIxsD,IAAS/H,EAAO6B,QAErBiE,EAAIsgC,EAAMtgC,EACV+G,EAAIu5B,EAAMv5B,EACV6S,EAAI0mB,EAAM50B,MAAQ2xD,EAAY,EAC9B7yD,EAAI81B,EAAM30B,OAAS0xD,EAAY,EAE/B/O,EAAOtuD,EAAI4Z,EAAI00C,EAAOtuD,EAAI4Z,EAAI00C,EAC9BE,EAAOxuD,EAAI4Z,EAAI40C,EAAOxuD,EAAI4Z,EAAI40C,EAE9BD,EAAOxnD,EAAIyD,EAAI+jD,EAAOxnD,EAAIyD,EAAI+jD,EAC9BE,EAAO1nD,EAAIyD,EAAIikD,EAAO1nD,EAAIyD,EAAIikD,MAGlC,CAEIp7C,EAASitB,EAAMjtB,OAEf,IAAK,IAAIe,EAAI,EAAGA,EAAIf,EAAOzR,OAAQwS,IAE3Bf,EAAOe,aAAcla,EAAOoN,OAE5BtH,EAAIqT,EAAOe,GAAGpU,EACd+G,EAAIsM,EAAOe,GAAGrN,IAId/G,EAAIqT,EAAOe,GACXrN,EAAIsM,EAAOe,EAAI,GAEXA,EAAIf,EAAOzR,OAAS,GAEpBwS,KAIRk6C,EAAOtuD,EAAIq9D,EAAY/O,EAAOtuD,EAAIq9D,EAAY/O,EAC9CE,EAAOxuD,EAAIq9D,EAAY7O,EAAOxuD,EAAIq9D,EAAY7O,EAE9CD,EAAOxnD,EAAIs2D,EAAY9O,EAAOxnD,EAAIs2D,EAAY9O,EAC9CE,EAAO1nD,EAAIs2D,EAAY5O,EAAO1nD,EAAIs2D,EAAY5O,QAO1DH,EAAO,EACPE,EAAO,EACPD,EAAO,EACPE,EAAO,EAGX,IAAI3qC,EAAUjqB,KAAK+xE,cAEnB/xE,KAAKgyE,aAAa7rE,EAAIsuD,EAAOxqC,EAC7BjqB,KAAKgyE,aAAangE,MAAS8iD,EAAOF,EAAkB,EAAVxqC,EAE1CjqB,KAAKgyE,aAAa9kE,EAAIwnD,EAAOzqC,EAC7BjqB,KAAKgyE,aAAalgE,OAAU8iD,EAAOF,EAAkB,EAAVzqC,GAU/C5pB,EAAOif,SAAS/Y,UAAUivE,sBAAwB,WAE9C,IAAIr4D,EAASnd,KAAKo3E,iBAElB,GAAKp3E,KAAK01E,cAYN11E,KAAK01E,cAAc1Y,OAAO3hD,OAAO8B,EAAOtL,MAAOsL,EAAOrL,YAX1D,CACI,IAAIujE,EAAe,IAAItvE,KAAKuvE,aAAan4D,EAAOtL,MAAOsL,EAAOrL,QAC1Ds0B,EAAUrgC,KAAKktD,QAAQC,WAAWmiB,EAAatnD,QAEnD/tB,KAAK01E,cAAgB,IAAI3vE,KAAKirB,OAAOoV,GACrCpmC,KAAK01E,cAAc1Y,OAASqY,EAE5Br1E,KAAK01E,cAAcxoD,eAAiBltB,KAAKktB,eAQ7CltB,KAAK01E,cAAc7pD,OAAO1lB,GAAMgX,EAAOhX,EAAIgX,EAAOtL,MAClD7R,KAAK01E,cAAc7pD,OAAO3e,GAAMiQ,EAAOjQ,EAAIiQ,EAAOrL,OAGlD9R,KAAK01E,cAAc1Y,OAAOn2C,QAAQ9P,WAAWoG,EAAOhX,GAAIgX,EAAOjQ,GAG/DlN,KAAKuuB,WAAa,EAGlBxoB,KAAKk8D,eAAeC,eAAeliE,KAAMA,KAAK01E,cAAc1Y,OAAOn2C,SACnE7mB,KAAK01E,cAAcj1D,MAAQzgB,KAAKygB,OAUpCpgB,EAAOif,SAAS/Y,UAAUkvE,0BAA4B,WAElD,IAAI8B,EAAev3E,KAAK01E,cACpBtvC,EAAUmxC,EAAanxC,QACvBrY,EAASwpD,EAAava,OAAOjvC,OAEjCqY,EAAQC,YAAYx0B,MAAQkc,EAAOlc,MACnCu0B,EAAQC,YAAYv0B,OAASic,EAAOjc,OACpCs0B,EAAQwQ,KAAK/kC,MAAQu0B,EAAQ9S,MAAMzhB,MAAQkc,EAAOlc,MAClDu0B,EAAQwQ,KAAK9kC,OAASs0B,EAAQ9S,MAAMxhB,OAASic,EAAOjc,OAEpDylE,EAAap9C,OAASpM,EAAOlc,MAC7B0lE,EAAan9C,QAAUrM,EAAOjc,OAG9Bs0B,EAAQC,YAAYrc,SASxB3pB,EAAOif,SAAS/Y,UAAUixE,oBAAsB,WAE5Cx3E,KAAK01E,cAActvC,QAAQ9f,SAAQ,GACnCtmB,KAAK01E,cAAgB,MAWzBr1E,EAAOif,SAAS/Y,UAAU2sE,UAAY,SAAUzsC,GAExCzmC,KAAK6xE,aAGD7xE,KAAK6xE,YAAYprC,MAAMjtB,OAAOzR,QAAU,GAExC/H,KAAKsmC,aAAa4mC,MAI1BltE,KAAK6xE,YAAc,KAGfprC,aAAiBpmC,EAAO0Z,UAExB0sB,EAAQA,EAAMt6B,SACRkO,UAGV,IAAIksB,EAAO,IAAIlmC,EAAOuxE,aAAa5xE,KAAKwjE,UAAWxjE,KAAKmwE,UAAWnwE,KAAKowE,UAAWpwE,KAAKqtE,UAAWrtE,KAAKstE,UAAWttE,KAAK00E,QAASjuC,GAajI,OAXAzmC,KAAKsmC,aAAa/xB,KAAKgyB,GAEnBA,EAAKn+B,OAAS/H,EAAOyB,UAErBykC,EAAKE,MAAMvsB,OAASla,KAAK00E,QACzB10E,KAAK6xE,YAActrC,GAGvBvmC,KAAKgqB,OAAQ,EACbhqB,KAAKiyE,cAAe,EAEb1rC,GAeX9+B,OAAOmF,eAAevM,EAAOif,SAAS/Y,UAAW,iBAE7CmG,IAAK,WAED,OAAQ1M,KAAKu1E,gBAIjB5oE,IAAK,SAAUzC,GAEXlK,KAAKu1E,eAAiBrrE,EAElBlK,KAAKu1E,eAELv1E,KAAKw1E,wBAILx1E,KAAKw3E,sBAGTx3E,KAAKgqB,OAAQ,EACbhqB,KAAKkyE,YAAa,KAyB1B7xE,EAAOkyD,cAAgB,SAAUv1C,EAAMnL,EAAOC,EAAQjI,EAAKyoD,EAAWloC,EAAYwQ,EAAU68C,GAiExF,QA/DcltE,IAAVsH,IAAuBA,EAAQ,UACpBtH,IAAXuH,IAAwBA,EAAS,UACzBvH,IAARV,IAAqBA,EAAM,SACbU,IAAd+nD,IAA2BA,EAAYjyD,EAAOsF,WAAWC,cAC1C2E,IAAf6f,IAA4BA,EAAa,QAC5B7f,IAAbqwB,IAA0BA,EAAW70B,KAAK+5B,sBAC1Bv1B,IAAhBktE,IAA6BA,EAAc,GAK/Cz3E,KAAKgd,KAAOA,EAKZhd,KAAK6J,IAAMA,EAKX7J,KAAKoI,KAAO/H,EAAOqB,cAMnB1B,KAAK03E,YAAc,IAAIr3E,EAAO8V,OAE9BnW,KAAK6R,MAAQA,EACb7R,KAAK8R,OAASA,EACd9R,KAAKoqB,WAAaA,EAElBpqB,KAAKszB,MAAQ,IAAIjzB,EAAO2N,UAAU,EAAG,EAAGhO,KAAK6R,MAAQ7R,KAAKoqB,WAAYpqB,KAAK8R,OAAS9R,KAAKoqB,YAEzFpqB,KAAK42C,KAAO52C,KAAKszB,MAAMnnB,QAQvBnM,KAAKqmC,YAAc,IAAItgC,KAAKm3D,YAC5Bl9D,KAAKqmC,YAAYx0B,MAAQ7R,KAAK6R,MAAQ7R,KAAKoqB,WAC3CpqB,KAAKqmC,YAAYv0B,OAAS9R,KAAK8R,OAAS9R,KAAKoqB,WAC7CpqB,KAAKqmC,YAAYsxC,eACjB33E,KAAKqmC,YAAYjc,WAAapqB,KAAKoqB,WAEnCpqB,KAAKqmC,YAAYisB,UAAYA,EAE7BtyD,KAAKqmC,YAAYuxC,WAAY,EAE7B7xE,KAAKktD,QAAQjsD,KAAKhH,KAAMA,KAAKqmC,YAAarmC,KAAKszB,MAAMnnB,SAQrDnM,KAAK46B,SAAWA,EAEZ56B,KAAK46B,SAASxyB,OAAS/H,EAAOK,MAClC,CACI,IAAIi7D,EAAK37D,KAAK46B,SAAS+gC,GACvB37D,KAAKqmC,YAAYwxC,aAAeJ,EAChCz3E,KAAKqmC,YAAYyxC,OAAOnc,EAAG7kD,KAAM,EAEjC9W,KAAK+3E,cAAgB,IAAIhyE,KAAKiyE,cAAcrc,EAAI37D,KAAK6R,MAAO7R,KAAK8R,OAAQ9R,KAAKqmC,YAAYisB,UAAWmlB,GACrGz3E,KAAKqmC,YAAYsxC,YAAYhc,EAAG7kD,IAAM9W,KAAK+3E,cAAc3xC,QAEzDpmC,KAAKuqE,WAAa,IAAIlqE,EAAOoN,MAAmB,GAAbzN,KAAK6R,MAA4B,IAAd7R,KAAK8R,aAI3D9R,KAAK+3E,cAAgB,IAAIhyE,KAAKuvE,aAAat1E,KAAK6R,MAAQ7R,KAAKoqB,WAAYpqB,KAAK8R,OAAS9R,KAAKoqB,YAC5FpqB,KAAKqmC,YAAYl4B,OAASnO,KAAK+3E,cAAchqD,OAOjD/tB,KAAK8yD,OAAQ,EAEb9yD,KAAKi4E,WAAa,IAAI53E,EAAO8V,OAE7BnW,KAAK4tD,cAITvtD,EAAOkyD,cAAchsD,UAAYkB,OAAOwb,OAAOld,KAAKktD,QAAQ1sD,WAC5DlG,EAAOkyD,cAAchsD,UAAU8B,YAAchI,EAAOkyD,cAepDlyD,EAAOkyD,cAAchsD,UAAU2xE,SAAW,SAAU16D,EAAerX,EAAG+G,EAAGwT,GAErElD,EAAc8Q,kBAEdtuB,KAAK03E,YAAYxpE,SAASsP,EAAc0P,gBACxCltB,KAAK03E,YAAYrkE,GAAKlN,EACtBnG,KAAK03E,YAAYpkE,GAAKpG,EAElBlN,KAAK46B,SAASxyB,OAAS/H,EAAOK,MAE9BV,KAAKw7D,aAAah+C,EAAexd,KAAK03E,YAAah3D,GAInD1gB,KAAKi8D,cAAcz+C,EAAexd,KAAK03E,YAAah3D,IAkB5DrgB,EAAOkyD,cAAchsD,UAAU4xE,YAAc,SAAU36D,EAAerX,EAAG+G,EAAGwT,GAExE1gB,KAAK03E,YAAYtgE,WAAWL,UAAU5Q,EAAG+G,GAErClN,KAAK46B,SAASxyB,OAAS/H,EAAOK,MAE9BV,KAAKw7D,aAAah+C,EAAexd,KAAK03E,YAAah3D,GAInD1gB,KAAKi8D,cAAcz+C,EAAexd,KAAK03E,YAAah3D,IAoB5DrgB,EAAOkyD,cAAchsD,UAAU4c,OAAS,SAAU3F,EAAejH,EAAQmK,QAEtDnW,IAAXgM,GAAmC,OAAXA,EAExBvW,KAAK03E,YAAYxpE,SAASsP,EAAc0P,gBAIxCltB,KAAK03E,YAAYxpE,SAASqI,GAG1BvW,KAAK46B,SAASxyB,OAAS/H,EAAOK,MAE9BV,KAAKw7D,aAAah+C,EAAexd,KAAK03E,YAAah3D,GAInD1gB,KAAKi8D,cAAcz+C,EAAexd,KAAK03E,YAAah3D,IAa5DrgB,EAAOkyD,cAAchsD,UAAU8U,OAAS,SAAUxJ,EAAOC,EAAQsmE,GAEzDvmE,IAAU7R,KAAK6R,OAASC,IAAW9R,KAAK8R,SAK5C9R,KAAK8yD,MAASjhD,EAAQ,GAAKC,EAAS,EAEpC9R,KAAK6R,MAAQA,EACb7R,KAAK8R,OAASA,EACd9R,KAAKszB,MAAMzhB,MAAQ7R,KAAK42C,KAAK/kC,MAAQA,EAAQ7R,KAAKoqB,WAClDpqB,KAAKszB,MAAMxhB,OAAS9R,KAAK42C,KAAK9kC,OAASA,EAAS9R,KAAKoqB,WAEjDguD,IAEAp4E,KAAKqmC,YAAYx0B,MAAQ7R,KAAK6R,MAAQ7R,KAAKoqB,WAC3CpqB,KAAKqmC,YAAYv0B,OAAS9R,KAAK8R,OAAS9R,KAAKoqB,YAG7CpqB,KAAK46B,SAASxyB,OAAS/H,EAAOK,QAE9BV,KAAKuqE,WAAWpkE,EAAInG,KAAK6R,MAAQ,EACjC7R,KAAKuqE,WAAWr9D,GAAKlN,KAAK8R,OAAS,GAGlC9R,KAAK8yD,OAKV9yD,KAAK+3E,cAAc18D,OAAOrb,KAAK6R,MAAO7R,KAAK8R,UAS/CzR,EAAOkyD,cAAchsD,UAAUma,MAAQ,WAE9B1gB,KAAK8yD,QAKN9yD,KAAK46B,SAASxyB,OAAS/H,EAAOK,OAE9BV,KAAK46B,SAAS+gC,GAAG0c,gBAAgBr4E,KAAK46B,SAAS+gC,GAAG2c,YAAat4E,KAAK+3E,cAAcQ,aAGtFv4E,KAAK+3E,cAAcr3D,UAcvBrgB,EAAOkyD,cAAchsD,UAAUi1D,aAAe,SAAUh+C,EAAejH,EAAQmK,GAE3E,GAAK1gB,KAAK8yD,OAAiC,IAAxBt1C,EAAciD,MAAjC,CAOA,IAAIolB,EAAKroB,EAAc0P,eACvB2Y,EAAGzuB,WACHyuB,EAAG9uB,UAAU,EAAuB,EAApB/W,KAAKuqE,WAAWr9D,GAE5BqJ,GAEAsvB,EAAG3uB,OAAOX,GAGdsvB,EAAG7uB,MAAM,GAAI,GAGb,IAAK,IAAIhP,EAAI,EAAGA,EAAIwV,EAAc4Q,SAASrmB,OAAQC,IAE/CwV,EAAc4Q,SAASpmB,GAAGsmB,kBAI9B,IAAIqtC,EAAK37D,KAAK46B,SAAS+gC,GAEvBA,EAAG6c,SAAS,EAAG,EAAGx4E,KAAK6R,MAAQ7R,KAAKoqB,WAAYpqB,KAAK8R,OAAS9R,KAAKoqB,YAEnEuxC,EAAG0c,gBAAgB1c,EAAG2c,YAAat4E,KAAK+3E,cAAcQ,aAElD73D,GAEA1gB,KAAK+3E,cAAcr3D,QAGvB1gB,KAAK46B,SAAS46B,YAAYxrC,OAAQ,EAElChqB,KAAK46B,SAAS69C,oBAAoBj7D,EAAexd,KAAKuqE,WAAYvqE,KAAK+3E,cAAcQ,YAAahiE,GAElGvW,KAAK46B,SAAS46B,YAAYxrC,OAAQ,EAElC2xC,EAAG0c,gBAAgB1c,EAAG2c,YAAa,QAavCj4E,EAAOkyD,cAAchsD,UAAU01D,cAAgB,SAAUz+C,EAAejH,EAAQmK,GAE5E,GAAK1gB,KAAK8yD,OAAiC,IAAxBt1C,EAAciD,MAAjC,CAOA,IAAIolB,EAAKroB,EAAc0P,eACvB2Y,EAAGzuB,WAECb,GAEAsvB,EAAG3uB,OAAOX,GAId,IAAK,IAAIvO,EAAI,EAAGA,EAAIwV,EAAc4Q,SAASrmB,OAAQC,IAE/CwV,EAAc4Q,SAASpmB,GAAGsmB,kBAG1B5N,GAEA1gB,KAAK+3E,cAAcr3D,QAGvB,IAAIg4D,EAAiB14E,KAAK46B,SAASxQ,WAEnCpqB,KAAK46B,SAASxQ,WAAapqB,KAAKoqB,WAEhCpqB,KAAK46B,SAAS69C,oBAAoBj7D,EAAexd,KAAK+3E,cAAclxD,QAAStQ,GAE7EvW,KAAK46B,SAASxQ,WAAasuD,IAU/Br4E,EAAOkyD,cAAchsD,UAAU6sD,SAAW,WAEtC,IAAIznC,EAAQ,IAAIwpC,MAGhB,OAFAxpC,EAAM3f,IAAMhM,KAAK24E,YAEVhtD,GAUXtrB,EAAOkyD,cAAchsD,UAAUoyE,UAAY,WAEvC,OAAO34E,KAAKshE,YAAYxC,aAU5Bz+D,EAAOkyD,cAAchsD,UAAU+6D,UAAY,WAEvC,GAAIthE,KAAK46B,SAASxyB,OAAS/H,EAAOK,MAClC,CACI,IAAIi7D,EAAK37D,KAAK46B,SAAS+gC,GACnB9pD,EAAQ7R,KAAK+3E,cAAclmE,MAC3BC,EAAS9R,KAAK+3E,cAAcjmE,OAE5B8mE,EAAc,IAAIC,WAAW,EAAIhnE,EAAQC,GAE7C6pD,EAAG0c,gBAAgB1c,EAAG2c,YAAat4E,KAAK+3E,cAAcQ,aACtD5c,EAAGmd,WAAW,EAAG,EAAGjnE,EAAOC,EAAQ6pD,EAAGod,KAAMpd,EAAGqd,cAAeJ,GAC9Djd,EAAG0c,gBAAgB1c,EAAG2c,YAAa,MAEnC,IAAIW,EAAa,IAAIlzE,KAAKuvE,aAAazjE,EAAOC,GAC1ConE,EAAaD,EAAWpyD,QAAQowB,aAAa,EAAG,EAAGplC,EAAOC,GAK9D,OAJAonE,EAAW3yC,KAAK55B,IAAIisE,GAEpBK,EAAWpyD,QAAQw4C,aAAa6Z,EAAY,EAAG,GAExCD,EAAWlrD,OAIlB,OAAO/tB,KAAK+3E,cAAchqD,QA4ClC1tB,EAAO41D,KAAO,SAAUj5C,EAAM7W,EAAG+G,EAAG8oD,EAAMr2C,GAEtCxZ,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EAIL8oD,OAFSzrD,IAATyrD,GAA+B,OAATA,EAEf,GAIAA,EAAKtuD,WAGhBiY,EAAQtf,EAAO6I,MAAM4C,UAAW6T,GAMhC3f,KAAKoI,KAAO/H,EAAOiB,KAMnBtB,KAAK2wB,YAActwB,EAAOa,OAO1BlB,KAAKiqB,QAAU,IAAI5pB,EAAOoN,MAQ1BzN,KAAKm5E,WAAa,KAKlBn5E,KAAK+tB,OAAS1tB,EAAO6jC,WAAWjhB,OAAOjjB,MAKvCA,KAAK6mB,QAAU7mB,KAAK+tB,OAAOoW,WAAW,MAKtCnkC,KAAKo5E,UAKLp5E,KAAKq5E,gBAKLr5E,KAAKs5E,cAKLt5E,KAAKu5E,eAQLv5E,KAAKw5E,WAAY,EAajBx5E,KAAKy5E,iBAAkB,EAQvBz5E,KAAK05E,YAAc,iBAMnB15E,KAAK25E,oBAAsB,EAM3B35E,KAAK45E,qBAAuB,GAM5B55E,KAAK65E,KAAO78D,EAAK4d,SAASxQ,WAM1BpqB,KAAK85E,MAAQ9jB,EAMbh2D,KAAK+5E,gBAAkB,KAMvB/5E,KAAKg6E,aAAe,EAMpBh6E,KAAKi6E,WAAa,EAMlBj6E,KAAKm6B,OAAS,EAMdn6B,KAAKo6B,QAAU,EAEf/5B,EAAO2wB,OAAOhqB,KAAKhH,KAAMgd,EAAM7W,EAAG+G,EAAGnH,KAAKktD,QAAQC,WAAWlzD,KAAK+tB,SAElE/tB,KAAKk6E,SAASv6D,GAED,KAATq2C,GAEAh2D,KAAKm6E,cAKb95E,EAAO41D,KAAK1vD,UAAYkB,OAAOwb,OAAO5iB,EAAO2wB,OAAOzqB,WACpDlG,EAAO41D,KAAK1vD,UAAU8B,YAAchI,EAAO41D,KAQ3C51D,EAAO41D,KAAK1vD,UAAUkZ,UAAY,WAE9B,SAAKzf,KAAKo4D,oBAAuBp4D,KAAKq4D,qBAAwBr4D,KAAKs4D,qBAK5Dt4D,KAAKu4D,iBAUhBl4D,EAAO41D,KAAK1vD,UAAUwa,OAAS,aAU/B1gB,EAAO41D,KAAK1vD,UAAU+f,QAAU,SAAUwT,GAEtC95B,KAAKomC,QAAQ9f,SAAQ,GAErBjmB,EAAOwqD,UAAUmD,QAAQznD,UAAU+f,QAAQtf,KAAKhH,KAAM85B,IAmB1Dz5B,EAAO41D,KAAK1vD,UAAU6zE,UAAY,SAAUj0E,EAAG+G,EAAGsT,EAAO6hD,EAAMgY,EAAcC,GAiBzE,YAfU/vE,IAANpE,IAAmBA,EAAI,QACjBoE,IAAN2C,IAAmBA,EAAI,QACb3C,IAAViW,IAAuBA,EAAQ,yBACtBjW,IAAT83D,IAAsBA,EAAO,QACZ93D,IAAjB8vE,IAA8BA,GAAe,QAC9B9vE,IAAf+vE,IAA4BA,GAAa,GAE7Ct6E,KAAK2f,MAAM6iD,cAAgBr8D,EAC3BnG,KAAK2f,MAAM8iD,cAAgBv1D,EAC3BlN,KAAK2f,MAAM2iD,YAAc9hD,EACzBxgB,KAAK2f,MAAM4iD,WAAaF,EACxBriE,KAAK2f,MAAM06D,aAAeA,EAC1Br6E,KAAK2f,MAAM26D,WAAaA,EACxBt6E,KAAKgqB,OAAQ,EAENhqB,MA4BXK,EAAO41D,KAAK1vD,UAAU2zE,SAAW,SAAUv6D,EAAOoB,QAE/BxW,IAAXwW,IAAwBA,GAAS,GAErC,IAAIw5D,EAAW9yE,OAAOiB,UAAWiX,GACjC46D,EAAS1jB,KAAOl3C,EAAMk3C,MAAQ,kBAC9B0jB,EAASC,gBAAkB76D,EAAM66D,iBAAmB,KACpDD,EAAS/zC,KAAO7mB,EAAM6mB,MAAQ,QAC9B+zC,EAAS3mD,OAASjU,EAAMiU,OAAS,QAAQqb,cACzCsrC,EAASE,cAAgB96D,EAAM86D,cAAgB,QAAQxrC,cACvDsrC,EAASG,cAAgB/6D,EAAM+6D,cAAgB,OAAOzrC,cACtDsrC,EAAS7W,OAAS/jD,EAAM+jD,QAAU,QAClC6W,EAASI,gBAAkB//D,OAAO+E,EAAMg7D,kBAAoB,EAC5DJ,EAASK,SAAWj7D,EAAMi7D,WAAY,EACtCL,EAASM,cAAgBl7D,EAAMk7D,eAAiB,IAChDN,EAASO,SAAWn7D,EAAMm7D,UAAY,EACtCP,EAAS/X,cAAgB7iD,EAAM6iD,eAAiB,EAChD+X,EAAS9X,cAAgB9iD,EAAM8iD,eAAiB,EAChD8X,EAASjY,YAAc3iD,EAAM2iD,aAAe,gBAC5CiY,EAAShY,WAAa5iD,EAAM4iD,YAAc,EAC1CgY,EAASQ,KAAOp7D,EAAMo7D,MAAQ,EAE9B,IAAI7uB,EAAalsD,KAAKg7E,iBAAiBT,EAAS1jB,MAuChD,OArCI0jB,EAASU,YAET/uB,EAAW+uB,UAAYV,EAASU,WAGhCV,EAASW,cAEThvB,EAAWgvB,YAAcX,EAASW,aAGlCX,EAASY,aAETjvB,EAAWivB,WAAaZ,EAASY,YAGjCZ,EAASa,WAEwB,iBAAtBb,EAASa,WAEhBb,EAASa,SAAWb,EAASa,SAAW,MAG5ClvB,EAAWkvB,SAAWb,EAASa,UAGnCp7E,KAAK+5E,gBAAkB7tB,EAEvBquB,EAAS1jB,KAAO72D,KAAKq7E,iBAAiBr7E,KAAK+5E,iBAE3C/5E,KAAK2f,MAAQ46D,EACbv6E,KAAKgqB,OAAQ,EAETjJ,GAEA/gB,KAAKm6E,aAGFn6E,MAUXK,EAAO41D,KAAK1vD,UAAU4zE,WAAa,WAE/Bn6E,KAAKomC,QAAQC,YAAYjc,WAAapqB,KAAK65E,KAE3C75E,KAAK6mB,QAAQgwC,KAAO72D,KAAK2f,MAAMk3C,KAE/B,IAAIykB,EAAat7E,KAAKg2D,KAElBh2D,KAAK25E,oBAAsB,GAAK35E,KAAK25E,mBAAqB2B,EAAWvzE,SACrEuzE,EAAat7E,KAAKg2D,KAAKulB,UAAU,EAAGv7E,KAAK25E,oBAAsB35E,KAAK45E,sBAGpE55E,KAAK2f,MAAMi7D,WAEXU,EAAat7E,KAAKw7E,YAAYx7E,KAAKg2D,OAIvC,IAAIylB,EAAQH,EAAWjyE,MAAMrJ,KAAK05E,aAG9BqB,EAAO/6E,KAAK2f,MAAMo7D,KAClBW,KACAC,EAAe,EACfC,EAAiB57E,KAAK67E,wBAAwB77E,KAAK2f,MAAMk3C,MAEzDilB,EAAaL,EAAM1zE,OAEnB/H,KAAK2f,MAAMm7D,SAAW,GAAK96E,KAAK2f,MAAMm7D,SAAWW,EAAM1zE,SAEvD+zE,EAAa97E,KAAK2f,MAAMm7D,UAG5B96E,KAAKi6E,WAAa,EAElB,IAAK,IAAIjyE,EAAI,EAAGA,EAAI8zE,EAAY9zE,IAChC,CACI,GAAa,IAAT+yE,EACJ,CAEQvX,EAAaxjE,KAAK2f,MAAMg7D,gBAAkB36E,KAAKiqB,QAAQ9jB,EAEvDnG,KAAKo5E,OAAOrxE,OAAS,GAAK/H,KAAKq5E,aAAatxE,OAAS,GAAK/H,KAAKu5E,YAAYxxE,OAAS,GAAK/H,KAAKs5E,WAAWvxE,OAAS,EAElHy7D,GAAaxjE,KAAK+7E,YAAYN,EAAMzzE,IAIpCw7D,GAAaxjE,KAAK6mB,QAAQm1D,YAAYP,EAAMzzE,IAAI6J,MAIhD7R,KAAK2f,MAAMi7D,WAEXpX,GAAaxjE,KAAK6mB,QAAQm1D,YAAY,KAAKnqE,WAInD,CAEI,IAAIiB,EAAO2oE,EAAMzzE,GAAGqB,MAAM,UACtBm6D,EAAYxjE,KAAKiqB,QAAQ9jB,EAAInG,KAAK2f,MAAMg7D,gBAE5C,GAAIj0E,MAAMa,QAAQwzE,GAId,IAAK,IAFDkB,EAAM,EAEDjsE,EAAI,EAAGA,EAAI8C,EAAK/K,OAAQiI,IACjC,CACI,IAAIksE,EAAU,EAIVA,EAFAl8E,KAAKo5E,OAAOrxE,OAAS,GAAK/H,KAAKq5E,aAAatxE,OAAS,GAAK/H,KAAKu5E,YAAYxxE,OAAS,GAAK/H,KAAKs5E,WAAWvxE,OAAS,EAExG/H,KAAK+7E,YAAYjpE,EAAK9C,IAItB/J,KAAKG,KAAKpG,KAAK6mB,QAAQm1D,YAAYlpE,EAAK9C,IAAI6B,OAGtD7B,EAAI,IAEJisE,GAAOlB,EAAK/qE,EAAI,IAGpBwzD,EAAYyY,EAAMC,OAKtB,IAASlsE,EAAI,EAAGA,EAAI8C,EAAK/K,OAAQiI,IAGzBhQ,KAAKo5E,OAAOrxE,OAAS,GAAK/H,KAAKq5E,aAAatxE,OAAS,GAAK/H,KAAKu5E,YAAYxxE,OAAS,GAAK/H,KAAKs5E,WAAWvxE,OAAS,EAElHy7D,GAAaxjE,KAAK+7E,YAAYjpE,EAAK9C,IAInCwzD,GAAav9D,KAAKG,KAAKpG,KAAK6mB,QAAQm1D,YAAYlpE,EAAK9C,IAAI6B,OAK7D2xD,GAFWxjE,KAAKgd,KAAK0E,KAAKy6D,WAAW3Y,EAAWuX,GAAQvX,EAOpEkY,EAAW1zE,GAAK/B,KAAKG,KAAKo9D,GAC1BmY,EAAe11E,KAAK6N,IAAI6nE,EAAcD,EAAW1zE,IAGrDhI,KAAK+tB,OAAOlc,MAAQ8pE,EAAe37E,KAAK65E,KAGxC,IAAIuC,EAAaR,EAAeR,SAAWp7E,KAAK2f,MAAMg7D,gBAAkB36E,KAAKiqB,QAAQ/c,EACjF4E,EAASsqE,EAAaN,EACtBO,EAAcr8E,KAAKg6E,aAEnBqC,EAAc,GAAKp2E,KAAKiK,IAAImsE,GAAeD,IAE3CC,GAAeD,GAIC,IAAhBC,IAEAvqE,GAAWuqE,EAAc,EAAKA,EAAcZ,EAAM1zE,OAASs0E,GAAeZ,EAAM1zE,OAAS,IAG7F/H,KAAK+tB,OAAOjc,OAASA,EAAS9R,KAAK65E,KAEnC75E,KAAK6mB,QAAQ7P,MAAMhX,KAAK65E,KAAM75E,KAAK65E,MAE/B3/B,UAAUoiC,YAEVt8E,KAAK6mB,QAAQkwB,UAAU,EAAG,EAAG/2C,KAAK+tB,OAAOlc,MAAO7R,KAAK+tB,OAAOjc,QAG5D9R,KAAK2f,MAAM66D,kBAEXx6E,KAAK6mB,QAAQ43C,UAAYz+D,KAAK2f,MAAM66D,gBACpCx6E,KAAK6mB,QAAQ63C,SAAS,EAAG,EAAG1+D,KAAK+tB,OAAOlc,MAAO7R,KAAK+tB,OAAOjc,SAG/D9R,KAAK6mB,QAAQ43C,UAAYz+D,KAAK2f,MAAM6mB,KACpCxmC,KAAK6mB,QAAQgwC,KAAO72D,KAAK2f,MAAMk3C,KAC/B72D,KAAK6mB,QAAQ48C,YAAczjE,KAAK2f,MAAM+jD,OACtC1jE,KAAK6mB,QAAQ01D,aAAe,aAE5Bv8E,KAAK6mB,QAAQ28C,UAAYxjE,KAAK2f,MAAMg7D,gBACpC36E,KAAK6mB,QAAQ21D,QAAU,QACvBx8E,KAAK6mB,QAAQ41D,SAAW,QAExB,IAAIC,EACAC,EAKJ,IAHA38E,KAAKi6E,WAAa,EAGbjyE,EAAI,EAAGA,EAAI8zE,EAAY9zE,IAIxB00E,EAAgB18E,KAAK2f,MAAMg7D,gBAAkB,EAC7CgC,EAAiB38E,KAAK2f,MAAMg7D,gBAAkB,EAAI3yE,EAAIo0E,EAAcR,EAAegB,OAE/E50E,EAAI,IAEJ20E,GAAkBN,EAAcr0E,GAGX,UAArBhI,KAAK2f,MAAMiU,MAEX8oD,GAAiBf,EAAeD,EAAW1zE,GAEjB,WAArBhI,KAAK2f,MAAMiU,QAEhB8oD,IAAkBf,EAAeD,EAAW1zE,IAAM,GAGlDhI,KAAKw5E,YAELkD,EAAgBz2E,KAAKsI,MAAMmuE,GAC3BC,EAAgB12E,KAAKsI,MAAMouE,IAG3B38E,KAAKo5E,OAAOrxE,OAAS,GAAK/H,KAAKq5E,aAAatxE,OAAS,GAAK/H,KAAKu5E,YAAYxxE,OAAS,GAAK/H,KAAKs5E,WAAWvxE,OAAS,EAElH/H,KAAK68E,WAAWpB,EAAMzzE,GAAI00E,EAAeC,IAIrC38E,KAAK2f,MAAM+jD,QAAU1jE,KAAK2f,MAAMg7D,kBAEhC36E,KAAK88E,aAAa98E,KAAK2f,MAAM06D,cAEhB,IAATU,EAEA/6E,KAAK6mB,QAAQk2D,WAAWtB,EAAMzzE,GAAI00E,EAAeC,GAIjD38E,KAAKg9E,cAAcvB,EAAMzzE,GAAI00E,EAAeC,GAAe,IAI/D38E,KAAK2f,MAAM6mB,OAEXxmC,KAAK88E,aAAa98E,KAAK2f,MAAM26D,YAEhB,IAATS,EAEA/6E,KAAK6mB,QAAQq8C,SAASuY,EAAMzzE,GAAI00E,EAAeC,GAI/C38E,KAAKg9E,cAAcvB,EAAMzzE,GAAI00E,EAAeC,GAAe,KAM3E38E,KAAKi9E,gBAELj9E,KAAKgqB,OAAQ,GAejB3pB,EAAO41D,KAAK1vD,UAAUy2E,cAAgB,SAAUlqE,EAAM3M,EAAG+G,EAAGs5B,GAExD,IAAIwvB,EAAOljD,EAAKzJ,MAAM,UAClB0xE,EAAO/6E,KAAK2f,MAAMo7D,KAClBmC,EAAO,EAEX,GAAIx2E,MAAMa,QAAQwzE,GAId,IAAK,IAFDkB,EAAM,EAEDjsE,EAAI,EAAGA,EAAIgmD,EAAKjuD,OAAQiI,IAEzBA,EAAI,IAEJisE,GAAOlB,EAAK/qE,EAAI,IAGpBktE,EAAO/2E,EAAI81E,EAEPz1C,EAEAxmC,KAAK6mB,QAAQq8C,SAASlN,EAAKhmD,GAAIktE,EAAMhwE,GAIrClN,KAAK6mB,QAAQk2D,WAAW/mB,EAAKhmD,GAAIktE,EAAMhwE,QAM/C,IAAS8C,EAAI,EAAGA,EAAIgmD,EAAKjuD,OAAQiI,IACjC,CACI,IAAIksE,EAAUj2E,KAAKG,KAAKpG,KAAK6mB,QAAQm1D,YAAYhmB,EAAKhmD,IAAI6B,OAG1DqrE,EAAOl9E,KAAKgd,KAAK0E,KAAKy6D,WAAWh2E,EAAG40E,GAEhCv0C,EAEAxmC,KAAK6mB,QAAQq8C,SAASlN,EAAKhmD,GAAIktE,EAAMhwE,GAIrClN,KAAK6mB,QAAQk2D,WAAW/mB,EAAKhmD,GAAIktE,EAAMhwE,GAG3C/G,EAAI+2E,EAAOhB,IAavB77E,EAAO41D,KAAK1vD,UAAUu2E,aAAe,SAAUr6D,GAEvCA,GAEAziB,KAAK6mB,QAAQ27C,cAAgBxiE,KAAK2f,MAAM6iD,cACxCxiE,KAAK6mB,QAAQ47C,cAAgBziE,KAAK2f,MAAM8iD,cACxCziE,KAAK6mB,QAAQy7C,YAActiE,KAAK2f,MAAM2iD,YACtCtiE,KAAK6mB,QAAQ07C,WAAaviE,KAAK2f,MAAM4iD,aAIrCviE,KAAK6mB,QAAQ27C,cAAgB,EAC7BxiE,KAAK6mB,QAAQ47C,cAAgB,EAC7BziE,KAAK6mB,QAAQy7C,YAAc,EAC3BtiE,KAAK6mB,QAAQ07C,WAAa,IAalCliE,EAAO41D,KAAK1vD,UAAUw1E,YAAc,SAAUjpE,GAI1C,IAAK,IAFDqqE,EAAa,EAERn1E,EAAI,EAAGA,EAAI8K,EAAK/K,OAAQC,IACjC,CACI,IAAIo1E,EAAStqE,EAAK9K,GAElB,GAAIhI,KAAKu5E,YAAYxxE,OAAS,GAAK/H,KAAKs5E,WAAWvxE,OAAS,EAC5D,CACI,IAAImkD,EAAalsD,KAAKg7E,iBAAiBh7E,KAAK6mB,QAAQgwC,MAEhD72D,KAAKs5E,WAAWt5E,KAAKi6E,cAErB/tB,EAAW+uB,UAAYj7E,KAAKs5E,WAAWt5E,KAAKi6E,aAG5Cj6E,KAAKu5E,YAAYv5E,KAAKi6E,cAEtB/tB,EAAWivB,WAAan7E,KAAKu5E,YAAYv5E,KAAKi6E,aAGlDj6E,KAAK6mB,QAAQgwC,KAAO72D,KAAKq7E,iBAAiBnvB,GAG1ClsD,KAAK2f,MAAM+jD,QAAU1jE,KAAK2f,MAAMg7D,kBAE5B36E,KAAKq5E,aAAar5E,KAAKi6E,cAEvBj6E,KAAK6mB,QAAQ48C,YAAczjE,KAAKq5E,aAAar5E,KAAKi6E,aAGtDj6E,KAAK88E,aAAa98E,KAAK2f,MAAM06D,eAG7Br6E,KAAK2f,MAAM6mB,OAEPxmC,KAAKo5E,OAAOp5E,KAAKi6E,cAEjBj6E,KAAK6mB,QAAQ43C,UAAYz+D,KAAKo5E,OAAOp5E,KAAKi6E,aAG9Cj6E,KAAK88E,aAAa98E,KAAK2f,MAAM26D,aAGjC6C,GAAcn9E,KAAK6mB,QAAQm1D,YAAYoB,GAAQvrE,MAE/C7R,KAAKi6E,aAGT,OAAOh0E,KAAKG,KAAK+2E,IASrB98E,EAAO41D,KAAK1vD,UAAUs2E,WAAa,SAAU/pE,EAAM3M,EAAG+G,GAElD,IAAK,IAAIlF,EAAI,EAAGA,EAAI8K,EAAK/K,OAAQC,IACjC,CACI,IAAIo1E,EAAStqE,EAAK9K,GAElB,GAAIhI,KAAKu5E,YAAYxxE,OAAS,GAAK/H,KAAKs5E,WAAWvxE,OAAS,EAC5D,CACI,IAAImkD,EAAalsD,KAAKg7E,iBAAiBh7E,KAAK6mB,QAAQgwC,MAEhD72D,KAAKs5E,WAAWt5E,KAAKi6E,cAErB/tB,EAAW+uB,UAAYj7E,KAAKs5E,WAAWt5E,KAAKi6E,aAG5Cj6E,KAAKu5E,YAAYv5E,KAAKi6E,cAEtB/tB,EAAWivB,WAAan7E,KAAKu5E,YAAYv5E,KAAKi6E,aAGlDj6E,KAAK6mB,QAAQgwC,KAAO72D,KAAKq7E,iBAAiBnvB,GAG1ClsD,KAAK2f,MAAM+jD,QAAU1jE,KAAK2f,MAAMg7D,kBAE5B36E,KAAKq5E,aAAar5E,KAAKi6E,cAEvBj6E,KAAK6mB,QAAQ48C,YAAczjE,KAAKq5E,aAAar5E,KAAKi6E,aAGtDj6E,KAAK88E,aAAa98E,KAAK2f,MAAM06D,cAC7Br6E,KAAK6mB,QAAQk2D,WAAWK,EAAQj3E,EAAG+G,IAGnClN,KAAK2f,MAAM6mB,OAEPxmC,KAAKo5E,OAAOp5E,KAAKi6E,cAEjBj6E,KAAK6mB,QAAQ43C,UAAYz+D,KAAKo5E,OAAOp5E,KAAKi6E,aAG9Cj6E,KAAK88E,aAAa98E,KAAK2f,MAAM26D,YAC7Bt6E,KAAK6mB,QAAQq8C,SAASka,EAAQj3E,EAAG+G,IAGrC/G,GAAKnG,KAAK6mB,QAAQm1D,YAAYoB,GAAQvrE,MAEtC7R,KAAKi6E,eAWb55E,EAAO41D,KAAK1vD,UAAU82E,YAAc,WAMhC,OAJAr9E,KAAKo5E,UACLp5E,KAAKq5E,gBACLr5E,KAAKgqB,OAAQ,EAENhqB,MAUXK,EAAO41D,KAAK1vD,UAAU+2E,gBAAkB,WAMpC,OAJAt9E,KAAKs5E,cACLt5E,KAAKu5E,eACLv5E,KAAKgqB,OAAQ,EAENhqB,MAmBXK,EAAO41D,KAAK1vD,UAAUg3E,SAAW,SAAU/8D,EAAO1E,GAK9C,OAHA9b,KAAKo5E,OAAOt9D,GAAY0E,EACxBxgB,KAAKgqB,OAAQ,EAENhqB,MAqBXK,EAAO41D,KAAK1vD,UAAUi3E,eAAiB,SAAUh9D,EAAO1E,GAKpD,OAHA9b,KAAKq5E,aAAav9D,GAAY0E,EAC9BxgB,KAAKgqB,OAAQ,EAENhqB,MAmBXK,EAAO41D,KAAK1vD,UAAUk3E,aAAe,SAAU99D,EAAO7D,GAKlD,OAHA9b,KAAKs5E,WAAWx9D,GAAY6D,EAC5B3f,KAAKgqB,OAAQ,EAENhqB,MAmBXK,EAAO41D,KAAK1vD,UAAUm3E,cAAgB,SAAUC,EAAQ7hE,GAKpD,OAHA9b,KAAKu5E,YAAYz9D,GAAY6hE,EAC7B39E,KAAKgqB,OAAQ,EAENhqB,MAeXK,EAAO41D,KAAK1vD,UAAUq3E,qBAAuB,SAAU5nB,GAOnD,OALAh2D,KAAKomC,QAAQC,YAAYjc,WAAapqB,KAAK65E,KAC3C75E,KAAK6mB,QAAQgwC,KAAO72D,KAAK2f,MAAMk3C,KAEZ72D,KAAKw7E,YAAYxlB,GAEhB3sD,MAAM,mBAW9BhJ,EAAO41D,KAAK1vD,UAAUi1E,YAAc,SAAUxlB,GAE1C,OAAIh2D,KAAKy5E,gBAEEz5E,KAAK69E,iBAAiB7nB,GAItBh2D,KAAK89E,cAAc9nB,IAelC31D,EAAO41D,KAAK1vD,UAAUs3E,iBAAmB,SAAU7nB,GAe/C,IAAK,IAbDnvC,EAAU7mB,KAAK6mB,QACfg0D,EAAgB76E,KAAK2f,MAAMk7D,cAE3BrsE,EAAS,GAITitE,EAAQzlB,EACPzpD,QAAQ,OAAQ,KAChBlD,MAAM,WAEP00E,EAAatC,EAAM1zE,OAEdC,EAAI,EAAGA,EAAI+1E,EAAY/1E,IAChC,CACI,IAAI8K,EAAO2oE,EAAMzzE,GACbwF,EAAM,GASV,GANAsF,EAAOA,EAAKvG,QAAQ,aAAc,IAIlBsa,EAAQm1D,YAAYlpE,GAAMjB,MAE1BgpE,EAEZrsE,GAAUsE,EAAO,SAFrB,CAYA,IAAK,IALDkrE,EAAmBnD,EAGnBoD,EAAQnrE,EAAKzJ,MAAM,KAEdkR,EAAI,EAAGA,EAAI0jE,EAAMl2E,OAAQwS,IAClC,CACI,IAAI2jE,EAAOD,EAAM1jE,GACb4jE,EAAgBD,EAAO,IACvBE,EAAYv3D,EAAQm1D,YAAYmC,GAAetsE,MAEnD,GAAIusE,EAAYJ,EAChB,CAEI,GAAU,IAANzjE,EACJ,CAII,IAFA,IAAI8jE,EAAUF,EAEPE,EAAQt2E,SAEXs2E,EAAUA,EAAQ53E,MAAM,GAAI,MAC5B23E,EAAYv3D,EAAQm1D,YAAYqC,GAASxsE,QAExBmsE,MAQrB,IAAKK,EAAQt2E,OAET,MAAM,IAAI0R,MAAM,sEAIpB,IAAI6kE,EAAaJ,EAAKjzE,OAAOozE,EAAQt2E,QAErCk2E,EAAM1jE,GAAK+jE,EAGX9wE,GAAO6wE,EAIX,IAAIlvE,EAAU8uE,EAAM1jE,GAAS,OAAIA,EAAIA,EAAI,EAGrCy6D,EAAYiJ,EAAMx3E,MAAM0I,GAAQ5F,KAAK,KAExCgD,QAAQ,YAAa,IAGtBkvE,EAAMzzE,EAAI,GAAKgtE,EAAY,KAAOyG,EAAMzzE,EAAI,IAAM,IAClD+1E,EAAatC,EAAM1zE,OAEnB,MAMAyF,GAAO2wE,EACPH,GAAoBI,EAK5B5vE,GAAUhB,EAAIjB,QAAQ,YAAa,IAAM,MAM7C,OAFAiC,EAASA,EAAOjC,QAAQ,cAAe,KAa3ClM,EAAO41D,KAAK1vD,UAAUu3E,cAAgB,SAAU9nB,GAK5C,IAAK,IAHDhjD,EAAS,GACTyoE,EAAQzlB,EAAK3sD,MAAM,MAEdrB,EAAI,EAAGA,EAAIyzE,EAAM1zE,OAAQC,IAClC,CAII,IAAK,IAHDu2E,EAAYv+E,KAAK2f,MAAMk7D,cACvBoD,EAAQxC,EAAMzzE,GAAGqB,MAAM,KAElBkR,EAAI,EAAGA,EAAI0jE,EAAMl2E,OAAQwS,IAClC,CACI,IAAI6jE,EAAYp+E,KAAK6mB,QAAQm1D,YAAYiC,EAAM1jE,IAAI1I,MAC/C2sE,EAAqBJ,EAAYp+E,KAAK6mB,QAAQm1D,YAAY,KAAKnqE,MAE/D2sE,EAAqBD,GAGjBhkE,EAAI,IAEJvH,GAAU,MAEdA,GAAUirE,EAAM1jE,GAAK,IACrBgkE,EAAYv+E,KAAK2f,MAAMk7D,cAAgBuD,IAIvCG,GAAaC,EACbxrE,GAAUirE,EAAM1jE,GAAK,KAIzBvS,EAAIyzE,EAAM1zE,OAAO,IAEjBiL,GAAU,MAIlB,OAAOA,GAWX3S,EAAO41D,KAAK1vD,UAAUk4E,WAAa,SAAUvyB,GAEzC,IAAI2K,EAAO72D,KAAKq7E,iBAAiBnvB,GAE7BlsD,KAAK2f,MAAMk3C,OAASA,IAEpB72D,KAAK2f,MAAMk3C,KAAOA,EAClB72D,KAAKgqB,OAAQ,EAEThqB,KAAKisB,QAELjsB,KAAKsuB,oBAajBjuB,EAAO41D,KAAK1vD,UAAUy0E,iBAAmB,SAAUnkB,GAU/C,IAAIhmD,EAAIgmD,EAAKjM,MAAM,wSAEnB,GAAI/5C,EACJ,CACI,IAAI6tE,EAAS7tE,EAAE,GAAG8lC,OAQlB,MALK,2DAA2DgoC,KAAKD,IAAY,QAAQC,KAAKD,KAE1FA,EAAS,IAAMA,EAAS,MAIxB7nB,KAAMA,EACNokB,UAAWpqE,EAAE,IAAM,SACnBqqE,YAAarqE,EAAE,IAAM,SACrBsqE,WAAYtqE,EAAE,IAAM,SACpBuqE,SAAUvqE,EAAE,IAAM,SAClB+tE,WAAYF,GAOhB,OAFAp2E,QAAQG,KAAK,sCAAwCouD,IAGjDA,KAAMA,IAalBx2D,EAAO41D,KAAK1vD,UAAU80E,iBAAmB,SAAUnvB,GAE/C,IACIluB,EADAr0B,KAwBJ,OArBAq0B,EAAIkuB,EAAW+uB,YACA,WAANj9C,GAAkBr0B,EAAM4K,KAAKypB,IAEtCA,EAAIkuB,EAAWgvB,cACA,WAANl9C,GAAkBr0B,EAAM4K,KAAKypB,IAEtCA,EAAIkuB,EAAWivB,aACA,WAANn9C,GAAkBr0B,EAAM4K,KAAKypB,IAEtCA,EAAIkuB,EAAWkvB,WACA,WAANp9C,GAAkBr0B,EAAM4K,KAAKypB,IAEtCA,EAAIkuB,EAAW0yB,aACNj1E,EAAM4K,KAAKypB,GAEfr0B,EAAM5B,QAGP4B,EAAM4K,KAAK23C,EAAW2K,MAGnBltD,EAAMJ,KAAK,MAmBtBlJ,EAAO41D,KAAK1vD,UAAUs4E,QAAU,SAAU7oB,EAAMuK,GAe5C,YAbkBh2D,IAAdg2D,IAA2BA,GAAY,GAE3CvgE,KAAKg2D,KAAOA,EAAKtuD,YAAc,GAE3B64D,EAEAvgE,KAAKm6E,aAILn6E,KAAKgqB,OAAQ,EAGVhqB,MAyBXK,EAAO41D,KAAK1vD,UAAUu4E,UAAY,SAAU3lD,GAExC,IAAKzyB,MAAMa,QAAQ4xB,GAEf,OAAOn5B,KAMP,IAAK,IAFDkZ,EAAI,GAEClR,EAAI,EAAGA,EAAImxB,EAAKpxB,OAAQC,IAEzBtB,MAAMa,QAAQ4xB,EAAKnxB,KAEnBkR,GAAKigB,EAAKnxB,GAAGuB,KAAK,MAEdvB,EAAImxB,EAAKpxB,OAAS,IAElBmR,GAAK,QAKTA,GAAKigB,EAAKnxB,GAENA,EAAImxB,EAAKpxB,OAAS,IAElBmR,GAAK,OASrB,OAHAlZ,KAAKg2D,KAAO98C,EACZlZ,KAAKgqB,OAAQ,EAENhqB,MAmCXK,EAAO41D,KAAK1vD,UAAUw4E,cAAgB,SAAU54E,EAAG+G,EAAG2E,EAAOC,GAyBzD,YAvBUvH,IAANpE,EAEAnG,KAAKm5E,WAAa,MAIbn5E,KAAKm5E,WAMNn5E,KAAKm5E,WAAWlrE,MAAM9H,EAAG+G,EAAG2E,EAAOC,GAJnC9R,KAAKm5E,WAAa,IAAI94E,EAAO2N,UAAU7H,EAAG+G,EAAG2E,EAAOC,GAOpD9R,KAAK2f,MAAMk7D,cAAgBhpE,IAE3B7R,KAAK2f,MAAMk7D,cAAgBhpE,IAInC7R,KAAKi9E,gBAEEj9E,MAUXK,EAAO41D,KAAK1vD,UAAU02E,cAAgB,WAElC,IAAI5pB,EAAOrzD,KAAKomC,QAAQC,YACpBuQ,EAAO52C,KAAKomC,QAAQwQ,KACpBtjB,EAAQtzB,KAAKomC,QAAQ9S,MAErBvT,EAAI/f,KAAK+tB,OAAOlc,MAChBlB,EAAI3Q,KAAK+tB,OAAOjc,OAiBpB,GAfAuhD,EAAKxhD,MAAQkO,EACbszC,EAAKvhD,OAASnB,EAEdimC,EAAK/kC,MAAQkO,EACb62B,EAAK9kC,OAASnB,EAEd2iB,EAAMzhB,MAAQkO,EACduT,EAAMxhB,OAASnB,EAEf3Q,KAAKomC,QAAQv0B,MAAQkO,EACrB/f,KAAKomC,QAAQt0B,OAASnB,EAEtB3Q,KAAKm6B,OAASpa,EACd/f,KAAKo6B,QAAUzpB,EAEX3Q,KAAKm5E,WACT,CACI,IAAIhzE,EAAInG,KAAKm5E,WAAWhzE,EACpB+G,EAAIlN,KAAKm5E,WAAWjsE,EAGQ,UAA5BlN,KAAK2f,MAAM86D,aAEXt0E,GAAKnG,KAAKm5E,WAAWtnE,MAAQ7R,KAAK+tB,OAAOlc,MAAQ7R,KAAKoqB,WAErB,WAA5BpqB,KAAK2f,MAAM86D,eAEhBt0E,GAAKnG,KAAKm5E,WAAWhpE,UAAanQ,KAAK+tB,OAAOlc,MAAQ7R,KAAKoqB,WAAa,GAG5C,WAA5BpqB,KAAK2f,MAAM+6D,aAEXxtE,GAAKlN,KAAKm5E,WAAWrnE,OAAS9R,KAAK+tB,OAAOjc,OAAS9R,KAAKoqB,WAEvB,WAA5BpqB,KAAK2f,MAAM+6D,eAEhBxtE,GAAKlN,KAAKm5E,WAAW9oE,WAAcrQ,KAAK+tB,OAAOjc,OAAS9R,KAAKoqB,WAAa,GAG9EpqB,KAAKg/E,MAAM74E,GAAKA,EAChBnG,KAAKg/E,MAAM9xE,GAAKA,EAIpBlN,KAAKyuD,WAAoB,IAAN1uC,GAAiB,IAANpP,EAE9B3Q,KAAKomC,QAAQ0nB,gBAAiB,EAE9B9tD,KAAKomC,QAAQC,YAAYrc,SAW7B3pB,EAAO41D,KAAK1vD,UAAUi1D,aAAe,SAAUC,GAEvCz7D,KAAKgqB,QAELhqB,KAAKm6E,aACLn6E,KAAKgqB,OAAQ,GAGjBjkB,KAAKirB,OAAOzqB,UAAUi1D,aAAax0D,KAAKhH,KAAMy7D,IAWlDp7D,EAAO41D,KAAK1vD,UAAU01D,cAAgB,SAAUR,GAExCz7D,KAAKgqB,QAELhqB,KAAKm6E,aACLn6E,KAAKgqB,OAAQ,GAGjBjkB,KAAKirB,OAAOzqB,UAAU01D,cAAcj1D,KAAKhH,KAAMy7D,IAWnDp7D,EAAO41D,KAAK1vD,UAAUs1E,wBAA0B,SAAUZ,GAEtD,IAAIgE,EAAa5+E,EAAO41D,KAAKipB,oBAAoBjE,GAEjD,IAAKgE,EACL,CACIA,KAEA,IAAIlxD,EAAS1tB,EAAO41D,KAAKkpB,qBACrBt4D,EAAUxmB,EAAO41D,KAAKmpB,sBAE1Bv4D,EAAQgwC,KAAOokB,EAEf,IAAIppE,EAAQ5L,KAAKG,KAAKygB,EAAQm1D,YAAY,QAAQnqE,OAC9CwtE,EAAWp5E,KAAKG,KAAKygB,EAAQm1D,YAAY,QAAQnqE,OACjDC,EAAS,EAAIutE,EAgBjB,GAdAA,EAAsB,IAAXA,EAAiB,EAE5BtxD,EAAOlc,MAAQA,EACfkc,EAAOjc,OAASA,EAEhB+U,EAAQ43C,UAAY,OACpB53C,EAAQ63C,SAAS,EAAG,EAAG7sD,EAAOC,GAE9B+U,EAAQgwC,KAAOokB,EAEfp0D,EAAQ01D,aAAe,aACvB11D,EAAQ43C,UAAY,OACpB53C,EAAQq8C,SAAS,OAAQ,EAAGmc,IAEvBx4D,EAAQowB,aAAa,EAAG,EAAGplC,EAAOC,GAQnC,OANAmtE,EAAWrC,OAASyC,EACpBJ,EAAWK,QAAUD,EAAW,EAChCJ,EAAW7D,SAAW6D,EAAWrC,OAASqC,EAAWK,QAErDj/E,EAAO41D,KAAKipB,oBAAoBjE,GAAagE,EAEtCA,EAGX,IAIIj3E,EAAGuS,EAJHglE,EAAY14D,EAAQowB,aAAa,EAAG,EAAGplC,EAAOC,GAAQy0B,KACtDw2B,EAASwiB,EAAUx3E,OACnB+K,EAAe,EAARjB,EAIP2tE,EAAM,EACN5/C,GAAO,EAGX,IAAK53B,EAAI,EAAGA,EAAIq3E,EAAUr3E,IAC1B,CACI,IAAKuS,EAAI,EAAGA,EAAIzH,EAAMyH,GAAK,EAEvB,GAA2B,MAAvBglE,EAAUC,EAAMjlE,GACpB,CACIqlB,GAAO,EACP,MAIR,GAAKA,EAMD,MAJA4/C,GAAO1sE,EAcf,IANAmsE,EAAWrC,OAASyC,EAAWr3E,EAE/Bw3E,EAAMziB,EAASjqD,EACf8sB,GAAO,EAGF53B,EAAI8J,EAAQ9J,EAAIq3E,EAAUr3E,IAC/B,CACI,IAAKuS,EAAI,EAAGA,EAAIzH,EAAMyH,GAAK,EAEvB,GAA2B,MAAvBglE,EAAUC,EAAMjlE,GACpB,CACIqlB,GAAO,EACP,MAIR,GAAKA,EAMD,MAJA4/C,GAAO1sE,EAQfmsE,EAAWK,QAAUt3E,EAAIq3E,EAEzBJ,EAAWK,SAAW,EACtBL,EAAW7D,SAAW6D,EAAWrC,OAASqC,EAAWK,QAErDj/E,EAAO41D,KAAKipB,oBAAoBjE,GAAagE,EAGjD,OAAOA,GAYX5+E,EAAO41D,KAAK1vD,UAAUwH,UAAY,SAAUwI,GAQxC,OANIvW,KAAKgqB,QAELhqB,KAAKm6E,aACLn6E,KAAKgqB,OAAQ,GAGVjkB,KAAKirB,OAAOzqB,UAAUwH,UAAU/G,KAAKhH,KAAMuW,IAYtDlW,EAAO41D,KAAK1vD,UAAUk5E,kBAAoB,SAAUC,EAAgBC,GAEhE3/E,KAAK45E,0BAAmCrvE,IAAXo1E,EAAwB,GAAKA,EAC1D3/E,KAAK25E,mBAAqB+F,EAE1B1/E,KAAKm6E,cAWT1yE,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,QAEzCmG,IAAK,WACD,OAAO1M,KAAK85E,OAGhBntE,IAAK,SAASzC,GAENA,IAAUlK,KAAK85E,QAEf95E,KAAK85E,MAAQ5vE,EAAMxC,YAAc,GACjC1H,KAAKgqB,OAAQ,EAEThqB,KAAKisB,QAELjsB,KAAKsuB,sBAmBrB7mB,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,WAEzCmG,IAAK,WACD,OAAO1M,KAAKq7E,iBAAiBr7E,KAAK+5E,kBAGtCptE,IAAK,SAAUzC,GAEXA,EAAQA,GAAS,kBACjBlK,KAAK+5E,gBAAkB/5E,KAAKg7E,iBAAiB9wE,GAC7ClK,KAAKy+E,WAAWz+E,KAAK+5E,oBAgB7BtyE,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,QAEzCmG,IAAK,WACD,OAAO1M,KAAK+5E,gBAAgB6E,YAGhCjyE,IAAK,SAASzC,GAGVA,GADAA,EAAQA,GAAS,SACHysC,OAGT,2DAA2DgoC,KAAKz0E,IAAW,QAAQy0E,KAAKz0E,KAEzFA,EAAQ,IAAMA,EAAQ,KAG1BlK,KAAK+5E,gBAAgB6E,WAAa10E,EAClClK,KAAKy+E,WAAWz+E,KAAK+5E,oBAe7BtyE,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,YAEzCmG,IAAK,WAED,IAAI7B,EAAO7K,KAAK+5E,gBAAgBqB,SAEhC,OAAIvwE,GAAQ,cAAc8zE,KAAK9zE,GAEpBK,SAASL,EAAM,IAIfA,GAKf8B,IAAK,SAASzC,GAIW,iBAFrBA,EAAQA,GAAS,OAIbA,GAAgB,MAGpBlK,KAAK+5E,gBAAgBqB,SAAWlxE,EAChClK,KAAKy+E,WAAWz+E,KAAK+5E,oBAW7BtyE,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,cAEzCmG,IAAK,WACD,OAAO1M,KAAK+5E,gBAAgBoB,YAAc,UAG9CxuE,IAAK,SAASzC,GAEVA,EAAQA,GAAS,SACjBlK,KAAK+5E,gBAAgBoB,WAAajxE,EAClClK,KAAKy+E,WAAWz+E,KAAK+5E,oBAW7BtyE,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,aAEzCmG,IAAK,WACD,OAAO1M,KAAK+5E,gBAAgBkB,WAAa,UAG7CtuE,IAAK,SAASzC,GAEVA,EAAQA,GAAS,SACjBlK,KAAK+5E,gBAAgBkB,UAAY/wE,EACjClK,KAAKy+E,WAAWz+E,KAAK+5E,oBAW7BtyE,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,eAEzCmG,IAAK,WACD,OAAO1M,KAAK+5E,gBAAgBmB,aAAe,UAG/CvuE,IAAK,SAASzC,GAEVA,EAAQA,GAAS,SACjBlK,KAAK+5E,gBAAgBmB,YAAchxE,EACnClK,KAAKy+E,WAAWz+E,KAAK+5E,oBAU7BtyE,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,QAEzCmG,IAAK,WACD,OAAO1M,KAAK2f,MAAM6mB,MAGtB75B,IAAK,SAASzC,GAENA,IAAUlK,KAAK2f,MAAM6mB,OAErBxmC,KAAK2f,MAAM6mB,KAAOt8B,EAClBlK,KAAKgqB,OAAQ,MAczBviB,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,SAEzCmG,IAAK,WACD,OAAO1M,KAAK2f,MAAMiU,OAGtBjnB,IAAK,SAASzC,IAEVA,EAAQA,EAAM+kC,iBACAjvC,KAAK2f,MAAMiU,QAErB5zB,KAAK2f,MAAMiU,MAAQ1pB,EACnBlK,KAAKgqB,OAAQ,MAazBviB,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,cAEzCmG,IAAK,WACD,OAAO1M,KAAK65E,MAGhBltE,IAAK,SAASzC,GAENA,IAAUlK,KAAK65E,OAEf75E,KAAK65E,KAAO3vE,EACZlK,KAAKgqB,OAAQ,MAgBzBviB,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,QAEzCmG,IAAK,WACD,OAAO1M,KAAK2f,MAAMo7D,MAGtBpuE,IAAK,SAASzC,GAENA,IAAUlK,KAAK2f,MAAMo7D,OAErB/6E,KAAK2f,MAAMo7D,KAAO7wE,EAClBlK,KAAKgqB,OAAQ,MAYzBviB,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,gBAEzCmG,IAAK,WACD,OAAO1M,KAAK2f,MAAM86D,cAGtB9tE,IAAK,SAASzC,IAEVA,EAAQA,EAAM+kC,iBACAjvC,KAAK2f,MAAM86D,eAErBz6E,KAAK2f,MAAM86D,aAAevwE,EAC1BlK,KAAKgqB,OAAQ,MAYzBviB,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,gBAEzCmG,IAAK,WACD,OAAO1M,KAAK2f,MAAM+6D,cAGtB/tE,IAAK,SAASzC,IAEVA,EAAQA,EAAM+kC,iBACAjvC,KAAK2f,MAAM+6D,eAErB16E,KAAK2f,MAAM+6D,aAAexwE,EAC1BlK,KAAKgqB,OAAQ,MAWzBviB,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,UAEzCmG,IAAK,WACD,OAAO1M,KAAK2f,MAAM+jD,QAGtB/2D,IAAK,SAASzC,GAENA,IAAUlK,KAAK2f,MAAM+jD,SAErB1jE,KAAK2f,MAAM+jD,OAASx5D,EACpBlK,KAAKgqB,OAAQ,MAWzBviB,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,mBAEzCmG,IAAK,WACD,OAAO1M,KAAK2f,MAAMg7D,iBAGtBhuE,IAAK,SAASzC,GAENA,IAAUlK,KAAK2f,MAAMg7D,kBAErB36E,KAAK2f,MAAMg7D,gBAAkB//D,OAAO1Q,GACpClK,KAAKgqB,OAAQ,MAWzBviB,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,YAEzCmG,IAAK,WACD,OAAO1M,KAAK2f,MAAMi7D,UAGtBjuE,IAAK,SAASzC,GAENA,IAAUlK,KAAK2f,MAAMi7D,WAErB56E,KAAK2f,MAAMi7D,SAAW1wE,EACtBlK,KAAKgqB,OAAQ,MAWzBviB,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,iBAEzCmG,IAAK,WACD,OAAO1M,KAAK2f,MAAMk7D,eAGtBluE,IAAK,SAASzC,GAENA,IAAUlK,KAAK2f,MAAMk7D,gBAErB76E,KAAK2f,MAAMk7D,cAAgB3wE,EAC3BlK,KAAKgqB,OAAQ,MAWzBviB,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,eAEzCmG,IAAK,WACD,OAAO1M,KAAKg6E,cAGhBrtE,IAAK,SAASzC,GAENA,IAAUlK,KAAKg6E,eAEfh6E,KAAKg6E,aAAe4F,WAAW11E,GAC/BlK,KAAKgqB,OAAQ,EAEThqB,KAAKisB,QAELjsB,KAAKsuB,sBAYrB7mB,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,iBAEzCmG,IAAK,WACD,OAAO1M,KAAK2f,MAAM6iD,eAGtB71D,IAAK,SAASzC,GAENA,IAAUlK,KAAK2f,MAAM6iD,gBAErBxiE,KAAK2f,MAAM6iD,cAAgBt4D,EAC3BlK,KAAKgqB,OAAQ,MAWzBviB,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,iBAEzCmG,IAAK,WACD,OAAO1M,KAAK2f,MAAM8iD,eAGtB91D,IAAK,SAASzC,GAENA,IAAUlK,KAAK2f,MAAM8iD,gBAErBziE,KAAK2f,MAAM8iD,cAAgBv4D,EAC3BlK,KAAKgqB,OAAQ,MAWzBviB,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,eAEzCmG,IAAK,WACD,OAAO1M,KAAK2f,MAAM2iD,aAGtB31D,IAAK,SAASzC,GAENA,IAAUlK,KAAK2f,MAAM2iD,cAErBtiE,KAAK2f,MAAM2iD,YAAcp4D,EACzBlK,KAAKgqB,OAAQ,MAWzBviB,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,cAEzCmG,IAAK,WACD,OAAO1M,KAAK2f,MAAM4iD,YAGtB51D,IAAK,SAASzC,GAENA,IAAUlK,KAAK2f,MAAM4iD,aAErBviE,KAAK2f,MAAM4iD,WAAar4D,EACxBlK,KAAKgqB,OAAQ,MAWzBviB,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,gBAEzCmG,IAAK,WACD,OAAO1M,KAAK2f,MAAM06D,cAGtB1tE,IAAK,SAASzC,GAENA,IAAUlK,KAAK2f,MAAM06D,eAErBr6E,KAAK2f,MAAM06D,aAAenwE,EAC1BlK,KAAKgqB,OAAQ,MAWzBviB,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,cAEzCmG,IAAK,WACD,OAAO1M,KAAK2f,MAAM26D,YAGtB3tE,IAAK,SAASzC,GAENA,IAAUlK,KAAK2f,MAAM26D,aAErBt6E,KAAK2f,MAAM26D,WAAapwE,EACxBlK,KAAKgqB,OAAQ,MAYzBviB,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,SAEzCmG,IAAK,WAQD,OANI1M,KAAKgqB,QAELhqB,KAAKm6E,aACLn6E,KAAKgqB,OAAQ,GAGVhqB,KAAKgX,MAAM7Q,GAAKnG,KAAKomC,QAAQ9S,MAAMzhB,MAAQ7R,KAAKoqB,aAG3Dzd,IAAK,SAASzC,GAEVlK,KAAKgX,MAAM7Q,EAAI+D,EAAQlK,KAAKomC,QAAQ9S,MAAMzhB,MAC1C7R,KAAKm6B,OAASjwB,KAUtBzC,OAAOmF,eAAevM,EAAO41D,KAAK1vD,UAAW,UAEzCmG,IAAK,WAQD,OANI1M,KAAKgqB,QAELhqB,KAAKm6E,aACLn6E,KAAKgqB,OAAQ,GAGVhqB,KAAKgX,MAAM9J,GAAKlN,KAAKomC,QAAQ9S,MAAMxhB,OAAS9R,KAAKoqB,aAG5Dzd,IAAK,SAASzC,GAEVlK,KAAKgX,MAAM9J,EAAIhD,EAAQlK,KAAKomC,QAAQ9S,MAAMxhB,OAC1C9R,KAAKo6B,QAAUlwB,KAKvB7J,EAAO41D,KAAKipB,uBAEZ7+E,EAAO41D,KAAKkpB,qBAAuB3wD,SAASqxD,cAAc,UAC1Dx/E,EAAO41D,KAAKmpB,sBAAwB/+E,EAAO41D,KAAKkpB,qBAAqBh7C,WAAW,MAuDhF9jC,EAAOiuD,WAAa,SAAUtxC,EAAM7W,EAAG+G,EAAG2pD,EAAMb,EAAMnrD,EAAM+oB,GAExDztB,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EACT2pD,EAAOA,GAAQ,GACfb,EAAOA,GAAQ,GACfnrD,EAAOA,GAAQ,GACf+oB,EAAQA,GAAS,OAEjB7tB,KAAKgnB,uBAAuB/lB,KAAKhH,MAMjCA,KAAKoI,KAAO/H,EAAOmB,WAMnBxB,KAAK2wB,YAActwB,EAAOa,OAM1BlB,KAAK8/E,UAAY,EAMjB9/E,KAAK+/E,WAAa,EAKlB//E,KAAK6rB,OAAS,IAAIxrB,EAAOoN,MAMzBzN,KAAKggF,YAAc,IAAI3/E,EAAOoN,MAM9BzN,KAAKuuD,WAMLvuD,KAAKigF,UAAY,EAMjBjgF,KAAK85E,MAAQ9jB,EAAKtuD,YAAc,GAMhC1H,KAAKkgF,MAAQljE,EAAKqF,MAAM89D,cAActpB,GAMtC72D,KAAKogF,MAAQvpB,EAMb72D,KAAKqgF,UAAYx1E,EAMjB7K,KAAKsgF,OAAS1sD,EAMd5zB,KAAKugF,MAAQ,SAEbvgF,KAAKm6E,aAKLn6E,KAAKgqB,OAAQ,EAEb3pB,EAAOwqD,UAAUkB,KAAKlpC,KAAK7b,KAAKhH,KAAMgd,EAAM7W,EAAG+G,EAAG,GAAI,OAI1D7M,EAAOiuD,WAAW/nD,UAAYkB,OAAOwb,OAAOld,KAAKgnB,uBAAuBxmB,WACxElG,EAAOiuD,WAAW/nD,UAAU8B,YAAchI,EAAOiuD,WAEjDjuD,EAAOwqD,UAAUkB,KAAKE,QAAQjlD,KAAK3G,EAAOiuD,WAAW/nD,WACjD,QACA,WACA,SACA,UACA,gBACA,eACA,UACA,WACA,cACA,UAGJlG,EAAOiuD,WAAW/nD,UAAU6xD,iBAAmB/3D,EAAOwqD,UAAUwB,YAAY5sC,UAC5Epf,EAAOiuD,WAAW/nD,UAAU8xD,kBAAoBh4D,EAAOwqD,UAAUkH,SAAStyC,UAC1Epf,EAAOiuD,WAAW/nD,UAAU+xD,iBAAmBj4D,EAAOwqD,UAAU2G,QAAQ/xC,UACxEpf,EAAOiuD,WAAW/nD,UAAUgyD,cAAgBl4D,EAAOwqD,UAAUkB,KAAKtsC,UASlEpf,EAAOiuD,WAAW/nD,UAAUkZ,UAAY,WAEpC,SAAKzf,KAAKo4D,oBAAuBp4D,KAAKq4D,qBAAwBr4D,KAAKs4D,qBAK5Dt4D,KAAKu4D,iBAQhBl4D,EAAOiuD,WAAW/nD,UAAUsmB,WAAa,WAErCxsB,EAAOwqD,UAAUwB,YAAYx/B,WAAW7lB,KAAKhH,MAC7CK,EAAOwqD,UAAU2B,cAAc3/B,WAAW7lB,KAAKhH,MAE3CA,KAAKuyB,MAAQvyB,KAAKuyB,KAAKnqB,OAAS/H,EAAOmwB,QAAQC,SAE1CzwB,KAAK8/E,YAAc9/E,KAAKuyB,KAAKiuD,aAAiBxgF,KAAK+/E,aAAe//E,KAAKuyB,KAAKkuD,cAE7EzgF,KAAKuyB,KAAKvQ,QAAQhiB,KAAK8/E,UAAW9/E,KAAK+/E,cAcnD1/E,EAAOiuD,WAAW/nD,UAAUs4E,QAAU,SAAU7oB,GAE5Ch2D,KAAKg2D,KAAOA,GAehB31D,EAAOiuD,WAAW/nD,UAAUm6E,SAAW,SAAUn6C,EAAMvvB,EAAOg/C,GAW1D,IAAK,IATD7vD,EAAI,EACJ4Z,EAAI,EACJ4gE,GAAa,EACbC,EAAe,EACfC,EAAe,KACfC,EAAY9gF,KAAKigF,UAAY,EAAKjgF,KAAKigF,UAAY,KACnDjpB,KAGKhvD,EAAI,EAAGA,EAAIguD,EAAKjuD,OAAQC,IACjC,CACI,IAAI8I,EAAO9I,IAAMguD,EAAKjuD,OAAS,EAE/B,GAAI,iBAAiBg5E,KAAK/qB,EAAKgrB,OAAOh5E,IAElC,OAAS6J,MAAOkO,EAAGi2C,KAAMA,EAAK/qD,OAAO,EAAGjD,GAAI8I,IAAKA,EAAKkmD,MAAOA,GAI7D,IAAIvS,EAAWuR,EAAKrR,WAAW38C,GAC3Bi5E,EAAW16C,EAAKywB,MAAMvS,GAEtBz0C,EAAI,OAISzF,IAAb02E,IAEAx8B,EAAW,GACXw8B,EAAW16C,EAAKywB,MAAMvS,IAI1B,IAAIy8B,EAAWL,GAAgBI,EAASC,QAAQL,GAAiBI,EAASC,QAAQL,GAAgB,EAalG,GAVI,OAAOE,KAAK/qB,EAAKgrB,OAAOh5E,MAExB24E,EAAY34E,EACZ44E,EAAe7gE,GAInB/P,GAAKkxE,EAAUD,EAAS76C,QAAQv0B,MAAQovE,EAAS7pB,SAAWpgD,EAGxD8pE,GAAc/gE,EAAI/P,GAAM8wE,GAAaH,GAAa,EAGlD,OAAS9uE,MAAO+uE,GAAgB7gE,EAAGi2C,KAAMA,EAAK/qD,OAAO,EAAGjD,GAAKA,EAAI24E,IAAa7vE,IAAKA,EAAKkmD,MAAOA,GAI/Fj3C,IAAMkhE,EAASE,SAAWD,GAAWlqE,EAErCggD,EAAMziD,KAAKpO,GAAK86E,EAAS7pB,QAAU8pB,GAAWlqE,GAE9C7Q,IAAM86E,EAASE,SAAWD,GAAWlqE,EAErC6pE,EAAep8B,EAK3B,OAAS5yC,MAAOkO,EAAGi2C,KAAMA,EAAMllD,IAAKA,EAAKkmD,MAAOA,IAepD32D,EAAOiuD,WAAW/nD,UAAU66E,UAAY,SAAUprB,EAAMzpD,QAEpChC,IAAZgC,IAEAA,EAAU,IAGd,IAAIg6B,EAAOvmC,KAAKkgF,MAAMrpB,KAEtB,IAAKtwB,EAED,MAAO,GAMX,IAAK,IAHD86C,EAAK,mBACL5F,EAAQzlB,EAAKzpD,QAAQ80E,EAAI,MAAMh4E,MAAM,MAEhCrB,EAAI,EAAGA,EAAIyzE,EAAM1zE,OAAQC,IAClC,CAII,IAAK,IAHDwG,EAAS,GACTsE,EAAO2oE,EAAMzzE,GAERgI,EAAI,EAAGA,EAAI8C,EAAK/K,OAAQiI,IAIzBxB,EAFA+3B,EAAKywB,MAAMlkD,EAAK6xC,WAAW30C,IAElBxB,EAAOzH,OAAO+L,EAAK9C,IAInBxB,EAAOzH,OAAOwF,GAI/BkvE,EAAMzzE,GAAKwG,EAGf,OAAOitE,EAAMlyE,KAAK,OAUtBlJ,EAAOiuD,WAAW/nD,UAAU4zE,WAAa,WAErC,IAAI5zC,EAAOvmC,KAAKkgF,MAAMrpB,KAEtB,GAAKtwB,EAAL,CAKA,IAAIyvB,EAAOh2D,KAAKg2D,KACZh/C,EAAQhX,KAAKqgF,UAAY95C,EAAK17B,KAC9B4wE,KAEAvuE,EAAI,EAERlN,KAAK8/E,UAAY,EAEjB,IAEQhtE,EAAO9S,KAAK0gF,SAASn6C,EAAMvvB,EAAOg/C,IAEjC9oD,EAAIA,EAETuuE,EAAMlnE,KAAKzB,GAEPA,EAAKjB,MAAQ7R,KAAK8/E,YAElB9/E,KAAK8/E,UAAYhtE,EAAKjB,OAG1B3E,GAAMq5B,EAAK61C,WAAaplE,EAExBg/C,EAAOA,EAAK/qD,OAAO6H,EAAKkjD,KAAKjuD,OAAS,UAEpB,IAAb+K,EAAKhC,KAEd9Q,KAAK+/E,WAAa7yE,EAOlB,IAAK,IALDrF,EAAI,EACJ+rB,EAAQ,EACR61C,EAAKzpE,KAAK8/E,UAAY9/E,KAAK6rB,OAAO1lB,EAClCujE,EAAK1pE,KAAK+/E,WAAa//E,KAAK6rB,OAAO3e,EAE9BlF,EAAI,EAAGA,EAAIyzE,EAAM1zE,OAAQC,IAClC,CACI,IAAI8K,EAAO2oE,EAAMzzE,GAEG,UAAhBhI,KAAKsgF,OAEL1sD,EAAQ5zB,KAAK8/E,UAAYhtE,EAAKjB,MAET,WAAhB7R,KAAKsgF,SAEV1sD,GAAS5zB,KAAK8/E,UAAYhtE,EAAKjB,OAAS,GAG5C,IAAK,IAAI7B,EAAI,EAAGA,EAAI8C,EAAKkjD,KAAKjuD,OAAQiI,IACtC,CACI,IAAIy0C,EAAW3xC,EAAKkjD,KAAKrR,WAAW30C,GAChCixE,EAAW16C,EAAKywB,MAAMvS,QAETl6C,IAAb02E,IAEAx8B,EAAW,GACXw8B,EAAW16C,EAAKywB,MAAMvS,IAG1B,IAAIl3B,EAAIvtB,KAAKuuD,QAAQ1mD,GAEjB0lB,EAGAA,EAAE6Y,QAAU66C,EAAS76C,UAKrB7Y,EAAI,IAAIxnB,KAAKirB,OAAOiwD,EAAS76C,UAC3Bp8B,KAAO8I,EAAKkjD,KAAKhmD,GACnBhQ,KAAKuuD,QAAQh6C,KAAKgZ,IAGtBA,EAAEzR,SAAS3V,EAAK2M,EAAKkkD,MAAMhnD,GAAK4jB,EAAS61C,EACzCl8C,EAAEzR,SAAS5O,EAAK4F,EAAK5F,EAAK+zE,EAAS5pB,QAAUrgD,EAAU0yD,EAEvDn8C,EAAEvW,MAAMrK,IAAIqK,GACZuW,EAAEsgC,KAAO7tD,KAAK6tD,KACdtgC,EAAE6Y,QAAQ0nB,gBAAiB,EAC3BvgC,EAAEg0C,WAAa,SAEVh0C,EAAEtB,QAEHjsB,KAAKwf,SAAS+N,GAGlB1lB,KAMR,IAAKG,EAAIH,EAAGG,EAAIhI,KAAKuuD,QAAQxmD,OAAQC,IAEjChI,KAAKg1B,YAAYh1B,KAAKuuD,QAAQvmD,MAkBtC3H,EAAOiuD,WAAW/nD,UAAU+6E,YAAc,WAKtC,IAAK,IAHDx5E,EAAM9H,KAAKuuD,QAAQxmD,OACnBw5E,KAEKv5E,EAAI,EAAGA,EAAIhI,KAAKuuD,QAAQxmD,OAAQC,IAEjChI,KAAKuuD,QAAQvmD,GAAGikB,SAAWjsB,KAE3BA,KAAKuuD,QAAQvmD,GAAGse,UAIhBi7D,EAAKhtE,KAAKvU,KAAKuuD,QAAQvmD,IAS/B,OALAhI,KAAKuuD,WACLvuD,KAAKuuD,QAAUgzB,EAEfvhF,KAAKm6E,aAEEryE,EAAMy5E,EAAKx5E,QAUtB1H,EAAOiuD,WAAW/nD,UAAU+nB,gBAAkB,YAEtCtuB,KAAKgqB,OAAUhqB,KAAK6rB,OAAOlc,OAAO3P,KAAKggF,eAEvChgF,KAAKm6E,aACLn6E,KAAKgqB,OAAQ,EACbhqB,KAAKggF,YAAY9xE,SAASlO,KAAK6rB,SAGnC9lB,KAAKgnB,uBAAuBxmB,UAAU+nB,gBAAgBtnB,KAAKhH,OAQ/DyH,OAAOmF,eAAevM,EAAOiuD,WAAW/nD,UAAW,SAE/CmG,IAAK,WACD,OAAO1M,KAAKsgF,QAGhB3zE,IAAK,SAASzC,GAENA,IAAUlK,KAAKsgF,QAAqB,SAAVp2E,GAA8B,WAAVA,GAAgC,UAAVA,IAEpElK,KAAKsgF,OAASp2E,EACdlK,KAAKm6E,iBAWjB1yE,OAAOmF,eAAevM,EAAOiuD,WAAW/nD,UAAW,QAE/CmG,IAAK,WACD,OAAO1M,KAAKugF,OAGhB5zE,IAAK,SAASzC,GAENA,IAAUlK,KAAKugF,QAEfvgF,KAAKugF,MAAQr2E,EACblK,KAAKm6E,iBAWjB1yE,OAAOmF,eAAevM,EAAOiuD,WAAW/nD,UAAW,QAE/CmG,IAAK,WACD,OAAO1M,KAAKogF,OAGhBzzE,IAAK,SAASzC,GAENA,IAAUlK,KAAKogF,QAEfpgF,KAAKogF,MAAQl2E,EAAMysC,OACnB32C,KAAKkgF,MAAQlgF,KAAKgd,KAAKqF,MAAM89D,cAAcngF,KAAKogF,OAChDpgF,KAAKm6E,iBAWjB1yE,OAAOmF,eAAevM,EAAOiuD,WAAW/nD,UAAW,YAE/CmG,IAAK,WACD,OAAO1M,KAAKqgF,WAGhB1zE,IAAK,SAASzC,IAEVA,EAAQgB,SAAShB,EAAO,OAEVlK,KAAKqgF,WAAan2E,EAAQ,IAEpClK,KAAKqgF,UAAYn2E,EACjBlK,KAAKm6E,iBAWjB1yE,OAAOmF,eAAevM,EAAOiuD,WAAW/nD,UAAW,QAE/CmG,IAAK,WACD,OAAO1M,KAAK85E,OAGhBntE,IAAK,SAASzC,GAENA,IAAUlK,KAAK85E,QAEf95E,KAAK85E,MAAQ5vE,EAAMxC,YAAc,GACjC1H,KAAKm6E,iBAoBjB1yE,OAAOmF,eAAevM,EAAOiuD,WAAW/nD,UAAW,YAE/CmG,IAAK,WAED,OAAO1M,KAAKigF,WAIhBtzE,IAAK,SAASzC,GAENA,IAAUlK,KAAKigF,YAEfjgF,KAAKigF,UAAY/1E,EACjBlK,KAAKm6E,iBAiBjB1yE,OAAOmF,eAAevM,EAAOiuD,WAAW/nD,UAAW,YAE/CmG,IAAK,WAED,OAAQ1M,KAAKkgF,MAAM7sB,KAAKf,WAI5B3lD,IAAK,SAASzC,GAINlK,KAAKkgF,MAAM7sB,KAAKf,UAFhBpoD,EAE4B,EAIA,KA+BxC7J,EAAOi3D,UAAY,SAAUt6C,EAAMnT,EAAKitD,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEtH,IAAKr6C,EAAKqF,MAAMm/D,cAAc33E,GAE1B,OAAO,OAGSU,IAAhB0sD,GAA6C,OAAhBA,IAE7BA,EAAcj6C,EAAKqF,MAAM+wC,SAASvpD,GAAKgI,MAAQilD,GAMnD92D,KAAK82D,eAAiBA,EAKtB92D,KAAK+2D,gBAAkBA,EAKvB/2D,KAAKyhF,kBAAoBvqB,GAAY,EAKrCl3D,KAAK0hF,kBAAoBvqB,GAAY,EAKrCn3D,KAAK2hF,gBAAkB1qB,EAMvBj3D,KAAK45C,QAAUwd,GAAW,EAM1Bp3D,KAAK65C,QAAUwd,GAAW,EAK1Br3D,KAAK4zB,MAAQ,OAMb5zB,KAAK4hF,WAAY,EAMjB5hF,KAAK6hF,eAAgB,EAMrB7hF,KAAK8hF,eAAiB,EAMtB9hF,KAAK+hF,eAAiB,EAOtB/hF,KAAKgiF,WAAa,EAKlBhiF,KAAKiiF,QAAUjlE,EAAKqF,MAAM+wC,SAASvpD,GAMnC7J,KAAK85E,MAAQ,GAMb95E,KAAKkiF,YAKLliF,KAAK6yD,UAAY,IAAIxyD,EAAO88D,UAO5B,IAAK,IAJDglB,EAAWniF,KAAK45C,QAChBwoC,EAAWpiF,KAAK65C,QAChBlsC,EAAI,EAECqC,EAAI,EAAGA,EAAIgnD,EAAMjvD,OAAQiI,IAClC,CACI,IAAIsjB,EAAQtzB,KAAK6yD,UAAUwK,SAAS,IAAIh9D,EAAOi9D,MAAMttD,EAAGmyE,EAAUC,EAAUpiF,KAAK82D,eAAgB92D,KAAK+2D,kBAEtG/2D,KAAKkiF,SAASlrB,EAAMrS,WAAW30C,IAAMsjB,EAAMvqB,QAE3C4E,IAEU3N,KAAK2hF,iBAEXh0E,EAAI,EACJw0E,EAAWniF,KAAK45C,QAChBwoC,GAAYpiF,KAAK+2D,gBAAkB/2D,KAAK0hF,mBAIxCS,GAAYniF,KAAK82D,eAAiB92D,KAAKyhF,kBAI/CzkE,EAAKqF,MAAMggE,gBAAgBx4E,EAAK7J,KAAK6yD,WAMrC7yD,KAAKsiF,MAAQ,IAAIjiF,EAAO80D,MAAMn4C,EAAM,EAAG,EAAGnT,EAAK,GAE/CxJ,EAAOkyD,cAAcvrD,KAAKhH,KAAMgd,EAAM,IAAK,IAAK,GAAI3c,EAAOsF,WAAWG,SAKtE9F,KAAKoI,KAAO/H,EAAO+B,WAIvB/B,EAAOi3D,UAAU/wD,UAAYkB,OAAOwb,OAAO5iB,EAAOkyD,cAAchsD,WAChElG,EAAOi3D,UAAU/wD,UAAU8B,YAAchI,EAAOi3D,UAOhDj3D,EAAOi3D,UAAUirB,WAAa,OAO9BliF,EAAOi3D,UAAUkrB,YAAc,QAO/BniF,EAAOi3D,UAAUmrB,aAAe,SAOhCpiF,EAAOi3D,UAAUorB,UAAY,oGAO7BriF,EAAOi3D,UAAUqrB,UAAY,+DAO7BtiF,EAAOi3D,UAAUsrB,UAAY,wCAO7BviF,EAAOi3D,UAAUurB,UAAY,wCAO7BxiF,EAAOi3D,UAAUwrB,UAAY,mDAO7BziF,EAAOi3D,UAAUyrB,UAAY,oDAO7B1iF,EAAOi3D,UAAU0rB,UAAY,oDAO7B3iF,EAAOi3D,UAAU2rB,UAAY,yCAO7B5iF,EAAOi3D,UAAU4rB,UAAY,kDAO7B7iF,EAAOi3D,UAAU6rB,WAAa,6BAO9B9iF,EAAOi3D,UAAU8rB,WAAa,oDAW9B/iF,EAAOi3D,UAAU/wD,UAAU88E,cAAgB,SAAUxxE,EAAOyxE,QAElC/4E,IAAlB+4E,IAA+BA,EAAgB,QAEnDtjF,KAAKgiF,WAAanwE,EAClB7R,KAAK4zB,MAAQ0vD,GAgBjBjjF,EAAOi3D,UAAU/wD,UAAUs4E,QAAU,SAAU0E,EAAS3B,EAAW4B,EAAkBnH,EAAaiH,EAAeG,GAE7GzjF,KAAK4hF,UAAYA,IAAa,EAC9B5hF,KAAK8hF,eAAiB0B,GAAoB,EAC1CxjF,KAAK+hF,eAAiB1F,GAAe,EACrCr8E,KAAK4zB,MAAQ0vD,GAAiB,OAI1BtjF,KAAK6hF,eAFL4B,EASAF,EAAQx7E,OAAS,IAEjB/H,KAAKg2D,KAAOutB,IAWpBljF,EAAOi3D,UAAU/wD,UAAUm9E,mBAAqB,WAE5C,IAAIzzE,EAAK,EACLG,EAAK,EAKT,GAFApQ,KAAK0gB,QAED1gB,KAAK4hF,UACT,CACI,IAAInG,EAAQz7E,KAAK85E,MAAMzwE,MAAM,MAEzBrJ,KAAKgiF,WAAa,EAElBhiF,KAAKqb,OAAOrb,KAAKgiF,WAAavG,EAAM1zE,QAAU/H,KAAK+2D,gBAAkB/2D,KAAK+hF,gBAAmB/hF,KAAK+hF,gBAAgB,GAIlH/hF,KAAKqb,OAAOrb,KAAK2jF,kBAAoB3jF,KAAK82D,eAAiB92D,KAAK8hF,gBAAkBrG,EAAM1zE,QAAU/H,KAAK+2D,gBAAkB/2D,KAAK+hF,gBAAmB/hF,KAAK+hF,gBAAgB,GAI1K,IAAK,IAAI/5E,EAAI,EAAGA,EAAIyzE,EAAM1zE,OAAQC,IAG9BiI,EAAK,EAGDjQ,KAAK4zB,QAAUvzB,EAAOi3D,UAAUkrB,YAEhCvyE,EAAKjQ,KAAK6R,MAAS4pE,EAAMzzE,GAAGD,QAAU/H,KAAK82D,eAAiB92D,KAAK8hF,gBAE5D9hF,KAAK4zB,QAAUvzB,EAAOi3D,UAAUmrB,eAErCxyE,EAAMjQ,KAAK6R,MAAQ,EAAO4pE,EAAMzzE,GAAGD,QAAU/H,KAAK82D,eAAiB92D,KAAK8hF,gBAAmB,EAC3F7xE,GAAMjQ,KAAK8hF,eAAiB,GAI5B7xE,EAAK,IAELA,EAAK,GAGTjQ,KAAK4jF,UAAUnI,EAAMzzE,GAAIiI,EAAIG,EAAIpQ,KAAK8hF,gBAEtC1xE,GAAMpQ,KAAK+2D,gBAAkB/2D,KAAK+hF,oBAKlC/hF,KAAKgiF,WAAa,EAElBhiF,KAAKqb,OAAOrb,KAAKgiF,WAAYhiF,KAAK+2D,iBAAiB,GAInD/2D,KAAKqb,OAAOrb,KAAK85E,MAAM/xE,QAAU/H,KAAK82D,eAAiB92D,KAAK8hF,gBAAiB9hF,KAAK+2D,iBAAiB,GAIvG9mD,EAAK,EAEDjQ,KAAK4zB,QAAUvzB,EAAOi3D,UAAUkrB,YAEhCvyE,EAAKjQ,KAAK6R,MAAS7R,KAAK85E,MAAM/xE,QAAU/H,KAAK82D,eAAiB92D,KAAK8hF,gBAE9D9hF,KAAK4zB,QAAUvzB,EAAOi3D,UAAUmrB,eAErCxyE,EAAMjQ,KAAK6R,MAAQ,EAAO7R,KAAK85E,MAAM/xE,QAAU/H,KAAK82D,eAAiB92D,KAAK8hF,gBAAmB,EAC7F7xE,GAAMjQ,KAAK8hF,eAAiB,GAI5B7xE,EAAK,IAELA,EAAK,GAGTjQ,KAAK4jF,UAAU5jF,KAAK85E,MAAO7pE,EAAI,EAAGjQ,KAAK8hF,gBAG3C9hF,KAAK8tD,gBAAiB,GAe1BztD,EAAOi3D,UAAU/wD,UAAUq9E,UAAY,SAAU9wE,EAAM3M,EAAG+G,EAAG40E,GAEzD,IAAK,IAAI9xE,EAAI,EAAGA,EAAI8C,EAAK/K,OAAQiI,IAG7B,GAAuB,MAAnB8C,EAAKkuE,OAAOhxE,GAEZ7J,GAAKnG,KAAK82D,eAAiBgrB,OAK3B,GAAI9hF,KAAKkiF,SAASpvE,EAAK6xC,WAAW30C,KAAO,IAErChQ,KAAKsiF,MAAMhvD,MAAQtzB,KAAKkiF,SAASpvE,EAAK6xC,WAAW30C,IACjDhQ,KAAKk4E,SAASl4E,KAAKsiF,MAAOn8E,EAAG+G,GAAG,IAEhC/G,GAAKnG,KAAK82D,eAAiBgrB,GAEnB9hF,KAAK6R,OAET,OAcpBxR,EAAOi3D,UAAU/wD,UAAUo9E,eAAiB,WAExC,IAAIE,EAAc,EAElB,GAAI7jF,KAAK85E,MAAM/xE,OAAS,EAIpB,IAAK,IAFD0zE,EAAQz7E,KAAK85E,MAAMzwE,MAAM,MAEpBrB,EAAI,EAAGA,EAAIyzE,EAAM1zE,OAAQC,IAE1ByzE,EAAMzzE,GAAGD,OAAS87E,IAElBA,EAAcpI,EAAMzzE,GAAGD,QAKnC,OAAO87E,GAYXxjF,EAAOi3D,UAAU/wD,UAAUu9E,4BAA8B,SAAUC,GAI/D,IAAK,IAFDC,EAAY,GAEPh0E,EAAI,EAAGA,EAAIhQ,KAAK85E,MAAM/xE,OAAQiI,IACvC,CACI,IAAIi0E,EAAQjkF,KAAK85E,MAAM9pE,GACnBk0E,EAAOD,EAAMt/B,WAAW,IAExB3kD,KAAKkiF,SAASgC,IAAS,IAAOH,GAAqB,OAAVE,KAEzCD,EAAYA,EAAUj9E,OAAOk9E,IAIrC,OAAOD,GAcX3jF,EAAOi3D,UAAU/wD,UAAU49E,aAAe,SAAUh+E,EAAG+G,GAEnD,GAAIlN,KAAK45C,UAAYzzC,GAAKnG,KAAK65C,UAAY3sC,EAA3C,CAWA,IANA,IAAIk3E,EAAQj+E,EAAInG,KAAK45C,QACjByqC,EAAQn3E,EAAIlN,KAAK65C,QAEjByqC,EAAStkF,KAAKgd,KAAKqF,MAAMuwC,aAAa5yD,KAAKsiF,MAAMz4E,KAAK06E,YACtDv8E,EAAIs8E,EAAOv8E,OAERC,KAEHs8E,EAAOt8E,GAAG7B,GAAKi+E,EACfE,EAAOt8E,GAAGkF,GAAKm3E,EAGnBrkF,KAAK0jF,uBAQTj8E,OAAOmF,eAAevM,EAAOi3D,UAAU/wD,UAAW,QAE9CmG,IAAK,WAED,OAAO1M,KAAK85E,OAIhBntE,IAAK,SAAUzC,GAEX,IAAIs6E,GAIAA,EAFAxkF,KAAK6hF,cAEK33E,EAAMu6E,cAINv6E,KAGElK,KAAK85E,QAEjB95E,KAAK85E,MAAQ0K,EAEbxkF,KAAK8jF,4BAA4B9jF,KAAK4hF,WAEtC5hF,KAAK0jF,yBAWjBj8E,OAAOmF,eAAevM,EAAOi3D,UAAU/wD,UAAW,YAE9CmG,IAAK,WAED,OAAO1M,KAAKsiF,MAAM3jD,UAItBhyB,IAAK,SAAUzC,GAEXlK,KAAKsiF,MAAM3jD,SAAWz0B,EACtBlK,KAAK0jF,wBAiDbrjF,EAAO01D,KAAO,SAAU/4C,EAAM7W,EAAG+G,EAAGrD,EAAKypB,EAAO9Z,GAE5CxZ,KAAKwZ,UACLxZ,KAAKwZ,OAASA,EACdxZ,KAAK0kF,qBAAsB,EAC3B1kF,KAAK2kF,yBAA2B,KAChCx+E,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EACTrD,EAAMA,GAAO,KACbypB,EAAQA,GAAS,KAMjBtzB,KAAKoI,KAAO/H,EAAOiC,KAEnBtC,KAAKwZ,OAASA,EAEdzT,KAAKgnB,uBAAuB/lB,KAAKhH,MAEjCA,KAAKomC,QAAU/lC,EAAOurB,MAAMhmB,QAG5B5F,KAAK4kF,IAAM,IAAIluE,cAAc,EAAG,EACE,EAAG,EACH,EAAG,EACH,EAAG,IAErC1W,KAAK6yE,SAAW,IAAIn8D,cAAc,EAAG,EACG,IAAK,EACL,IAAK,IACL,EAAG,MAE3C1W,KAAKo5E,OAAS,IAAI1iE,cAAc,EAAG,EAAG,EAAG,IAEzC1W,KAAKkrE,QAAU,IAAIwF,aAAa,EAAG,EAAG,EAAG,IAErCl3D,IAEAxZ,KAAK6yE,SAAW,IAAIn8D,aAA6B,EAAhB8C,EAAOzR,QACxC/H,KAAK4kF,IAAM,IAAIluE,aAA6B,EAAhB8C,EAAOzR,QACnC/H,KAAKo5E,OAAS,IAAI1iE,aAA6B,EAAhB8C,EAAOzR,QACtC/H,KAAKkrE,QAAU,IAAIwF,YAA4B,EAAhBl3D,EAAOzR,SAS1C/H,KAAKgqB,OAAQ,EAQbhqB,KAAK6kF,cAAgB,EAErB7kF,KAAK8kF,SAAWzkF,EAAO01D,KAAKuW,eAE5BjsE,EAAOwqD,UAAUkB,KAAKlpC,KAAK7b,KAAKhH,KAAMgd,EAAM7W,EAAG+G,EAAGrD,EAAKypB,GAEvDtzB,KAAKu/B,WAITl/B,EAAO01D,KAAKxvD,UAAYkB,OAAOwb,OAAOld,KAAKgnB,uBAAuBxmB,WAClElG,EAAO01D,KAAKxvD,UAAU8B,YAAchI,EAAO01D,KAE3C11D,EAAOwqD,UAAUkB,KAAKE,QAAQjlD,KAAK3G,EAAO01D,KAAKxvD,WAC3C,QACA,YACA,WACA,SACA,aACA,OACA,QACA,UACA,gBACA,UACA,WACA,cACA,UACA,cACA,QACA,cACA,aAGJlG,EAAO01D,KAAKxvD,UAAU6xD,iBAAmB/3D,EAAOwqD,UAAUwB,YAAY5sC,UACtEpf,EAAO01D,KAAKxvD,UAAU8xD,kBAAoBh4D,EAAOwqD,UAAUkH,SAAStyC,UACpEpf,EAAO01D,KAAKxvD,UAAU+xD,iBAAmBj4D,EAAOwqD,UAAU2G,QAAQ/xC,UAClEpf,EAAO01D,KAAKxvD,UAAUgyD,cAAgBl4D,EAAOwqD,UAAUkB,KAAKtsC,UAE5Dpf,EAAO01D,KAAKuW,eAAiB,EAC7BjsE,EAAO01D,KAAKgvB,UAAY,EAQxB1kF,EAAO01D,KAAKxvD,UAAUkZ,UAAY,WAE9B,SAAKzf,KAAKo4D,oBAAuBp4D,KAAKq4D,qBAAwBr4D,KAAKs4D,qBAK5Dt4D,KAAKu4D,iBAUhBl4D,EAAO01D,KAAKxvD,UAAUwa,OAAS,WAEvB/gB,KAAK0kF,qBAEL1kF,KAAKglF,gBAAgBh+E,KAAKhH,OAgBlCK,EAAO01D,KAAKxvD,UAAU0b,MAAQ,SAAU9b,EAAG+G,GAIvC,OAFA7M,EAAOwqD,UAAUsJ,MAAM5tD,UAAU0b,MAAMjb,KAAKhH,KAAMmG,EAAG+G,GAE9ClN,MAUXK,EAAO01D,KAAKxvD,UAAUg5B,QAAU,WAE5B,IAAI/lB,EAASxZ,KAAKwZ,OAElB,KAAIA,EAAOzR,OAAS,GAApB,CAKA,IAAI68E,EAAM5kF,KAAK4kF,IAEX1Z,EAAUlrE,KAAKkrE,QACfkO,EAASp5E,KAAKo5E,OAElBp5E,KAAK04B,OAAS,GAEdksD,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EAETxL,EAAO,GAAK,EACZA,EAAO,GAAK,EAEZlO,EAAQ,GAAK,EACbA,EAAQ,GAAK,EAMb,IAAK,IAHDniE,EACA6sB,EAFAiC,EAAQre,EAAOzR,OAIVC,EAAI,EAAGA,EAAI6vB,EAAO7vB,IAKvB4tB,EAAS5tB,GAAK6vB,EAAQ,GAIlB+sD,EAPJ77E,EAAY,EAAJf,GAOS4tB,EACbgvD,EAAI77E,EAAQ,GAAK,EAEjB67E,EAAI77E,EAAQ,GAAK6sB,EACjBgvD,EAAI77E,EAAQ,GAAK,EAYrBqwE,EADArwE,EAAY,EAAJf,GACQ,EAChBoxE,EAAOrwE,EAAQ,GAAK,EAGpBmiE,EADAniE,EAAY,EAAJf,GACSe,EACjBmiE,EAAQniE,EAAQ,GAAKA,EAAQ,IAWrC1I,EAAO01D,KAAKxvD,UAAU+nB,gBAAkB,WAEpC,IAAI9U,EAASxZ,KAAKwZ,OAElB,KAAIA,EAAOzR,OAAS,GAApB,CAKA,IACIk9E,EADAjW,EAAYx1D,EAAO,GAEnBX,GAAS1S,EAAE,EAAG+G,EAAE,GAEpBlN,KAAK04B,OAAS,GAUd,IAAK,IANDnpB,EACAxG,EAEAm8E,EACAC,EANAtS,EAAW7yE,KAAK6yE,SAChBh7C,EAAQre,EAAOzR,OAOVC,EAAI,EAAGA,EAAI6vB,EAAO7vB,IAEvBuH,EAAQiK,EAAOxR,GACfe,EAAY,EAAJf,EAIJi9E,EAFDj9E,EAAIwR,EAAOzR,OAAS,EAEPyR,EAAOxR,EAAI,GAIXuH,EAGhBsJ,EAAK3L,IAAM+3E,EAAU9+E,EAAI6oE,EAAU7oE,GACnC0S,EAAK1S,EAAI8+E,EAAU/3E,EAAI8hE,EAAU9hE,EAEC,IAAzB,EAAKlF,GAAK6vB,EAAQ,IAEf,GAEA,EAGZqtD,EAAaj/E,KAAKkL,KAAM0H,EAAK1S,EAAI0S,EAAK1S,EAAM0S,EAAK3L,EAAI2L,EAAK3L,GAC1Di4E,EAAMnlF,KAAKomC,QAAQt0B,OAAS,EAC5B+G,EAAK1S,GAAK++E,EACVrsE,EAAK3L,GAAKg4E,EAEVrsE,EAAK1S,GAAKg/E,EACVtsE,EAAK3L,GAAKi4E,EAEVtS,EAAS9pE,GAASwG,EAAMpJ,EAAI0S,EAAK1S,EACjC0sE,EAAS9pE,EAAQ,GAAKwG,EAAMrC,EAAI2L,EAAK3L,EACrC2lE,EAAS9pE,EAAQ,GAAKwG,EAAMpJ,EAAI0S,EAAK1S,EACrC0sE,EAAS9pE,EAAQ,GAAKwG,EAAMrC,EAAI2L,EAAK3L,EAErC8hE,EAAYz/D,EAGhBxJ,KAAKgnB,uBAAuBxmB,UAAU+nB,gBAAgBtnB,KAAKhH,QAW/DK,EAAO01D,KAAKxvD,UAAUisD,WAAa,SAAUpsB,GAEzCpmC,KAAKomC,QAAUA,GAWnB/lC,EAAO01D,KAAKxvD,UAAUi1D,aAAe,SAAUC,IAEtCz7D,KAAKqd,SAAWrd,KAAKygB,OAAS,IAKnCg7C,EAAcjG,YAAY51B,OAErB5/B,KAAKolF,eAENplF,KAAKqlF,WAAW5pB,GAGpBA,EAAcI,cAAcC,UAAUL,EAAcI,cAAcypB,aAElEtlF,KAAKulF,aAAa9pB,GAElBA,EAAcjG,YAAYzkD,UAW9B1Q,EAAO01D,KAAKxvD,UAAU8+E,WAAa,SAAU5pB,GAGzC,IAAIE,EAAKF,EAAcE,GAEvB37D,KAAKolF,cAAgBzpB,EAAG0U,eACxBrwE,KAAKwlF,aAAe7pB,EAAG0U,eACvBrwE,KAAKylF,UAAY9pB,EAAG0U,eACpBrwE,KAAK0lF,aAAe/pB,EAAG0U,eAEvB1U,EAAGmQ,WAAWnQ,EAAGoQ,aAAc/rE,KAAKolF,eACpCzpB,EAAG4U,WAAW5U,EAAGoQ,aAAc/rE,KAAK6yE,SAAUlX,EAAGgqB,cAEjDhqB,EAAGmQ,WAAWnQ,EAAGoQ,aAAc/rE,KAAKylF,WACpC9pB,EAAG4U,WAAW5U,EAAGoQ,aAAc/rE,KAAK4kF,IAAKjpB,EAAG6U,aAE5C7U,EAAGmQ,WAAWnQ,EAAGoQ,aAAc/rE,KAAK0lF,cACpC/pB,EAAG4U,WAAW5U,EAAGoQ,aAAc/rE,KAAKo5E,OAAQzd,EAAG6U,aAE/C7U,EAAGmQ,WAAWnQ,EAAGyQ,qBAAsBpsE,KAAKwlF,cAC5C7pB,EAAG4U,WAAW5U,EAAGyQ,qBAAsBpsE,KAAKkrE,QAASvP,EAAG6U,cAW5DnwE,EAAO01D,KAAKxvD,UAAUg/E,aAAe,SAAU9pB,GAE3C,IAAIE,EAAKF,EAAcE,GACnB4O,EAAa9O,EAAc8O,WAC3Bp7D,EAASssD,EAActsD,OACvBq7D,EAAS/O,EAAcI,cAAcypB,YAErCR,EAAY9kF,KAAK8kF,WAAazkF,EAAO01D,KAAKuW,eAAkB3Q,EAAG2Q,eAAiB3Q,EAAGopB,UAEvFtpB,EAAcka,iBAAiBC,aAAa51E,KAAKqhE,WAGjD1F,EAAGyP,iBAAiBZ,EAAOa,mBAAmB,EAAOrrE,KAAKktB,eAAe1W,SAAQ,IACjFmlD,EAAG6P,UAAUhB,EAAOiB,iBAAkBlB,EAAWpkE,GAAIokE,EAAWr9D,GAChEyuD,EAAG6P,UAAUhB,EAAOkB,cAAev8D,EAAOhJ,GAAIgJ,EAAOjC,GACrDyuD,EAAG2P,UAAUd,EAAO/pD,MAAOzgB,KAAKuuB,YAE3BvuB,KAAKgqB,OA2BNhqB,KAAKgqB,OAAQ,EAEb2xC,EAAGmQ,WAAWnQ,EAAGoQ,aAAc/rE,KAAKolF,eACpCzpB,EAAG4U,WAAW5U,EAAGoQ,aAAc/rE,KAAK6yE,SAAUlX,EAAG6U,aACjD7U,EAAGqQ,oBAAoBxB,EAAOyB,gBAAiB,EAAGtQ,EAAGuQ,OAAO,EAAO,EAAG,GAGtEvQ,EAAGmQ,WAAWnQ,EAAGoQ,aAAc/rE,KAAKylF,WACpC9pB,EAAG4U,WAAW5U,EAAGoQ,aAAc/rE,KAAK4kF,IAAKjpB,EAAG6U,aAC5C7U,EAAGqQ,oBAAoBxB,EAAOob,cAAe,EAAGjqB,EAAGuQ,OAAO,EAAO,EAAG,GAEpEvQ,EAAGkqB,cAAclqB,EAAGmqB,UAGhB9lF,KAAKomC,QAAQC,YAAYyxC,OAAOnc,EAAG7kD,IAEnC2kD,EAAc7gC,SAASqiD,cAAcj9E,KAAKomC,QAAQC,aAIlDs1B,EAAGoqB,YAAYpqB,EAAGqqB,WAAYhmF,KAAKomC,QAAQC,YAAYsxC,YAAYhc,EAAG7kD,KAG1E6kD,EAAGmQ,WAAWnQ,EAAGyQ,qBAAsBpsE,KAAKwlF,cAC5C7pB,EAAG4U,WAAW5U,EAAGyQ,qBAAsBpsE,KAAKkrE,QAASvP,EAAG6U,eAjDxD7U,EAAGmQ,WAAWnQ,EAAGoQ,aAAc/rE,KAAKolF,eACpCzpB,EAAGsqB,cAActqB,EAAGoQ,aAAc,EAAG/rE,KAAK6yE,UAC1ClX,EAAGqQ,oBAAoBxB,EAAOyB,gBAAiB,EAAGtQ,EAAGuQ,OAAO,EAAO,EAAG,GAGtEvQ,EAAGmQ,WAAWnQ,EAAGoQ,aAAc/rE,KAAKylF,WACpC9pB,EAAGqQ,oBAAoBxB,EAAOob,cAAe,EAAGjqB,EAAGuQ,OAAO,EAAO,EAAG,GAEpEvQ,EAAGkqB,cAAclqB,EAAGmqB,UAGhB9lF,KAAKomC,QAAQC,YAAYyxC,OAAOnc,EAAG7kD,IAEnC2kD,EAAc7gC,SAASqiD,cAAcj9E,KAAKomC,QAAQC,aAKlDs1B,EAAGoqB,YAAYpqB,EAAGqqB,WAAYhmF,KAAKomC,QAAQC,YAAYsxC,YAAYhc,EAAG7kD,KAG1E6kD,EAAGmQ,WAAWnQ,EAAGyQ,qBAAsBpsE,KAAKwlF,eA+BhD7pB,EAAGoP,aAAa+Z,EAAU9kF,KAAKkrE,QAAQnjE,OAAQ4zD,EAAGsP,eAAgB,IAWtE5qE,EAAO01D,KAAKxvD,UAAU01D,cAAgB,SAAUR,GAE5C,IAAI50C,EAAU40C,EAAc50C,QAExBu1C,EAAYp8D,KAAKktB,eAEjB7Z,EAAM+oD,EAAU/oD,GAAKooD,EAAcrxC,WAAcqxC,EAAca,OAC/DhpD,EAAM8oD,EAAU9oD,GAAKmoD,EAAcrxC,WAAcqxC,EAAcc,OAE/Dd,EAAcgB,YAEd51C,EAAQE,aAAaq1C,EAAU5sD,EAAG4sD,EAAUxsD,EAAGwsD,EAAUpsD,EAAGosD,EAAUhmD,EAAQ,EAAL/C,EAAa,EAALC,GAIjFuT,EAAQE,aAAaq1C,EAAU5sD,EAAG4sD,EAAUxsD,EAAGwsD,EAAUpsD,EAAGosD,EAAUhmD,EAAG/C,EAAIC,GAG7EtT,KAAK8kF,WAAazkF,EAAO01D,KAAKuW,eAE9BtsE,KAAKkmF,2BAA2Br/D,GAIhC7mB,KAAKmmF,uBAAuBt/D,IAYpCxmB,EAAO01D,KAAKxvD,UAAU2/E,2BAA6B,SAAUr/D,GAGzD,IAAIgsD,EAAW7yE,KAAK6yE,SAChB+R,EAAM5kF,KAAK4kF,IAEX78E,EAAS8qE,EAAS9qE,OAAS,EAE/B/H,KAAK04B,QAEL,IAAK,IAAI1wB,EAAI,EAAGA,EAAID,EAAS,EAAGC,IAChC,CACI,IAAIe,EAAY,EAAJf,EACZhI,KAAKomF,0BAA0Bv/D,EAASgsD,EAAU+R,EAAK77E,EAAQA,EAAQ,EAAKA,EAAQ,KAY5F1I,EAAO01D,KAAKxvD,UAAU4/E,uBAAyB,SAAUt/D,GAErD,IAAIgsD,EAAW7yE,KAAK6yE,SAChB+R,EAAM5kF,KAAK4kF,IACX1Z,EAAUlrE,KAAKkrE,QAEfnjE,EAASmjE,EAAQnjE,OAErB/H,KAAK04B,QAEL,IAAK,IAAI1wB,EAAI,EAAGA,EAAID,EAAQC,GAAK,EACjC,CACI,IAAIq+E,EAAsB,EAAbnb,EAAQljE,GACjBs+E,EAA0B,EAAjBpb,EAAQljE,EAAI,GACrBu+E,EAA0B,EAAjBrb,EAAQljE,EAAI,GAEzBhI,KAAKomF,0BAA0Bv/D,EAASgsD,EAAU+R,EAAKyB,EAAQC,EAAQC,KAY/ElmF,EAAO01D,KAAKxvD,UAAU6/E,0BAA4B,SAAUv/D,EAASgsD,EAAU+R,EAAKyB,EAAQC,EAAQC,GAEhG,IAAIC,EAAgBxmF,KAAKomC,QAAQC,YAAYl4B,OACzCs4E,EAAezmF,KAAKomC,QAAQv0B,MAC5B60E,EAAgB1mF,KAAKomC,QAAQt0B,OAE7BZ,EAAK2hE,EAASwT,GACdj1E,EAAKyhE,EAASyT,GACdn0E,EAAK0gE,EAAS0T,GACdl1E,EAAKwhE,EAASwT,EAAS,GACvB/0E,EAAKuhE,EAASyT,EAAS,GACvBl0E,EAAKygE,EAAS0T,EAAS,GAEvBI,EAAK/B,EAAIyB,GAAUI,EACnBG,EAAKhC,EAAI0B,GAAUG,EACnBI,EAAKjC,EAAI2B,GAAUE,EACnBK,EAAKlC,EAAIyB,EAAS,GAAKK,EACvBK,EAAKnC,EAAI0B,EAAS,GAAKI,EACvBM,EAAKpC,EAAI2B,EAAS,GAAKG,EAE3B,GAAI1mF,KAAK6kF,cAAgB,EACzB,CACI,IAAIoC,EAAWjnF,KAAK6kF,cAAgB7kF,KAAKktB,eAAe1d,EACpD03E,EAAWlnF,KAAK6kF,cAAgB7kF,KAAKktB,eAAe9W,EACpD3D,GAAWvB,EAAKE,EAAKe,GAAM,EAC3BO,GAAWrB,EAAKC,EAAKc,GAAM,EAE3B+0E,EAAQj2E,EAAKuB,EACb20E,EAAQ/1E,EAAKqB,EAEbs9D,EAAO/pE,KAAKkL,KAAMg2E,EAAQA,EAAUC,EAAQA,GAChDl2E,EAAKuB,EAAW00E,EAAQnX,GAASA,EAAOiX,GACxC51E,EAAKqB,EAAW00E,EAAQpX,GAASA,EAAOkX,GAGxCE,EAAQ91E,EAAKoB,EAGbtB,EAAKqB,GAJL00E,EAAQ/1E,EAAKqB,IAGbu9D,EAAO/pE,KAAKkL,KAAMg2E,EAAQA,EAAUC,EAAQA,KACXpX,EAAOiX,GACxC31E,EAAKoB,EAAW00E,EAAQpX,GAASA,EAAOkX,GAGxCE,EAAQh1E,EAAKM,EAGbP,EAAKM,GAJL00E,EAAQh1E,EAAKM,IAGbu9D,EAAO/pE,KAAKkL,KAAMg2E,EAAQA,EAAUC,EAAQA,KACXpX,EAAOiX,GACxC70E,EAAKM,EAAW00E,EAAQpX,GAASA,EAAOkX,GAG5CrgE,EAAQC,OACRD,EAAQs8C,YAERt8C,EAAQy8C,OAAOpyD,EAAIG,GACnBwV,EAAQ08C,OAAOnyD,EAAIE,GACnBuV,EAAQ08C,OAAOpxD,EAAIC,GAEnByU,EAAQw8C,YAERx8C,EAAQ9O,OAGR,IAAIsvE,EAAUV,EAAKI,EAAYD,EAAKD,EAAYD,EAAKI,EAAYD,EAAKF,EAAYC,EAAKF,EAAYD,EAAKK,EACpGM,EAAUp2E,EAAK61E,EAAYD,EAAK30E,EAAYf,EAAK41E,EAAYD,EAAK50E,EAAY20E,EAAK11E,EAAYF,EAAK81E,EACpGO,EAAUZ,EAAKv1E,EAAYF,EAAK21E,EAAYD,EAAKz0E,EAAYf,EAAKy1E,EAAY31E,EAAK01E,EAAYD,EAAKx0E,EACpGq1E,EAAUb,EAAKI,EAAK50E,EAAO20E,EAAK11E,EAAKy1E,EAAO31E,EAAK01E,EAAKI,EAAO91E,EAAK61E,EAAKF,EAAOC,EAAKF,EAAKz0E,EAAOw0E,EAAKv1E,EAAK41E,EACzGS,EAAUp2E,EAAK01E,EAAYD,EAAK10E,EAAYd,EAAK01E,EAAYD,EAAK30E,EAAY00E,EAAKx1E,EAAYD,EAAK21E,EACpGU,EAAUf,EAAKr1E,EAAYD,EAAKw1E,EAAYD,EAAKx0E,EAAYd,EAAKu1E,EAAYx1E,EAAKu1E,EAAYD,EAAKv0E,EACpGu1E,EAAUhB,EAAKI,EAAK30E,EAAO00E,EAAKx1E,EAAKu1E,EAAOx1E,EAAKu1E,EAAKI,EAAO31E,EAAK01E,EAAKF,EAAOC,EAAKF,EAAKx0E,EAAOu0E,EAAKr1E,EAAK01E,EAE7GngE,EAAQu1C,UACJkrB,EAASD,EACTI,EAASJ,EACTE,EAASF,EACTK,EAASL,EACTG,EAASH,EACTM,EAASN,GAEbxgE,EAAQmwB,UAAUwvC,EAAe,EAAG,GACpC3/D,EAAQG,WAUZ3mB,EAAO01D,KAAKxvD,UAAUqhF,gBAAkB,SAAUC,GAE9C,IAAIhhE,EAAU7mB,KAAK6mB,QACfgsD,EAAWgV,EAAMhV,SAEjB9qE,EAAS8qE,EAAS9qE,OAAS,EAE/B/H,KAAK04B,QAEL7R,EAAQs8C,YAER,IAAK,IAAIn7D,EAAI,EAAGA,EAAID,EAAS,EAAGC,IAChC,CAEI,IAAIe,EAAY,EAAJf,EAERkJ,EAAK2hE,EAAS9pE,GACdqI,EAAKyhE,EAAS9pE,EAAQ,GACtBoJ,EAAK0gE,EAAS9pE,EAAQ,GACtBsI,EAAKwhE,EAAS9pE,EAAQ,GACtBuI,EAAKuhE,EAAS9pE,EAAQ,GACtBqJ,EAAKygE,EAAS9pE,EAAQ,GAE1B8d,EAAQy8C,OAAOpyD,EAAIG,GACnBwV,EAAQ08C,OAAOnyD,EAAIE,GACnBuV,EAAQ08C,OAAOpxD,EAAIC,GAGvByU,EAAQ43C,UAAY,UACpB53C,EAAQ2f,OACR3f,EAAQw8C,aAYZhjE,EAAO01D,KAAKxvD,UAAUwH,UAAY,SAAUwI,GAmBxC,IAAK,IAjBD2W,EAAiB3W,GAAUvW,KAAKktB,eAEhC1d,EAAI0d,EAAe1d,EACnBI,EAAIsd,EAAetd,EACnBI,EAAIkd,EAAeld,EACnBoG,EAAI8W,EAAe9W,EACnB/C,EAAK6Z,EAAe7Z,GACpBC,EAAK4Z,EAAe5Z,GAEpBqhD,GAAQ3+C,EAAAA,EACR4+C,GAAQ5+C,EAAAA,EAERy+C,EAAOz+C,EAAAA,EACP0+C,EAAO1+C,EAAAA,EAEP68D,EAAW7yE,KAAK6yE,SAEX7qE,EAAI,EAAGA,EAAI6qE,EAAS9qE,OAAQC,GAAK,EAC1C,CACI,IAAI8/E,EAAOjV,EAAS7qE,GAChB+/E,EAAOlV,EAAS7qE,EAAI,GACpB7B,EAAKqJ,EAAIs4E,EAAS93E,EAAI+3E,EAAQ10E,EAC9BnG,EAAKkJ,EAAI2xE,EAASn4E,EAAIk4E,EAAQx0E,EAElCmhD,EAAOtuD,EAAIsuD,EAAOtuD,EAAIsuD,EACtBC,EAAOxnD,EAAIwnD,EAAOxnD,EAAIwnD,EAEtBC,EAAOxuD,EAAIwuD,EAAOxuD,EAAIwuD,EACtBC,EAAO1nD,EAAI0nD,EAAO1nD,EAAI0nD,EAG1B,GAAIH,KAAUz+C,EAAAA,GAAY4+C,IAAS5+C,EAAAA,EAE/B,OAAOjQ,KAAK8W,eAGhB,IAAIM,EAASnd,KAAK0rD,QAWlB,OATAvuC,EAAOhX,EAAIsuD,EACXt3C,EAAOtL,MAAQ8iD,EAAOF,EAEtBt3C,EAAOjQ,EAAIwnD,EACXv3C,EAAOrL,OAAS8iD,EAAOF,EAGvB10D,KAAKy6B,eAAiBtd,EAEfA,GAUX1V,OAAOmF,eAAevM,EAAO01D,KAAKxvD,UAAW,mBAEzCmG,IAAK,WAED,OAAO1M,KAAKgoF,kBAIhBr7E,IAAK,SAAUzC,GAEPA,GAA0B,mBAAVA,GAEhBlK,KAAK0kF,qBAAsB,EAC3B1kF,KAAKgoF,iBAAmB99E,IAIxBlK,KAAK0kF,qBAAsB,EAC3B1kF,KAAKgoF,iBAAmB,SAapCvgF,OAAOmF,eAAevM,EAAO01D,KAAKxvD,UAAW,YAEzCmG,IAAK,WAKD,IAAK,IAFD3D,EAAOqI,EAAIE,EAAIa,EAAIC,EAAIP,EAAOC,EAAQuD,EADtCg/D,KAGKrsE,EAAI,EAAGA,EAAIhI,KAAKwZ,OAAOzR,OAAQC,IAEpCe,EAAY,EAAJf,EAERoJ,EAAKpR,KAAK6yE,SAAS9pE,GAAS/I,KAAKgX,MAAM7Q,EACvCmL,EAAKtR,KAAK6yE,SAAS9pE,EAAQ,GAAK/I,KAAKgX,MAAM9J,EAC3CiF,EAAKnS,KAAK6yE,SAAS9pE,EAAQ,GAAK/I,KAAKgX,MAAM7Q,EAC3CiM,EAAKpS,KAAK6yE,SAAS9pE,EAAQ,GAAK/I,KAAKgX,MAAM9J,EAE3C2E,EAAQxR,EAAO4F,KAAKgiF,WAAW72E,EAAIe,GACnCL,EAASzR,EAAO4F,KAAKgiF,WAAW32E,EAAIc,GAEpChB,GAAMpR,KAAKid,MAAM9W,EACjBmL,GAAMtR,KAAKid,MAAM/P,EACjBmI,EAAO,IAAIhV,EAAO2N,UAAUoD,EAAIE,EAAIO,EAAOC,GAC3CuiE,EAAS9/D,KAAKc,GAGlB,OAAOg/D,KA+Dfh0E,EAAO8lC,WAAa,SAAUnpB,EAAM7W,EAAG+G,EAAG2E,EAAOC,EAAQjI,EAAKypB,GAE1DntB,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EACT2E,EAAQA,GAAS,IACjBC,EAASA,GAAU,IACnBjI,EAAMA,GAAO,KACbypB,EAAQA,GAAS,KAEjBvtB,KAAKirB,OAAOhqB,KAAKhH,KAAM,IAAI+F,KAAKktD,QAAQ5yD,EAAOurB,MAAMhmB,QAAQygC,aAAcx0B,EAAOC,GAMlF9R,KAAKoI,KAAO/H,EAAOkB,WAMnBvB,KAAK2wB,YAActwB,EAAOa,OAM1BlB,KAAKkoF,QAAU,IAAI7nF,EAAOoN,MAK1BzN,KAAKmoF,UAAY,IAAI9nF,EAAOoN,MAAM,EAAG,GAKrCzN,KAAKooF,gBAAkB,IAAI/nF,EAAOoN,MAAM,EAAG,GAK3CzN,KAAKqoF,aAAe,IAAIhoF,EAAOoN,MAQ/BzN,KAAKsoF,cAAe,EAOpBtoF,KAAKq1E,aAAe,KAOpBr1E,KAAK6zD,cAAgB,KAOrB7zD,KAAKuoF,YAAc,KAQnBvoF,KAAK8zD,gBAAiB,EAEtB9zD,KAAKwoF,WAAa,EAClBxoF,KAAKyoF,YAAc,EAEnBzoF,KAAKm6B,OAAStoB,EACd7R,KAAKo6B,QAAUtoB,EAEfzR,EAAOwqD,UAAUkB,KAAKlpC,KAAK7b,KAAKhH,KAAMgd,EAAM7W,EAAG+G,EAAGrD,EAAKypB,IAI3DjzB,EAAO8lC,WAAW5/B,UAAYkB,OAAOwb,OAAOld,KAAKirB,OAAOzqB,WACxDlG,EAAO8lC,WAAW5/B,UAAU8B,YAAchI,EAAO8lC,WAEjD9lC,EAAOwqD,UAAUkB,KAAKE,QAAQjlD,KAAK3G,EAAO8lC,WAAW5/B,WACjD,QACA,YACA,WACA,SACA,aACA,UACA,gBACA,SACA,WACA,eACA,UACA,WACA,cACA,UACA,cACA,QACA,aAGJlG,EAAO8lC,WAAW5/B,UAAU6xD,iBAAmB/3D,EAAOwqD,UAAUwB,YAAY5sC,UAC5Epf,EAAO8lC,WAAW5/B,UAAU8xD,kBAAoBh4D,EAAOwqD,UAAUkH,SAAStyC,UAC1Epf,EAAO8lC,WAAW5/B,UAAU+xD,iBAAmBj4D,EAAOwqD,UAAU2G,QAAQ/xC,UACxEpf,EAAO8lC,WAAW5/B,UAAUgyD,cAAgBl4D,EAAOwqD,UAAUkB,KAAKtsC,UASlEpf,EAAO8lC,WAAW5/B,UAAUkZ,UAAY,WAYpC,OAVuB,IAAnBzf,KAAKkoF,QAAQ/hF,IAEbnG,KAAKqoF,aAAaliF,GAAKnG,KAAKkoF,QAAQ/hF,EAAInG,KAAKgd,KAAKmE,KAAKunE,gBAGpC,IAAnB1oF,KAAKkoF,QAAQh7E,IAEblN,KAAKqoF,aAAan7E,GAAKlN,KAAKkoF,QAAQh7E,EAAIlN,KAAKgd,KAAKmE,KAAKunE,mBAGtD1oF,KAAKo4D,oBAAuBp4D,KAAKq4D,qBAAwBr4D,KAAKs4D,qBAK5Dt4D,KAAKu4D,iBAgBhBl4D,EAAO8lC,WAAW5/B,UAAUoiF,WAAa,SAAUxiF,EAAG+G,GAIlD,OAFAlN,KAAKkoF,QAAQv7E,IAAIxG,EAAG+G,GAEblN,MAWXK,EAAO8lC,WAAW5/B,UAAUqiF,WAAa,WAIrC,OAFA5oF,KAAKkoF,QAAQv7E,IAAI,EAAG,GAEb3M,MAYXK,EAAO8lC,WAAW5/B,UAAU+f,QAAU,SAAUwT,GAE5Cz5B,EAAOwqD,UAAUmD,QAAQznD,UAAU+f,QAAQtf,KAAKhH,KAAM85B,GAEtD/zB,KAAKirB,OAAOzqB,UAAU+f,QAAQtf,KAAKhH,MAE/BA,KAAKq1E,eAELr1E,KAAKq1E,aAAa/uD,UAClBtmB,KAAKq1E,aAAe,MAGxBr1E,KAAKmoF,UAAY,KACjBnoF,KAAKooF,gBAAkB,KACvBpoF,KAAKqoF,aAAe,KAEhBroF,KAAK6zD,gBAEL7zD,KAAK6zD,cAAcvtC,SAAQ,GAC3BtmB,KAAK6zD,cAAgB,OAgB7BxzD,EAAO8lC,WAAW5/B,UAAU0b,MAAQ,SAAU9b,EAAG+G,GAO7C,OALA7M,EAAOwqD,UAAUsJ,MAAM5tD,UAAU0b,MAAMjb,KAAKhH,KAAMmG,EAAG+G,GAErDlN,KAAKqoF,aAAaliF,EAAI,EACtBnG,KAAKqoF,aAAan7E,EAAI,EAEflN,MAaXK,EAAO8lC,WAAW5/B,UAAUisD,WAAa,SAAUpsB,GAS/C,OAPIpmC,KAAKomC,UAAYA,IAEjBpmC,KAAKomC,QAAUA,EACfpmC,KAAK8zD,gBAAiB,EACtB9zD,KAAKuhE,WAAa,UAGfvhE,MAYXK,EAAO8lC,WAAW5/B,UAAUi1D,aAAe,SAAUC,GAEjD,GAAKz7D,KAAKqd,SAAYrd,KAAKyuD,YAA6B,IAAfzuD,KAAKygB,MAA9C,CAkBA,GAbIzgB,KAAK6uD,QAEL4M,EAAcjG,YAAY51B,OAC1B67B,EAAcoa,YAAYC,SAAS91E,KAAKwuD,KAAMiN,GAC9CA,EAAcjG,YAAYzkD,SAG1B/Q,KAAK+1E,WAELta,EAAcjG,YAAYqzB,QAC1BptB,EAAcua,cAAcC,WAAWj2E,KAAKk2E,eAG5Cl2E,KAAK8zD,eACT,CAGI,GAFA9zD,KAAK8oF,uBAAsB,EAAMrtB,IAE7Bz7D,KAAK6zD,cAWL,OATI7zD,KAAK6zD,cAAck1B,cAEnB/oF,KAAK6zD,cAAcxtB,YAAYwxC,aAAe73E,KAAKomC,QAAQC,YAAYwxC,aACvEpc,EAAc7gC,SAASqiD,cAAcj9E,KAAK6zD,cAAcxtB,aACxDrmC,KAAK6zD,cAAck1B,aAAc,GAS7CttB,EAAcjG,YAAYwzB,mBAAmBhpF,MAE7C,IAAK,IAAIgI,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAEtChI,KAAKouB,SAASpmB,GAAGwzD,aAAaC,GAGlC,IAAIwtB,GAAe,EAEfjpF,KAAK+1E,WAELkT,GAAe,EACfxtB,EAAcjG,YAAY51B,OAC1B67B,EAAcua,cAAcO,aAG5Bv2E,KAAK6uD,QAEAo6B,GAEDxtB,EAAcjG,YAAY51B,OAG9B67B,EAAcoa,YAAYW,QAAQx2E,KAAK6uD,MAAO4M,IAG9CwtB,GAEAxtB,EAAcjG,YAAYzkD,UAalC1Q,EAAO8lC,WAAW5/B,UAAU01D,cAAgB,SAAUR,GAElD,GAAKz7D,KAAKqd,SAAYrd,KAAKyuD,YAA6B,IAAfzuD,KAAKygB,MAA9C,CAKA,IAAIoG,EAAU40C,EAAc50C,QAExB7mB,KAAK6uD,OAEL4M,EAAcoa,YAAYC,SAAS91E,KAAK6uD,MAAO4M,GAGnD50C,EAAQq1C,YAAcl8D,KAAKuuB,WAE3B,IAAIsX,EAAK7lC,KAAKktB,eACV9C,EAAaqxC,EAAcrxC,WAC3B/W,EAAMwyB,EAAGxyB,GAAK+W,EAAcqxC,EAAca,OAC1ChpD,EAAMuyB,EAAGvyB,GAAK8W,EAAcqxC,EAAcc,OAa9C,GAXA11C,EAAQE,aAAa8e,EAAGr2B,EAAI4a,EAAYyb,EAAGj2B,EAAIwa,EAAYyb,EAAG71B,EAAIoa,EAAYyb,EAAGzvB,EAAIgU,EAAY/W,EAAIC,GAEnF,WAAdtT,KAAK6tD,OAAsB7tD,KAAKomC,QAAQ0nB,gBAAkB9tD,KAAKuhE,aAAevhE,KAAK6tD,OAEnF7tD,KAAKwhE,cAAgBz7D,KAAK07D,aAAaC,iBAAiB1hE,KAAMA,KAAK6tD,MAEnE7tD,KAAKuhE,WAAavhE,KAAK6tD,KACvB7tD,KAAKomC,QAAQ0nB,gBAAiB,EAC9B9tD,KAAK8zD,gBAAiB,GAGtB9zD,KAAK8zD,eACT,CAGI,GAFA9zD,KAAK8oF,uBAAsB,EAAOrtB,IAE9Bz7D,KAAK6zD,cAML,OAJA7zD,KAAKuoF,YAAc1hE,EAAQ+8C,cAAc5jE,KAAK6zD,cAAcxtB,YAAYl4B,OAAQ,UAQxF,IAAI+6E,EAAmBztB,EAAc0a,iBAGjCn2E,KAAKqhE,YAAc5F,EAAc0a,mBAEjC1a,EAAc0a,iBAAmBn2E,KAAKqhE,UACtCx6C,EAAQ4+C,yBAA2B1/D,KAAK4wE,iBAAiBlb,EAAc0a,mBAG3E,IAAIkS,EAAeroF,KAAKqoF,aACpBF,EAAYnoF,KAAKmoF,UAErBE,EAAaliF,GAAKnG,KAAK6zD,cAAcxtB,YAAYx0B,MACjDw2E,EAAan7E,GAAKlN,KAAK6zD,cAAcxtB,YAAYv0B,OAGjD+U,EAAQ7P,MAAMmxE,EAAUhiF,EAAGgiF,EAAUj7E,GACrC2Z,EAAQ9P,UAAUsxE,EAAaliF,EAAKnG,KAAK6rB,OAAO1lB,GAAKnG,KAAKm6B,OAASkuD,EAAan7E,EAAKlN,KAAK6rB,OAAO3e,GAAKlN,KAAKo6B,SAE3GvT,EAAQ43C,UAAYz+D,KAAKuoF,YAEzBl1E,GAAMg1E,EAAaliF,EACnBmN,GAAM+0E,EAAan7E,EAEnB,IAAIi8E,EAAKnpF,KAAKm6B,OAASguD,EAAUhiF,EAC7BijF,EAAKppF,KAAKo6B,QAAU+tD,EAAUj7E,EAG9BuuD,EAAcgB,cAEdppD,GAAM,EACNC,GAAM,EACN61E,GAAM,EACNC,GAAM,GAGVviE,EAAQ63C,SAASrrD,EAAIC,EAAI61E,EAAIC,GAG7BviE,EAAQ7P,MAAM,EAAImxE,EAAUhiF,EAAG,EAAIgiF,EAAUj7E,GAC7C2Z,EAAQ9P,WAAWsxE,EAAaliF,EAAKnG,KAAK6rB,OAAO1lB,EAAInG,KAAKm6B,QAAUkuD,EAAan7E,EAAKlN,KAAK6rB,OAAO3e,EAAIlN,KAAKo6B,SAEvGp6B,KAAK6uD,OAEL4M,EAAcoa,YAAYW,QAAQ/a,GAGtC,IAAK,IAAIzzD,EAAI,EAAGA,EAAIhI,KAAKouB,SAASrmB,OAAQC,IAEtChI,KAAKouB,SAASpmB,GAAGi0D,cAAcR,GAI/BytB,IAAqBlpF,KAAKqhE,YAE1B5F,EAAc0a,iBAAmB+S,EACjCriE,EAAQ4+C,yBAA2B1/D,KAAK4wE,iBAAiBuS,MAYjE7oF,EAAO8lC,WAAW5/B,UAAU8iF,gBAAkB,aAa9ChpF,EAAO8lC,WAAW5/B,UAAUuiF,sBAAwB,SAAUQ,GAE1D,GAAKtpF,KAAKomC,QAAQC,YAAYuxC,UAA9B,CAKA,IAAIxxC,EAAUpmC,KAAKomC,QACf9S,EAAQ8S,EAAQ9S,MAEhBi2D,EAAcvpF,KAAKytD,OAAOiG,aAAe1zD,KAAKytD,OAAO57C,MACrD23E,EAAexpF,KAAKytD,OAAOkG,aAAe3zD,KAAKytD,OAAO37C,OAEtD1C,EAAK,EACLC,EAAK,EAELrP,KAAKytD,OAAO8F,UAEZnkD,EAAKpP,KAAKytD,OAAO+F,kBACjBnkD,EAAKrP,KAAKytD,OAAOgG,mBAGjB61B,IAEAC,EAAclpF,EAAO4F,KAAKwjF,kBAAkBF,GAC5CC,EAAenpF,EAAO4F,KAAKwjF,kBAAkBD,IAG7CxpF,KAAKq1E,cAELr1E,KAAKq1E,aAAah6D,OAAOkuE,EAAaC,GACtCxpF,KAAK6zD,cAAcxtB,YAAYx0B,MAAQ03E,EACvCvpF,KAAK6zD,cAAcxtB,YAAYv0B,OAAS03E,EACxCxpF,KAAK6zD,cAAck1B,aAAc,IAIjC/oF,KAAKq1E,aAAe,IAAItvE,KAAKuvE,aAAaiU,EAAaC,GACvDxpF,KAAK6zD,cAAgB9tD,KAAKktD,QAAQC,WAAWlzD,KAAKq1E,aAAatnD,QAC/D/tB,KAAK6zD,cAAc61B,UAAW,EAC9B1pF,KAAK6zD,cAAck1B,aAAc,GAGjC/oF,KAAKsoF,eAELtoF,KAAKq1E,aAAaxuD,QAAQ48C,YAAc,UACxCzjE,KAAKq1E,aAAaxuD,QAAQiqD,WAAW,EAAG,EAAGyY,EAAaC,IAI5D,IAAIzpE,EAAIqmB,EAAQwQ,KAAK/kC,MACjBlB,EAAIy1B,EAAQwQ,KAAK9kC,OAEjBiO,IAAMwpE,GAAe54E,IAAM64E,IAE3BzpE,EAAIwpE,EACJ54E,EAAI64E,GAGR,IAAIG,EAAgB3pF,KAAKwhE,cAAgBxhE,KAAKwhE,cAAgBp7B,EAAQC,YAAYl4B,OAElFnO,KAAKq1E,aAAaxuD,QAAQmwB,UACtB2yC,EACAvjD,EAAQwQ,KAAKzwC,EACbigC,EAAQwQ,KAAK1pC,EACbk5B,EAAQwQ,KAAK/kC,MACbu0B,EAAQwQ,KAAK9kC,OACb1C,EACAC,EACA0Q,EACApP,GAGJ3Q,KAAKooF,gBAAgBjiF,EAAImtB,EAAMzhB,MAAQ03E,EACvCvpF,KAAKooF,gBAAgBl7E,EAAIomB,EAAMxhB,OAAS03E,EAExCxpF,KAAK8zD,gBAAiB,EAEtB9zD,KAAK6zD,cAAcxtB,YAAYujD,WAAY,IAW/CvpF,EAAO8lC,WAAW5/B,UAAUwH,UAAY,WAEpC,IAAI8D,EAAQ7R,KAAKm6B,OACbroB,EAAS9R,KAAKo6B,QAEdw8C,EAAK/kE,GAAS,EAAI7R,KAAK6rB,OAAO1lB,GAC9B0wE,EAAKhlE,GAAS7R,KAAK6rB,OAAO1lB,EAE1B2wE,EAAKhlE,GAAU,EAAI9R,KAAK6rB,OAAO3e,GAC/B6pE,EAAKjlE,GAAU9R,KAAK6rB,OAAO3e,EAE3BggB,EAAiBltB,KAAKktB,eAEtB1d,EAAI0d,EAAe1d,EACnBI,EAAIsd,EAAetd,EACnBI,EAAIkd,EAAeld,EACnBoG,EAAI8W,EAAe9W,EACnB/C,EAAK6Z,EAAe7Z,GACpBC,EAAK4Z,EAAe5Z,GAEpBlC,EAAM5B,EAAIqnE,EAAO7mE,EAAI+mE,EAAM1jE,EAC3B/B,EAAM8E,EAAI2gE,EAAOnnE,EAAIinE,EAAMvjE,EAE3BnB,EAAM3C,EAAIonE,EAAO5mE,EAAI+mE,EAAM1jE,EAC3BjB,EAAMgE,EAAI2gE,EAAOnnE,EAAIgnE,EAAMtjE,EAE3B0jE,EAAMxnE,EAAIonE,EAAO5mE,EAAI8mE,EAAMzjE,EAC3B4jE,EAAM7gE,EAAI0gE,EAAOlnE,EAAIgnE,EAAMtjE,EAE3B4jE,EAAM1nE,EAAIqnE,EAAK7mE,EAAI8mE,EAAKzjE,EACxB8jE,EAAM/gE,EAAI0gE,EAAKlnE,EAAIinE,EAAKvjE,EAExBqhD,GAAQ3+C,EAAAA,EACR4+C,GAAQ5+C,EAAAA,EAERy+C,EAAOz+C,EAAAA,EACP0+C,EAAO1+C,EAAAA,EAKXy+C,EAAOyiB,GADPziB,EAAOuiB,GADPviB,EAAOtiD,GADPsiD,EAAOrjD,EAAKqjD,EAAOrjD,EAAKqjD,GACLtiD,EAAKsiD,GACLuiB,EAAKviB,GACLyiB,EAAKziB,EAKxBC,EAAOyiB,GADPziB,EAAOuiB,GADPviB,EAAOtiD,GADPsiD,EAAOpjD,EAAKojD,EAAOpjD,EAAKojD,GACLtiD,EAAKsiD,GACLuiB,EAAKviB,GACLyiB,EAAKziB,EAKxBC,EAAOuiB,GADPviB,EAAOqiB,GADPriB,EAAOxiD,GADPwiD,EAAOvjD,EAAKujD,EAAOvjD,EAAKujD,GACLxiD,EAAKwiD,GACLqiB,EAAKriB,GACLuiB,EAAKviB,EAKxBC,EAAOuiB,GADPviB,EAAOqiB,GADPriB,EAAOxiD,GADPwiD,EAAOtjD,EAAKsjD,EAAOtjD,EAAKsjD,GACLxiD,EAAKwiD,GACLqiB,EAAKriB,GACLuiB,EAAKviB,EAGxB,IAAIz3C,EAASnd,KAAK0rD,QAWlB,OATAvuC,EAAOhX,EAAIsuD,EACXt3C,EAAOtL,MAAQ8iD,EAAOF,EAEtBt3C,EAAOjQ,EAAIwnD,EACXv3C,EAAOrL,OAAS8iD,EAAOF,EAGvB10D,KAAKy6B,eAAiBtd,EAEfA,GAUX1V,OAAOmF,eAAevM,EAAO8lC,WAAW5/B,UAAW,SAE/CmG,IAAK,WAED,OAAO1M,KAAKm6B,QAIhBxtB,IAAK,SAAUzC,GAEXlK,KAAKm6B,OAASjwB,KAYtBzC,OAAOmF,eAAevM,EAAO8lC,WAAW5/B,UAAW,UAE/CmG,IAAK,WAED,OAAO1M,KAAKo6B,SAIhBztB,IAAK,SAAUzC,GAEXlK,KAAKo6B,QAAUlwB,KAkBvB7J,EAAO6jC,YAYHjhB,OAAQ,SAAUgJ,EAAQpa,EAAOC,GAE7B,IACIic,EADAyxD,EAAMn/E,EAAO6jC,WAAWpM,WAG5B,IAAa,IAAT0nD,EACJ,CACI,IAAI5zB,GACA3/B,OAAQA,EACR8B,OAAQS,SAASqxD,cAAc,WAGnCx/E,EAAO6jC,WAAW2lD,KAAKt1E,KAAKq3C,GAE5B79B,EAAS69B,EAAU79B,YAInB1tB,EAAO6jC,WAAW2lD,KAAKrK,GAAKvzD,OAASA,EAErC8B,EAAS1tB,EAAO6jC,WAAW2lD,KAAKrK,GAAKzxD,OASzC,YANcxjB,IAAVsH,IAEAkc,EAAOlc,MAAQA,EACfkc,EAAOjc,OAASA,GAGbic,GAWX+J,SAAU,WAIN,IAAK,IAFD+xD,EAAOxpF,EAAO6jC,WAAW2lD,KAEpB7hF,EAAI,EAAGA,EAAI6hF,EAAK9hF,OAAQC,IAE7B,IAAK6hF,EAAK7hF,GAAGikB,OAET,OAAOjkB,EAIf,OAAQ,GAYZsd,OAAQ,SAAU2G,GAId,IAAK,IAFD49D,EAAOxpF,EAAO6jC,WAAW2lD,KAEpB7hF,EAAI,EAAGA,EAAI6hF,EAAK9hF,OAAQC,IAEzB6hF,EAAK7hF,GAAGikB,SAAWA,IAEnB49D,EAAK7hF,GAAGikB,OAAS,KACjB49D,EAAK7hF,GAAG+lB,OAAOlc,MAAQ,EACvBg4E,EAAK7hF,GAAG+lB,OAAOjc,OAAS,IAcpCg4E,eAAgB,SAAU/7D,GAItB,IAAK,IAFD87D,EAAOxpF,EAAO6jC,WAAW2lD,KAEpB7hF,EAAI,EAAGA,EAAI6hF,EAAK9hF,OAAQC,IAEzB6hF,EAAK7hF,GAAG+lB,SAAWA,IAEnB87D,EAAK7hF,GAAGikB,OAAS,KACjB49D,EAAK7hF,GAAG+lB,OAAOlc,MAAQ,EACvBg4E,EAAK7hF,GAAG+lB,OAAOjc,OAAS,IAapCi4E,SAAU,WAKN,IAAK,IAHDF,EAAOxpF,EAAO6jC,WAAW2lD,KACzB75E,EAAI,EAEChI,EAAI,EAAGA,EAAI6hF,EAAK9hF,OAAQC,IAEzB6hF,EAAK7hF,GAAGikB,QAERjc,IAIR,OAAOA,GAWXg6E,QAAS,WAKL,IAAK,IAHDH,EAAOxpF,EAAO6jC,WAAW2lD,KACzB75E,EAAI,EAEChI,EAAI,EAAGA,EAAI6hF,EAAK9hF,OAAQC,IAExB6hF,EAAK7hF,GAAGikB,QAETjc,IAIR,OAAOA,GAWXzH,IAAK,WAEDD,QAAQC,IAAI,yCAA0CvI,KAAK+pF,WAAY/pF,KAAKgqF,UAAWhqF,KAAK6pF,KAAK9hF,UAazG1H,EAAO6jC,WAAW2lD,QAWlBpiF,OAAOmF,eAAevM,EAAO6jC,WAAY,UACrCx3B,IAAK,WACD,OAAO1M,KAAK6pF,KAAK9hF,UAiCzB1H,EAAOg7B,OAAS,WAOZr7B,KAAKiqF,cAAgB,EAOrBjqF,KAAKkqF,aAAc,EAQnBlqF,KAAKmqF,SAAU,EAMfnqF,KAAKkgC,KAAM,EAMXlgC,KAAKoqF,WAAa,EAMlBpqF,KAAKy+B,UAAW,EAMhBz+B,KAAKuvB,aAAc,EAMnBvvB,KAAKigC,SAAU,EAMfjgC,KAAKqqF,MAAO,EAMZrqF,KAAKsqF,YAAa,EAMlBtqF,KAAKuqF,UAAW,EAMhBvqF,KAAKwqF,QAAS,EAMdxqF,KAAKyqF,WAAY,EAMjBzqF,KAAKqoC,SAAU,EAMfroC,KAAK0qF,UAAW,EAMhB1qF,KAAK2qF,OAAQ,EAMb3qF,KAAK4qF,OAAQ,EAMb5qF,KAAK6qF,SAAU,EAMf7qF,KAAK8qF,cAAe,EAQpB9qF,KAAK+tB,QAAS,EAMd/tB,KAAK+qF,kBAAoB,KAOzB/qF,KAAKgrF,gBAAiB,EAUtBhrF,KAAKirF,gBAAiB,EAMtBjrF,KAAKm+B,OAAQ,EAMbn+B,KAAKkrF,MAAO,EAMZlrF,KAAKmrF,YAAa,EAMlBnrF,KAAKorF,cAAe,EAMpBprF,KAAKqrF,QAAS,EAMdrrF,KAAKsrF,OAAQ,EAMbtrF,KAAKqnC,aAAc,EAMnBrnC,KAAKurF,YAAa,EAMlBvrF,KAAKwrF,WAAY,EAMjBxrF,KAAKyrF,cAAe,EAMpBzrF,KAAK0rF,YAAa,EAQlB1rF,KAAKuiC,OAAQ,EAMbviC,KAAKwiC,WAAY,EAOjBxiC,KAAKipC,WAAa,KAQlBjpC,KAAK2rF,OAAQ,EAMb3rF,KAAKsoC,QAAS,EAMdtoC,KAAK4rF,cAAgB,EAMrB5rF,KAAK6rF,UAAW,EAMhB7rF,KAAK8rF,SAAU,EAMf9rF,KAAK+rF,eAAiB,EAMtB/rF,KAAKk+B,IAAK,EAMVl+B,KAAKgsF,UAAY,EAMjBhsF,KAAKisF,SAAU,EAMfjsF,KAAKksF,eAAiB,EAMtBlsF,KAAKiW,MAAO,EAMZjW,KAAKmsF,cAAe,EAMpBnsF,KAAKosF,QAAS,EAMdpsF,KAAKqsF,OAAQ,EAMbrsF,KAAKssF,QAAS,EAMdtsF,KAAKusF,cAAgB,EAMrBvsF,KAAKwsF,QAAS,EAMdxsF,KAAKysF,MAAO,EAQZzsF,KAAK0sF,WAAY,EAMjB1sF,KAAKi+B,UAAW,EAMhBj+B,KAAK2sF,KAAM,EAMX3sF,KAAK4sF,MAAO,EAMZ5sF,KAAK6sF,KAAM,EAMX7sF,KAAK8sF,KAAM,EAOX9sF,KAAK+sF,KAAM,EAMX/sF,KAAKgtF,MAAO,EAMZhtF,KAAKitF,OAAQ,EAQbjtF,KAAKktF,UAAW,EAMhBltF,KAAKmtF,WAAY,EAMjBntF,KAAKotF,UAAW,EAMhBptF,KAAKqtF,WAAY,EAMjBrtF,KAAKstF,UAAW,EAMhBttF,KAAKutF,UAAW,EAQhBvtF,KAAKwtF,QAAS,EAMdxtF,KAAKytF,SAAU,EAMfztF,KAAK0tF,MAAO,EAQZ1tF,KAAK2tF,WAAa,EAMlB3tF,KAAK4tF,cAAe,EAMpB5tF,KAAKwgE,eAAgB,EAMrBxgE,KAAK6tF,cAAe,EAMpB7tF,KAAK8tF,YAAa,EAMlB9tF,KAAK+tF,kBAAoB,GAMzB/tF,KAAKguF,iBAAmB,GAMxBhuF,KAAKiuF,oBAAqB,GAM9B5tF,EAAOg7B,OAAS,IAAIh7B,EAAOg7B,OAc3Bh7B,EAAOg7B,OAAO6yD,cAAgB,IAAI7tF,EAAOud,OAgBzCvd,EAAOg7B,OAAOoB,UAAY,SAAUhJ,EAAU5M,EAASsnE,GAEnD,IAAIC,EAAapuF,KAAKquF,YAEtB,GAAIruF,KAAKiqF,gBAAkBmE,EAEvB36D,EAASzsB,KAAK6f,EAAS7mB,WAEtB,GAAIouF,EAAWE,UAAYH,EAE5BC,EAAWG,OAASH,EAAWG,WAC/BH,EAAWG,OAAOh6E,MAAMkf,EAAU5M,QAGtC,CACIunE,EAAWE,SAAWF,EAAW5nF,KAAKxG,MACtCouF,EAAWG,OAASH,EAAWG,WAC/BH,EAAWG,OAAOh6E,MAAMkf,EAAU5M,IAElC,IAAIoZ,OAAoC,IAAnBh4B,OAAOg4B,QACxBxB,EAAWyb,UAAsB,WAET,aAAxB1rB,SAASggE,YAAqD,gBAAxBhgE,SAASggE,WAG/CvmF,OAAOwmF,WAAWL,EAAWE,SAAU,GAElCruD,IAAYxB,EAIjBjQ,SAASS,iBAAiB,cAAem/D,EAAWE,UAAU,IAI9D9/D,SAASS,iBAAiB,mBAAoBm/D,EAAWE,UAAU,GACnErmF,OAAOgnB,iBAAiB,OAAQm/D,EAAWE,UAAU,MAajEjuF,EAAOg7B,OAAOgzD,YAAc,WAExB,IAAID,EAAapuF,KAAKquF,YAEtB,GAAK7/D,SAAS+D,MAIT,IAAKvyB,KAAKiqF,cACf,CACIjqF,KAAKiqF,cAAgB9/D,KAAKqS,MAE1BhO,SAAS2B,oBAAoB,cAAei+D,EAAWE,UACvD9/D,SAAS2B,oBAAoB,mBAAoBi+D,EAAWE,UAC5DrmF,OAAOkoB,oBAAoB,OAAQi+D,EAAWE,UAE9CtuF,KAAK0uF,cACL1uF,KAAKkqF,aAAc,EAEnBlqF,KAAKkuF,cAAc7sE,SAASrhB,MAG5B,IADA,IAAI2uF,EACIA,EAAOP,EAAWG,OAAOj/C,SACjC,CACI,IAAI7b,EAAWk7D,EAAK,GAChB9nE,EAAU8nE,EAAK,GACnBl7D,EAASzsB,KAAK6f,EAAS7mB,MAI3BA,KAAKquF,YAAc,KACnBruF,KAAK0uF,YAAc,KACnB1uF,KAAKkuF,cAAgB,WA1BrBjmF,OAAOwmF,WAAWL,EAAWE,SAAU,KAsC/CjuF,EAAOg7B,OAAOqzD,YAAc,WAyfxB,SAASE,IAEL,IAAIp/E,EAAI,IAAIytD,YAAY,GACpBrtD,EAAI,IAAIipE,WAAWrpE,GACnBQ,EAAI,IAAI9H,YAAYsH,GAOxB,OALAI,EAAE,GAAK,IACPA,EAAE,GAAK,IACPA,EAAE,GAAK,IACPA,EAAE,GAAK,IAEM,aAATI,EAAE,IAKO,aAATA,EAAE,IAOK,KAUf,SAAS6+E,IAEL,QAA0BtkF,IAAtBukF,kBAEA,OAAO,EAGX,IACInyB,EADOt8D,EAAO6jC,WAAWjhB,OAAOjjB,KAAM,EAAG,GAC9BmkC,WAAW,MAE1B,IAAKw4B,EAED,OAAO,EAGX,IAAIhxC,EAAQgxC,EAAIoyB,gBAAgB,EAAG,GAInC,OAFA1uF,EAAO6jC,WAAW5e,OAAOtlB,MAElB2rB,EAAM4a,gBAAgBuoD,kBA3iBjC,IAAIx/D,EAAStvB,MAKb,WAEI,IAAImV,EAAK+kC,UAAUG,UAEf,mBAAmB0mC,KAAK5rE,GAExBma,EAAO0/D,MAAO,EAET,SAASjO,KAAK5rE,IAAO,kBAAkB4rE,KAAK5rE,IAAO,sBAAsB4rE,KAAK5rE,GAEnFma,EAAO2/D,QAAS,EAIX,UAAUlO,KAAK5rE,GAEpBma,EAAO+Y,SAAU,EAEZ,OAAO04C,KAAK5rE,GAEjBma,EAAOo7D,UAAW,EAEb,kBAAkB3J,KAAK5rE,IAE5Bma,EAAO4Q,KAAM,EACZga,UAAoB,WAAE0Q,MAAM,YAC7Bt7B,EAAO86D,WAAal/E,SAASgkF,OAAOC,GAAI,KAEnC,QAAQpO,KAAK5rE,GAElBma,EAAOq7D,OAAQ,EAEV,SAAS5J,KAAK5rE,GAEnBma,EAAOs7D,OAAQ,EAEV,UAAU7J,KAAK5rE,KAEpBma,EAAOu7D,SAAU,IAGjB,iBAAiB9J,KAAK5rE,IAAO,YAAY4rE,KAAK5rE,MAE9Cma,EAAO+Y,SAAU,EACjB/Y,EAAO4Q,KAAM,EACb5Q,EAAOs7D,OAAQ,EACft7D,EAAOu7D,SAAU,EACjBv7D,EAAOw7D,cAAe,GAG1B,IAAI2B,EAAO,OAAO1L,KAAK5rE,IAEnBma,EAAOu7D,SAAWv7D,EAAOs7D,OAAUt7D,EAAOq7D,QAAU8B,GAASn9D,EAAOo7D,YAEpEp7D,EAAO66D,SAAU,IAIjB76D,EAAOw7D,cAAkB,cAAc/J,KAAK5rE,IAAS,SAAS4rE,KAAK5rE,MAEnEma,EAAO66D,SAAU,GAmjBzBiF,GAxWA,WAEI,IAAIj6E,EAAK+kC,UAAUG,UA4FnB,GA1FI,QAAQ0mC,KAAK5rE,GAEbma,EAAOq8D,OAAQ,EAEV,YAAY5K,KAAK5rE,GAEtBma,EAAOrZ,MAAO,EAET,gBAAgB8qE,KAAK5rE,KAAQma,EAAOw7D,cAEzCx7D,EAAOgZ,QAAS,EAChBhZ,EAAOs8D,cAAgB1gF,SAASgkF,OAAOC,GAAI,KAEtC,WAAWpO,KAAK5rE,GAErBma,EAAOu8D,UAAW,EAEb,kBAAkB9K,KAAK5rE,IAE5Bma,EAAOw8D,SAAU,EACjBx8D,EAAOy8D,eAAiB7gF,SAASgkF,OAAOC,GAAI,KAEvC,cAAcpO,KAAK5rE,IAAOma,EAAO4Q,IAEtC5Q,EAAO68D,cAAe,EAEjB,mBAAmBpL,KAAK5rE,IAE7Bma,EAAO4O,IAAK,EACZ5O,EAAO08D,UAAY9gF,SAASgkF,OAAOC,GAAI,KAElC,SAASpO,KAAK5rE,GAEnBma,EAAO88D,QAAS,EAEX,QAAQrL,KAAK5rE,GAElBma,EAAO+8D,OAAQ,EAEV,gBAAgBtL,KAAK5rE,KAAQma,EAAOw7D,cAEzCx7D,EAAOg9D,QAAS,EAEZ,mBAAmBvL,KAAK5rE,KAExBma,EAAOi9D,cAAgBrhF,SAASgkF,OAAOC,GAAI,MAG1C,uCAAuCpO,KAAK5rE,KAEjDma,EAAO4O,IAAK,EACZ5O,EAAO28D,SAAU,EACjB38D,EAAO48D,eAAiBhhF,SAASgkF,OAAOC,GAAI,IAC5C7/D,EAAO08D,UAAY9gF,SAASgkF,OAAOG,GAAI,KAIvC,OAAOtO,KAAK5rE,KAEZma,EAAOm9D,MAAO,GAIdvyC,UAAsB,aAEtB5qB,EAAOk9D,QAAS,QAGU,IAAnBvkF,OAAOg4B,UAEd3Q,EAAO2Q,SAAU,GAGE,oBAAZqvD,SAA8C,oBAAZC,UAEzCjgE,EAAO+6D,MAAO,GAGd/6D,EAAO+6D,MAAoC,iBAArBiF,QAAQE,WAE9BlgE,EAAOg7D,aAAegF,QAAQE,SAAS,eAEvClgE,EAAOi7D,WAAa+E,QAAQE,SAASjF,UAGrCrwC,UAAsB,aAEtB5qB,EAAOmP,UAAW,GAGlBnP,EAAOmP,SAEP,IACInP,EAAOC,YAAmC,oBAAbC,SAEjC,MAAMigE,GAEFngE,EAAOC,aAAc,OAIA,IAAlBtnB,OAAOuiF,SAEdl7D,EAAOk7D,QAAS,GAGhB,YAAYzJ,KAAK5rE,KAEjBma,EAAOm7D,WAAY,GAyP3BiF,GAxMA,WAEIpgE,EAAOo9D,YAAezkF,OAAe,MACrCqnB,EAAO2O,YAAch2B,OAAqB,eAAKA,OAA2B,oBAC1E,IAAI0nF,EAAenhE,SAASqxD,cAAc,SAG1C,IACI,GAAe8P,EAAaC,cAEpBD,EAAaC,YAAY,8BAA8BrjF,QAAQ,OAAQ,MAEvE+iB,EAAOq9D,KAAM,IAGbgD,EAAaC,YAAY,4BAA4BrjF,QAAQ,OAAQ,KAAOojF,EAAaC,YAAY,eAAerjF,QAAQ,OAAQ,OAEpI+iB,EAAOs9D,MAAO,GAGd+C,EAAaC,YAAY,eAAerjF,QAAQ,OAAQ,MAExD+iB,EAAOu9D,KAAM,GAMb8C,EAAaC,YAAY,yBAAyBrjF,QAAQ,OAAQ,MAElE+iB,EAAOw9D,KAAM,IAGb6C,EAAaC,YAAY,iBAAmBD,EAAaC,YAAY,cAAcrjF,QAAQ,OAAQ,OAEnG+iB,EAAOy9D,KAAM,GAGb4C,EAAaC,YAAY,+BAA+BrjF,QAAQ,OAAQ,MAExE+iB,EAAO09D,MAAO,GAG0C,KAAxD2C,EAAaC,YAAY,4BAEzB,GAAItgE,EAAOrZ,KAEPqZ,EAAO29D,OAAQ,OAEd,GAAI39D,EAAOg9D,QAAUh9D,EAAOi9D,eAAiB,GAE1C,uBAAuBxL,KAAK7mC,UAAUG,WAC1C,CACI,IAAIw1C,EAAQ3kF,SAASgkF,OAAOC,GAAI,IAC5BW,EAAQ5kF,SAASgkF,OAAOa,GAAI,KAEjB,KAAVF,GAAgBC,GAAS,IAAOD,EAAQ,MAEzCvgE,EAAO29D,OAAQ,IAMrC,MAAOphF,KAyIbmkF,GAlPA,WAEI,IAAIC,EAAezhE,SAASqxD,cAAc,SAG1C,MACmBoQ,EAAaL,cAEpBK,EAAaL,YAAY,8BAA8BrjF,QAAQ,OAAQ,MAEvE+iB,EAAO49D,UAAW,GAGlB+C,EAAaL,YAAY,mCAAmCrjF,QAAQ,OAAQ,MAG5E+iB,EAAO69D,WAAY,EACnB79D,EAAO89D,UAAW,GAGlB6C,EAAaL,YAAY,oCAAoCrjF,QAAQ,OAAQ,MAE7E+iB,EAAO+9D,WAAY,GAGnB4C,EAAaL,YAAY,4BAA4BrjF,QAAQ,OAAQ,MAErE+iB,EAAOg+D,UAAW,GAGlB2C,EAAaL,YAAY,+CAA+CrjF,QAAQ,OAAQ,MAExF+iB,EAAOi+D,UAAW,IAG5B,MAAO1hF,KAgNbqkF,GAjCA,WAEI,IACIC,EADAC,EAAK5hE,SAASqxD,cAAc,KAE5BwQ,GACAC,gBAAmB,oBACnBC,WAAc,eACdC,YAAe,gBACfC,aAAgB,iBAChBr0B,UAAa,aAIjB5tC,SAAS+D,KAAKm+D,aAAaN,EAAI,MAE/B,IAAK,IAAIvoF,KAAKwoF,OAEU9lF,IAAhB6lF,EAAGzwE,MAAM9X,KAETuoF,EAAGzwE,MAAM9X,GAAK,2BACdsoF,EAAQloF,OAAO0oF,iBAAiBP,GAAIQ,iBAAiBP,EAAWxoF,KAIxE2mB,SAAS+D,KAAKyC,YAAYo7D,GAC1B9gE,EAAOg8D,WAAmB/gF,IAAV4lF,GAAuBA,EAAMpoF,OAAS,GAAe,SAAVooF,EAS/DU,GApEIvhE,EAAOq+D,WAAa1lF,OAAyB,kBAAK,EAClDqnB,EAAOk+D,QAAkE,IAAzDtzC,UAAUG,UAAUpL,cAAchc,QAAQ,UAC1D3D,EAAOm+D,QAAiC,IAAtBn+D,EAAOq+D,YAAoBr+D,EAAOk+D,OACpDl+D,EAAOo+D,MAA8D,IAAvDxzC,UAAUG,UAAUpL,cAAchc,QAAQ,QAE/B,oBAAd69D,UAEPxhE,EAAOi8D,YAAa,EAIpBj8D,EAAOi8D,YAAa,EAGG,oBAAhBtuB,aAAqD,oBAAf4b,YAAqD,oBAAhB3wE,cAElFonB,EAAOs+D,aAAegB,IACtBt/D,EAAOkxC,cAAgBlxC,EAAOs+D,cAGlCt+D,EAAOu+D,aAAuC,oBAAhB5wB,aAA4D,oBAAtB6xB,mBAA2D,oBAAfiC,YAAsD,OAAxBzhE,EAAOs+D,cAAyBiB,IAE9K30C,UAAU82C,QAAU92C,UAAU82C,SAAW92C,UAAU+2C,eAAiB/2C,UAAUg3C,YAAch3C,UAAUi3C,UAElGj3C,UAAU82C,UAEV1hE,EAAOk8D,WAAY,GAxd3B,WAEIl8D,EAAOvB,SAAW9lB,OAAiC,0BAAKqnB,EAAOmP,SAE/D,IACInP,EAAO87D,eAAiBA,aAAagG,QACvC,MAAO3B,GACLngE,EAAO87D,cAAe,EAG1B97D,EAAO47D,QAASjjF,OAAa,MAAOA,OAAmB,YAAOA,OAAiB,UAAOA,OAAa,MACnGqnB,EAAO67D,aAAeljF,OAA0B,kBAEhDqnB,EAAO6O,MAAQ,WAAgB,IAAM,IAAIpQ,EAASS,SAASqxD,cAAe,UAAyE,OAA7B9xD,EAAO2Q,cAAe,IAAiBz2B,OAAOopF,wBAA2BtjE,EAAOoW,WAAY,UAAapW,EAAOoW,WAAY,uBAA4B,MAAOt4B,GAAM,OAAO,GAAnR,GACfyjB,EAAO6O,QAAU7O,EAAO6O,MAExB7O,EAAO+7D,SAAWpjF,OAAe,OAEjCqnB,EAAO+X,YAAc,uBAAwB7Y,UAAY,0BAA2BA,UAAY,6BAA8BA,SAE9Hc,EAAOo8D,WAAsC,eAAxBl9D,SAAS8iE,WAE9Bp3C,UAAUuxC,aAAevxC,UAAUuxC,cAAgBvxC,UAAUq3C,oBAAsBr3C,UAAUs3C,iBAAmBt3C,UAAUu3C,gBAAkBv3C,UAAUw3C,cAEtJzpF,OAAO0pF,IAAM1pF,OAAO0pF,KAAO1pF,OAAO2pF,WAAa3pF,OAAO4pF,QAAU5pF,OAAO6pF,MAEvExiE,EAAOm8D,aAAen8D,EAAOm8D,gBAAkBvxC,UAAUuxC,gBAAkBxjF,OAAO0pF,IAG9EriE,EAAOw8D,SAAWx8D,EAAOy8D,eAAiB,KAE1Cz8D,EAAOm8D,cAAe,IAOrBn8D,EAAO4Q,MAAQ5Q,EAAO4O,IAAM5O,EAAOw8D,SAAWx8D,EAAOgZ,UAEtDhZ,EAAOy7D,mBAAoB,IAI3Bz7D,EAAOg9D,QAAUh9D,EAAO68D,gBAExB78D,EAAOy7D,mBAAoB,GAsdnCgH,GA/iBA,WAEI,IAAIhkE,EAAS1tB,EAAO6jC,WAAWjhB,OAAOjjB,KAAM,EAAG,GAC3C6mB,EAAUkH,EAAOoW,WAAW,MAEhCtd,EAAQ43C,UAAY,wBAGpB53C,EAAQ63C,SAAS,EAAG,EAAG,EAAG,GAG1B,IAAIszB,EAAKnrE,EAAQowB,aAAa,EAAG,EAAG,EAAG,GAEvC,GAAI+6C,EACJ,CAEInrE,EAAQw4C,aAAa2yB,EAAI,EAAG,GAG5B,IAAIC,EAAKprE,EAAQowB,aAAa,EAAG,EAAG,EAAG,GAGvC3nB,EAAO07D,eACHiH,EAAG1rD,KAAK,KAAOyrD,EAAGzrD,KAAK,IACvB0rD,EAAG1rD,KAAK,KAAOyrD,EAAGzrD,KAAK,IACvB0rD,EAAG1rD,KAAK,KAAOyrD,EAAGzrD,KAAK,IACvB0rD,EAAG1rD,KAAK,KAAOyrD,EAAGzrD,KAAK,GAK/B1f,EAAQ4+C,yBAA2B,WACnCn2C,EAAO27D,eAAuD,aAArCpkE,EAAQ4+C,yBAEjCplE,EAAO6jC,WAAW4lD,eAAe/7D,GAEjChoB,KAAK07D,aAAaywB,WAAc5iE,EAAqB,eAAIvpB,KAAK07D,aAAa0wB,iBAAmBpsF,KAAK07D,aAAa2wB,iBA4gBpHC,GA1aA,WAeI,IAAK,IAbDC,GACA,oBACA,oBACA,0BACA,0BACA,sBACA,sBACA,uBACA,wBAGA9oD,EAAUhb,SAASqxD,cAAc,OAE5B73E,EAAI,EAAGA,EAAIsqF,EAAGvqF,OAAQC,IAE3B,GAAIwhC,EAAQ8oD,EAAGtqF,IACf,CACIsnB,EAAOw+D,YAAa,EACpBx+D,EAAOy+D,kBAAoBuE,EAAGtqF,GAC9B,MAIR,IAAIuqF,GACA,mBACA,iBACA,yBACA,uBACA,qBACA,mBACA,sBACA,qBAGJ,GAAIjjE,EAAOw+D,WAEP,IAAS9lF,EAAI,EAAGA,EAAIuqF,EAAIxqF,OAAQC,IAE5B,GAAIwmB,SAAS+jE,EAAIvqF,IACjB,CACIsnB,EAAO0+D,iBAAmBuE,EAAIvqF,GAC9B,MAMRC,OAAgB,SAAKuqF,QAA8B,uBAEnDljE,EAAO2+D,oBAAqB,GAwXpCwE,IA9cQ,iBAAkBjkE,SAASkkE,iBAAoBzqF,OAAOiyC,UAAUy4C,gBAAkB1qF,OAAOiyC,UAAUy4C,gBAAkB,KAErHrjE,EAAOiT,OAAQ,IAGft6B,OAAO2qF,cAAgB3qF,OAAO4qF,gBAAkB5qF,OAAOiyC,UAAU44C,kBAAoB7qF,OAAOiyC,UAAU64C,kBAEtGzjE,EAAOkT,WAAY,GAGlBlT,EAAOmP,WAGJ,YAAax2B,QAAWqnB,EAAO4O,IAAM,eAAgBj2B,OAGrDqnB,EAAO2Z,WAAa,QAEf,iBAAkBhhC,OAGvBqnB,EAAO2Z,WAAa,aAEf3Z,EAAOw8D,SAAW,qBAAsB7jF,SAG7CqnB,EAAO2Z,WAAa,oBAicpC5oC,EAAOg7B,OAAO23D,aAAe,SAAU5qF,GAEnC,QAAa,QAATA,IAAkBpI,KAAK6sF,SAIT,QAATzkF,IAAmBpI,KAAK2sF,MAAO3sF,KAAK4sF,UAI3B,QAATxkF,IAAkBpI,KAAK+sF,SAId,SAAT3kF,IAAmBpI,KAAK4sF,UAIf,QAATxkF,IAAkBpI,KAAK8sF,SAId,SAAT1kF,IAAmBpI,KAAKgtF,SAIf,QAAT5kF,IAAkBpI,KAAKitF,aAiBpC5sF,EAAOg7B,OAAO43D,aAAe,SAAU7qF,GAEnC,QAAa,SAATA,IAAoBpI,KAAKqtF,YAAartF,KAAKstF,cAI7B,QAATllF,IAAmBpI,KAAKotF,WAAYptF,KAAKmtF,eAI/B,QAAT/kF,GAA2B,QAATA,IAAmBpI,KAAKktF,aAIlC,SAAT9kF,IAAmBpI,KAAKutF,aAgBrCltF,EAAOg7B,OAAO63D,iBAAmB,WAC7B,UAAWlzF,KAAKy+B,WAAaz+B,KAAKkgC,KAAOlgC,KAAKqoC,UAAapgC,OAAOkrF,cAAgBlrF,OAAOkrF,aAAaC,mBAW1G/yF,EAAOg7B,OAAOg4D,cAAgB,WAI1B,OAFA/qF,QAAQG,KAAK,mEAEN,GAgBXpI,EAAOg7B,OAAOi4D,sBAAwB,WAElC,IAAIC,EAAUtrF,OAAOiyC,UAAUG,UAAUuQ,MAAM,kCAC/C,OAAO2oC,GAAWA,EAAQ,GAAK,KAiBnClzF,EAAO2tB,QAaH/K,OAAQ,SAAUgJ,EAAQpa,EAAOC,EAAQgF,EAAI4lD,GAEzC7qD,EAAQA,GAAS,IACjBC,EAASA,GAAU,IAEnB,IAAIic,EAAS,EAAaS,SAASqxD,cAAc,UAAYx/E,EAAO6jC,WAAWjhB,OAAOgJ,EAAQpa,EAAOC,GAWrG,MATkB,iBAAPgF,GAA0B,KAAPA,IAE1BiX,EAAOjX,GAAKA,GAGhBiX,EAAOlc,MAAQA,EACfkc,EAAOjc,OAASA,EAChBic,EAAOpO,MAAM6zE,QAAU,QAEhBzlE,GAYXH,mBAAoB,SAAUG,EAAQvN,GAMlC,OAJAA,EAAQA,GAAS,aAEjBuN,EAAOpO,MAAM66D,gBAAkBh6D,EAExBuN,GAYXG,eAAgB,SAAUH,EAAQ7jB,GAQ9B,OANAA,EAAQA,GAAS,OAEjB6jB,EAAOpO,MAAM8zE,cAAgBvpF,EAC7B6jB,EAAOpO,MAAM,mBAAqBzV,EAClC6jB,EAAOpO,MAAM,gBAAkBzV,EAExB6jB,GAYXE,cAAe,SAAUF,EAAQ7jB,GAY7B,OAVAA,EAAQA,GAAS,OAEjB6jB,EAAOpO,MAAM,yBAA2BzV,EACxC6jB,EAAOpO,MAAM,uBAAyBzV,EACtC6jB,EAAOpO,MAAM,sBAAwBzV,EACrC6jB,EAAOpO,MAAM,oBAAsBzV,EACnC6jB,EAAOpO,MAAM,mBAAqBzV,EAClC6jB,EAAOpO,MAAM,eAAiBzV,EAC9B6jB,EAAOpO,MAAM,+BAAiC,mBAEvCoO,GAcX6Q,SAAU,SAAU7Q,EAAQ9B,EAAQynE,GAEhC,IAAIxsF,EA+BJ,YA7BuBqD,IAAnBmpF,IAAgCA,GAAiB,GAEjDznE,IAEsB,iBAAXA,EAGP/kB,EAASsnB,SAASmlE,eAAe1nE,GAEV,iBAAXA,GAA2C,IAApBA,EAAOrgB,WAG1C1E,EAAS+kB,IAKZ/kB,IAEDA,EAASsnB,SAAS+D,MAGlBmhE,GAAkBxsF,EAAOyY,QAEzBzY,EAAOyY,MAAMi0E,SAAW,UAG5B1sF,EAAO2sF,YAAY9lE,GAEZA,GAUX8R,cAAe,SAAU9R,GAEjBA,EAAO+lE,YAEP/lE,EAAO+lE,WAAW9+D,YAAYjH,IAkBtChH,aAAc,SAAUF,EAAS8+C,EAAYC,EAAY3E,EAAQC,EAAQ2E,EAAOC,GAI5E,OAFAj/C,EAAQE,aAAak6C,EAAQ4E,EAAOC,EAAO5E,EAAQyE,EAAYC,GAExD/+C,GAgBX2+C,oBAAqB,SAAU3+C,EAAS3c,GAEpC,IAAIgP,EAAI7Y,EAAO2tB,OAAO6uC,mBAAmBh2C,GAOzC,OALI3N,IAEA2N,EAAQ3N,GAAKhP,GAGV2c,GAWXg2C,mBAAoB,SAAUh2C,GAE1B,IAAIktE,GAAW,IAAK,UAAW,MAAO,OAAQ,MAE9C,IAAK,IAAIC,KAAUD,EACnB,CACI,IAAI76E,EAAI66E,EAAOC,GAAU,uBAEzB,GAAI96E,KAAK2N,EAEL,OAAO3N,EAIf,OAAO,MAWXqsD,oBAAqB,SAAU1+C,GAE3B,IAAI3N,EAAI7Y,EAAO2tB,OAAO6uC,mBAAmBh2C,GAEzC,GAAI3N,EAEA,OAAO2N,EAAQ3N,IAavB+6E,uBAAwB,SAAUlmE,GAI9B,IAAK,IAFDmmE,GAAU,gBAAiB,cAAe,mBAAoB,4BAA6B,oBAAqB,aAE3GlsF,EAAI,EAAGA,EAAIksF,EAAMnsF,OAAQC,IAE9B+lB,EAAOpO,MAAM,mBAAqBu0E,EAAMlsF,GAK5C,OAFA+lB,EAAOpO,MAAMw0E,oBAAsB,mBAE5BpmE,GAYXqmE,yBAA0B,SAAUrmE,GAKhC,OAHAA,EAAOpO,MAAM,mBAAqB,OAClCoO,EAAOpO,MAAMw0E,oBAAsB,UAE5BpmE,IAoBf1tB,EAAOq9B,sBAAwB,SAAS1gB,EAAMq3E,QAElB9pF,IAApB8pF,IAAiCA,GAAkB,GAKvDr0F,KAAKgd,KAAOA,EAMZhd,KAAKk7B,WAAY,EAKjBl7B,KAAKq0F,gBAAkBA,EASvB,IAAK,IAPDC,GACA,KACA,MACA,SACA,KAGKnuF,EAAI,EAAGA,EAAImuF,EAAQvsF,SAAWE,OAAOssF,sBAAuBpuF,IAEjE8B,OAAOssF,sBAAwBtsF,OAAOqsF,EAAQnuF,GAAK,yBACnD8B,OAAOusF,qBAAuBvsF,OAAOqsF,EAAQnuF,GAAK,yBAA2B8B,OAAOqsF,EAAQnuF,GAAK,+BAOrGnG,KAAKy0F,eAAgB,EAMrBz0F,KAAK00F,QAAU,KAMf10F,KAAK20F,WAAa,MAItBt0F,EAAOq9B,sBAAsBn3B,WAMzBwK,MAAO,WAEH/Q,KAAKk7B,WAAY,EAEjB,IAAIlS,EAAQhpB,MAEPiI,OAAOssF,uBAAyBv0F,KAAKq0F,iBAEtCr0F,KAAKy0F,eAAgB,EAErBz0F,KAAK00F,QAAU,WACX,OAAO1rE,EAAM4rE,oBAGjB50F,KAAK20F,WAAa1sF,OAAOwmF,WAAWzuF,KAAK00F,QAAS,KAIlD10F,KAAKy0F,eAAgB,EAErBz0F,KAAK00F,QAAU,SAAUvzE,GACrB,OAAO6H,EAAM6rE,UAAU1zE,IAG3BnhB,KAAK20F,WAAa1sF,OAAOssF,sBAAsBv0F,KAAK00F,WAS5DG,UAAW,SAAUC,GAEb90F,KAAKk7B,YAGLl7B,KAAKgd,KAAK+D,OAAO9a,KAAKI,MAAMyuF,IAE5B90F,KAAK20F,WAAa1sF,OAAOssF,sBAAsBv0F,KAAK00F,WAS5DE,iBAAkB,WAEV50F,KAAKk7B,YAELl7B,KAAKgd,KAAK+D,OAAOoJ,KAAKqS,OAEtBx8B,KAAK20F,WAAa1sF,OAAOwmF,WAAWzuF,KAAK00F,QAAS10F,KAAKgd,KAAKmE,KAAK4zE,cASzEn1D,KAAM,WAEE5/B,KAAKy0F,cAELO,aAAah1F,KAAK20F,YAIlB1sF,OAAOusF,qBAAqBx0F,KAAK20F,YAGrC30F,KAAKk7B,WAAY,GASrB+5D,aAAc,WACV,OAAOj1F,KAAKy0F,eAQhBS,MAAO,WACH,OAA+B,IAAvBl1F,KAAKy0F,gBAKrBp0F,EAAOq9B,sBAAsBn3B,UAAU8B,YAAchI,EAAOq9B,sBAkB5Dr9B,EAAO4F,MAOHgJ,IAAe,EAAVhJ,KAAKsH,GAOV4nF,QAAmB,GAAVlvF,KAAKsH,GAMd6nF,WAAYnvF,KAAKsH,GAAK,IAMtB8nF,WAAY,IAAMpvF,KAAKsH,GASvBuC,SAAU,SAAUwlF,GAEhB,OAAOA,EAAUj1F,EAAO4F,KAAKmvF,YAWjCj9E,SAAU,SAAUo9E,GAEhB,OAAOA,EAAUl1F,EAAO4F,KAAKovF,YAYjC5L,kBAAmB,SAAUv/E,GAEzB,GAAIA,EAAQ,GAA+B,IAAzBA,EAASA,EAAQ,GAG/B,OAAOA,EAMP,IAFA,IAAI8I,EAAS,EAENA,EAAS9I,GAEZ8I,IAAW,EAGf,OAAOA,GAafwiF,aAAc,SAAU3jF,EAAOC,GAE3B,OAAQD,EAAQ,GAA+B,IAAzBA,EAASA,EAAQ,IAAaC,EAAS,GAAiC,IAA3BA,EAAUA,EAAS,IAa1FtH,OAAQ,SAAUoJ,EAAKE,GAKnB,QAHYvJ,IAARqJ,IAAqBA,EAAM,QACnBrJ,IAARuJ,IAAqBA,EAAM,GAE3BF,IAAQE,EAER,OAAOF,EAGX,GAAIA,EAAME,EACV,CACI,IAAI2hF,EAAO7hF,EACXA,EAAME,EACNA,EAAM2hF,EAGV,OAAQxvF,KAAKuE,UAAYsJ,EAAMF,GAAOA,GAa1C8mB,QAAS,SAAU9mB,EAAKE,GAKpB,QAHYvJ,IAARqJ,IAAqBA,EAAM,QACnBrJ,IAARuJ,IAAqBA,EAAM,GAE3BF,IAAQE,EAER,OAAOF,EAGX,GAAIA,EAAME,EACV,CACI,IAAI2hF,EAAO7hF,EACXA,EAAME,EACNA,EAAM2hF,EAMV,OAHA7hF,EAAM3N,KAAKG,KAAKwN,GAChBE,EAAM7N,KAAKI,MAAMyN,GAEV7N,KAAKI,MAAMJ,KAAKuE,UAAYsJ,EAAMF,EAAM,IAAMA,GAazDF,WAAY,SAAUlE,EAAGI,EAAG6D,GAIxB,YAFgBlJ,IAAZkJ,IAAyBA,EAAU,MAEhCxN,KAAKiK,IAAIV,EAAII,GAAK6D,GAa7BiiF,cAAe,SAAUlmF,EAAGI,EAAG6D,GAI3B,YAFgBlJ,IAAZkJ,IAAyBA,EAAU,MAEhCjE,EAAII,EAAI6D,GAanBkiF,iBAAkB,SAAUnmF,EAAGI,EAAG6D,GAI9B,YAFgBlJ,IAAZkJ,IAAyBA,EAAU,MAEhCjE,EAAII,EAAI6D,GAYnBmiF,UAAW,SAAUhsF,EAAK6J,GAItB,YAFgBlJ,IAAZkJ,IAAyBA,EAAU,MAEhCxN,KAAKG,KAAKwD,EAAM6J,IAY3BoiF,WAAY,SAAUjsF,EAAK6J,GAIvB,YAFgBlJ,IAAZkJ,IAAyBA,EAAU,MAEhCxN,KAAKI,MAAMuD,EAAM6J,IAW5BqiF,QAAS,WAKL,IAAK,IAHDlvB,EAAM,EACN9+D,EAAMb,UAAUc,OAEXC,EAAI,EAAGA,EAAIF,EAAKE,IAErB4+D,IAAS3/D,UAAUe,GAGvB,OAAO4+D,EAAM9+D,GASjBiuF,MAAO,SAAU/kF,GAEb,OAAOA,EAAI,GAefglF,OAAQ,SAAU1zE,EAAO2zE,EAAKllF,GAI1B,YAFcxG,IAAVwG,IAAuBA,EAAQ,GAEvB,IAARklF,EACO3zE,GAGXA,GAASvR,EACTuR,EAAQ2zE,EAAMhwF,KAAKsI,MAAM+T,EAAQ2zE,GAE1BllF,EAAQuR,IAgBnB4zE,YAAa,SAAU5zE,EAAO2zE,EAAKllF,GAI/B,YAFcxG,IAAVwG,IAAuBA,EAAQ,GAEvB,IAARklF,EACO3zE,GAGXA,GAASvR,EACTuR,EAAQ2zE,EAAMhwF,KAAKI,MAAMic,EAAQ2zE,GAE1BllF,EAAQuR,IAgBnB65D,WAAY,SAAU75D,EAAO2zE,EAAKllF,GAI9B,YAFcxG,IAAVwG,IAAuBA,EAAQ,GAEvB,IAARklF,EACO3zE,GAGXA,GAASvR,EACTuR,EAAQ2zE,EAAMhwF,KAAKG,KAAKkc,EAAQ2zE,GAEzBllF,EAAQuR,IAuCnB6zE,QAAS,SAAUjsF,EAAOksF,EAAO/iC,QAEf9oD,IAAV6rF,IAAuBA,EAAQ,QACtB7rF,IAAT8oD,IAAsBA,EAAO,IAEjC,IAAIthD,EAAI9L,KAAKowF,IAAIhjC,GAAO+iC,GAExB,OAAOnwF,KAAKsI,MAAMrE,EAAQ6H,GAAKA,GAcnCukF,QAAS,SAAUpsF,EAAOksF,EAAO/iC,QAEf9oD,IAAV6rF,IAAuBA,EAAQ,QACtB7rF,IAAT8oD,IAAsBA,EAAO,IAEjC,IAAIthD,EAAI9L,KAAKowF,IAAIhjC,GAAO+iC,GAExB,OAAOnwF,KAAKI,MAAM6D,EAAQ6H,GAAKA,GAcnCwkF,OAAQ,SAAUrsF,EAAOksF,EAAO/iC,QAEd9oD,IAAV6rF,IAAuBA,EAAQ,QACtB7rF,IAAT8oD,IAAsBA,EAAO,IAEjC,IAAIthD,EAAI9L,KAAKowF,IAAIhjC,GAAO+iC,GAExB,OAAOnwF,KAAKG,KAAK8D,EAAQ6H,GAAKA,GAclCykF,cAAe,SAAUC,EAAcC,EAAah5E,GAIhD,YAFanT,IAATmT,IAAsBA,EAAO,KAE7B+4E,IAAiBC,EAEVD,GAGPxwF,KAAKiK,IAAIwmF,EAAcD,IAAiB/4E,GAAQzX,KAAKiK,IAAIwmF,EAAcD,IAAkBp2F,EAAO4F,KAAKgJ,IAAMyO,EAE3G+4E,EAAeC,GAIXzwF,KAAKiK,IAAIwmF,EAAcD,GAAgBxwF,KAAKsH,KAExCmpF,EAAcD,EAEdC,GAAer2F,EAAO4F,KAAKgJ,IAI3BynF,GAAer2F,EAAO4F,KAAKgJ,KAI/BynF,EAAcD,EAEdA,GAAgB/4E,EAEXg5E,EAAcD,IAEnBA,GAAgB/4E,IAIjB+4E,IAmBXE,iBAAkB,SAAUC,EAAQC,GAEhC,IAAI5O,EAAa4O,EAASD,EAE1B,OAAmB,IAAf3O,EAEO,EAKJA,EAAsB,IAFjBhiF,KAAKI,OAAO4hF,IAAe,KAAQ,MAgBnD6O,aAAc,SAAU1lF,EAAIE,EAAIa,EAAIC,GAEhC,OAAOnM,KAAKwO,MAAMrC,EAAKd,EAAIa,EAAKf,IAiBpC2lF,cAAe,SAAU3lF,EAAIE,EAAIa,EAAIC,GAEjC,OAAOnM,KAAKwO,MAAMtC,EAAKf,EAAIgB,EAAKd,IAYpC0lF,mBAAoB,SAAUlkB,EAAQC,GAElC,OAAO9sE,KAAKwO,MAAMs+D,EAAO7lE,EAAI4lE,EAAO5lE,EAAG6lE,EAAO5sE,EAAI2sE,EAAO3sE,IAW7D8wF,oBAAqB,SAAUnkB,EAAQC,GAEnC,OAAO9sE,KAAKwO,MAAMs+D,EAAO5sE,EAAI2sE,EAAO3sE,EAAG4sE,EAAO7lE,EAAI4lE,EAAO5lE,IAU7DgqF,aAAc,SAAUC,GAEpB,OAAOn3F,KAAKo3F,eAAeD,EAAWlxF,KAAKsH,IAAI,IAUnD6pF,eAAgB,SAAUD,GAGtB,OADAA,GAAuB,EAAIlxF,KAAKsH,KACb,EAAI4pF,EAAWA,EAAW,EAAIlxF,KAAKsH,IAa1D8pF,OAAQ,SAAUntF,EAAO0rB,EAAQ9hB,GAE7B,OAAO7N,KAAK2N,IAAI1J,EAAQ0rB,EAAQ9hB,IAapCwjF,OAAQ,SAAUptF,EAAO0rB,EAAQhiB,GAE7B,OAAO3N,KAAK6N,IAAI5J,EAAQ0rB,EAAQhiB,IAepCc,KAAM,SAAUxK,EAAO0J,EAAKE,GAExB,IAAIyjF,EAAQzjF,EAAMF,EAElB,GAAI2jF,GAAS,EAET,OAAO,EAGX,IAAIvkF,GAAU9I,EAAQ0J,GAAO2jF,EAO7B,OALIvkF,EAAS,IAETA,GAAUukF,GAGPvkF,EAASY,GAepB4jF,UAAW,SAAUttF,EAAO0rB,EAAQ9hB,GAQhC,OALA5J,EAAQjE,KAAKiK,IAAIhG,GACjB0rB,EAAS3vB,KAAKiK,IAAI0lB,GAClB9hB,EAAM7N,KAAKiK,IAAI4D,IACP5J,EAAQ0rB,GAAU9hB,GAa9B2jF,MAAO,SAAUzmF,GAGb,SAAc,EAAJA,IAWd0mF,OAAQ,SAAU1mF,GAGd,QAAa,EAAJA,IAab4C,IAAK,WAED,GAAyB,IAArB3M,UAAUc,QAAwC,iBAAjBd,UAAU,GAEvCs/B,EAAOt/B,UAAU,QAIrB,IAAIs/B,EAAOt/B,UAGf,IAAK,IAAIe,EAAI,EAAG4L,EAAM,EAAG9L,EAAMy+B,EAAKx+B,OAAQC,EAAIF,EAAKE,IAE7Cu+B,EAAKv+B,GAAKu+B,EAAK3yB,KAEfA,EAAM5L,GAId,OAAOu+B,EAAK3yB,IAahBE,IAAK,WAED,GAAyB,IAArB7M,UAAUc,QAAwC,iBAAjBd,UAAU,GAEvCs/B,EAAOt/B,UAAU,QAIrB,IAAIs/B,EAAOt/B,UAGf,IAAK,IAAIe,EAAI,EAAG8L,EAAM,EAAGhM,EAAMy+B,EAAKx+B,OAAQC,EAAIF,EAAKE,IAE7Cu+B,EAAKv+B,GAAKu+B,EAAKzyB,KAEfA,EAAM9L,GAId,OAAOu+B,EAAKzyB,IAWhB6jF,YAAa,SAAUhiE,GAEnB,GAAyB,IAArB1uB,UAAUc,QAAwC,iBAAjBd,UAAU,GAEvCs/B,EAAOt/B,UAAU,QAIrB,IAAIs/B,EAAOt/B,UAAUR,MAAM,GAG/B,IAAK,IAAIuB,EAAI,EAAG4L,EAAM,EAAG9L,EAAMy+B,EAAKx+B,OAAQC,EAAIF,EAAKE,IAE7Cu+B,EAAKv+B,GAAG2tB,GAAY4Q,EAAK3yB,GAAK+hB,KAE9B/hB,EAAM5L,GAId,OAAOu+B,EAAK3yB,GAAK+hB,IAWrBiiE,YAAa,SAAUjiE,GAEnB,GAAyB,IAArB1uB,UAAUc,QAAwC,iBAAjBd,UAAU,GAEvCs/B,EAAOt/B,UAAU,QAIrB,IAAIs/B,EAAOt/B,UAAUR,MAAM,GAG/B,IAAK,IAAIuB,EAAI,EAAG8L,EAAM,EAAGhM,EAAMy+B,EAAKx+B,OAAQC,EAAIF,EAAKE,IAE7Cu+B,EAAKv+B,GAAG2tB,GAAY4Q,EAAKzyB,GAAK6hB,KAE9B7hB,EAAM9L,GAId,OAAOu+B,EAAKzyB,GAAK6hB,IAYrBo1B,UAAW,SAAUp8C,EAAO4mF,GAExB,OAAOA,EAAUv1F,KAAK0U,KAAK/F,GAAQ1I,KAAKsH,GAAItH,KAAKsH,IAAMvN,KAAK0U,KAAK/F,GAAQ,IAAK,MAYlFkpF,oBAAqB,SAAU75D,EAAGptB,GAE9B,IAAIC,EAAImtB,EAAEj2B,OAAS,EACfgD,EAAI8F,EAAID,EACR5I,EAAI/B,KAAKI,MAAM0E,GAEnB,OAAI6F,EAAI,EAEG5Q,KAAKkP,OAAO8uB,EAAE,GAAIA,EAAE,GAAIjzB,GAG/B6F,EAAI,EAEG5Q,KAAKkP,OAAO8uB,EAAEntB,GAAImtB,EAAEntB,EAAI,GAAIA,EAAI9F,GAGpC/K,KAAKkP,OAAO8uB,EAAEh2B,GAAIg2B,EAAEh2B,EAAI,EAAI6I,EAAIA,EAAI7I,EAAI,GAAI+C,EAAI/C,IAY3D8vF,oBAAqB,SAAU95D,EAAGptB,GAK9B,IAAK,IAHDhB,EAAI,EACJoB,EAAIgtB,EAAEj2B,OAAS,EAEVC,EAAI,EAAGA,GAAKgJ,EAAGhJ,IAEpB4H,GAAK3J,KAAKowF,IAAI,EAAIzlF,EAAGI,EAAIhJ,GAAK/B,KAAKowF,IAAIzlF,EAAG5I,GAAKg2B,EAAEh2B,GAAKhI,KAAK+3F,UAAU/mF,EAAGhJ,GAG5E,OAAO4H,GAYXooF,wBAAyB,SAAUh6D,EAAGptB,GAElC,IAAIC,EAAImtB,EAAEj2B,OAAS,EACfgD,EAAI8F,EAAID,EACR5I,EAAI/B,KAAKI,MAAM0E,GAEnB,OAAIizB,EAAE,KAAOA,EAAEntB,IAEPD,EAAI,IAEJ5I,EAAI/B,KAAKI,MAAM0E,EAAI8F,GAAK,EAAID,KAGzB5Q,KAAKi4F,WAAWj6D,GAAGh2B,EAAI,EAAI6I,GAAKA,GAAImtB,EAAEh2B,GAAIg2B,GAAGh2B,EAAI,GAAK6I,GAAImtB,GAAGh2B,EAAI,GAAK6I,GAAI9F,EAAI/C,IAIjF4I,EAAI,EAEGotB,EAAE,IAAMh+B,KAAKi4F,WAAWj6D,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAAKjzB,GAAKizB,EAAE,IAG/DptB,EAAI,EAEGotB,EAAEntB,IAAM7Q,KAAKi4F,WAAWj6D,EAAEntB,GAAImtB,EAAEntB,GAAImtB,EAAEntB,EAAI,GAAImtB,EAAEntB,EAAI,GAAI9F,EAAI8F,GAAKmtB,EAAEntB,IAGvE7Q,KAAKi4F,WAAWj6D,EAAEh2B,EAAIA,EAAI,EAAI,GAAIg2B,EAAEh2B,GAAIg2B,EAAEntB,EAAI7I,EAAI,EAAI6I,EAAI7I,EAAI,GAAIg2B,EAAEntB,EAAI7I,EAAI,EAAI6I,EAAI7I,EAAI,GAAI+C,EAAI/C,IAc/GkH,OAAQ,SAAUqC,EAAIC,EAAI3J,GAEtB,OAAQ2J,EAAKD,GAAM1J,EAAI0J,GAW3BwmF,UAAW,SAAU/mF,EAAGhJ,GAEpB,OAAOhI,KAAKk4F,UAAUlnF,GAAKhR,KAAKk4F,UAAUlwF,GAAKhI,KAAKk4F,UAAUlnF,EAAIhJ,IAStEkwF,UAAW,SAAUhuF,GAEjB,GAAc,IAAVA,EAEA,OAAO,EAKX,IAFA,IAAIiuF,EAAMjuF,IAEFA,GAEJiuF,GAAOjuF,EAGX,OAAOiuF,GAgBXF,WAAY,SAAU1mF,EAAIC,EAAIuJ,EAAIq9E,EAAIvwF,GAElC,IAAIi/E,EAAiB,IAAX/rE,EAAKxJ,GAAWw1E,EAAiB,IAAXqR,EAAK5mF,GAAWgiE,EAAK3rE,EAAIA,EAEzD,OAAQ,EAAI2J,EAAK,EAAIuJ,EAAK+rE,EAAKC,IAFkCl/E,EAAI2rE,KAEzB,EAAIhiE,EAAK,EAAIuJ,EAAK,EAAI+rE,EAAKC,GAAMvT,EAAKsT,EAAKj/E,EAAI2J,GAY/Fy2E,WAAY,SAAUz4E,EAAGI,GAErB,OAAO3J,KAAKiK,IAAIV,EAAII,IAWxByoF,kBAAmB,SAAUnuF,GAGzB,OAAQA,EAAQ,EAAKjE,KAAKG,KAAK8D,GAASjE,KAAKI,MAAM6D,IAiBvDouF,gBAAiB,SAAUvwF,EAAQwwF,EAAcC,EAAcC,QAEtCluF,IAAjBguF,IAA8BA,EAAe,QAC5BhuF,IAAjBiuF,IAA8BA,EAAe,QAC/BjuF,IAAdkuF,IAA2BA,EAAY,GAS3C,IAAK,IAPD5qF,EAAM0qF,EACN3qF,EAAM4qF,EACNE,EAAMD,EAAYxyF,KAAKsH,GAAKxF,EAE5B4wF,KACAC,KAEK5oF,EAAI,EAAGA,EAAIjI,EAAQiI,IAGxBnC,IADAD,GAAOC,EAAM6qF,GACAA,EAEbC,EAAS3oF,GAAKpC,EACdgrF,EAAS5oF,GAAKnC,EAIlB,OAASA,IAAK+qF,EAAUhrF,IAAK+qF,EAAU5wF,OAAQA,IAYnD8wF,MAAO,SAAUrpF,EAAGI,GAEhB,OAAO3J,KAAKkL,KAAK3B,EAAIA,EAAII,EAAIA,IAcjCtB,SAAU,SAAU8C,EAAIE,EAAIa,EAAIC,GAE5B,IAAIhD,EAAKgC,EAAKe,EACV9C,EAAKiC,EAAKc,EAEd,OAAOnM,KAAKkL,KAAK/B,EAAKA,EAAKC,EAAKA,IAepCypF,WAAY,SAAU1nF,EAAIE,EAAIa,EAAIC,GAE9B,IAAIhD,EAAKgC,EAAKe,EACV9C,EAAKiC,EAAKc,EAEd,OAAOhD,EAAKA,EAAKC,EAAKA,GAe1B0pF,YAAa,SAAU3nF,EAAIE,EAAIa,EAAIC,EAAIikF,GAInC,YAFY9rF,IAAR8rF,IAAqBA,EAAM,GAExBpwF,KAAKkL,KAAKlL,KAAKowF,IAAIlkF,EAAKf,EAAIilF,GAAOpwF,KAAKowF,IAAIjkF,EAAKd,EAAI+kF,KAahEx+E,MAAO,SAAUmmB,EAAGpqB,EAAKE,GAErB,OAAIkqB,EAAIpqB,EAEGA,EAEFE,EAAMkqB,EAEJlqB,EAIAkqB,GAcfg7D,YAAa,SAAU7yF,EAAGqJ,GAEtB,OAAOrJ,EAAIqJ,EAAIA,EAAIrJ,GAcvB8yF,OAAQ,SAAUzpF,EAAGI,EAAG6L,GAEpB,OAAQxV,KAAKiK,IAAIV,EAAII,IAAM6L,GAe/By9E,UAAW,SAAU/yF,EAAGwO,EAAIC,EAAIC,EAAIC,GAEhC,OAAOD,GAAO1O,EAAIwO,IAASG,EAAKD,IAASD,EAAKD,IAalDwkF,WAAY,SAAUhzF,EAAGyN,EAAKE,GAM1B,OAHA3N,EAAIF,KAAK6N,IAAI,EAAG7N,KAAK2N,IAAI,GAAIzN,EAAIyN,IAAQE,EAAMF,MAGpCzN,GAAK,EAAI,EAAIA,IAa5BizF,aAAc,SAAUjzF,EAAGyN,EAAKE,GAI5B,OAFA3N,EAAIF,KAAK6N,IAAI,EAAG7N,KAAK2N,IAAI,GAAIzN,EAAIyN,IAAQE,EAAMF,MAEpCzN,EAAIA,GAAKA,GAAS,EAAJA,EAAQ,IAAM,KAa3CkzF,KAAM,SAAUlzF,GAEZ,OAASA,EAAI,GAAO,EAAQA,EAAI,EAAM,EAAI,GAa9CmzF,QAAS,SAAU9pF,EAAGI,EAAGyjD,GAIrB,YAFa9oD,IAAT8oD,IAAsBA,EAAO,GAE7B7jD,EAAII,GAAKyjD,EAAOzjD,EAET,EAEFJ,EAAI6jD,GAAQA,EAAO7jD,EAEjB,GAICA,EAAI6jD,GAAQzjD,IA6BhCvP,EAAOk8B,oBAAsB,SAAUg9D,QAErBhvF,IAAVgvF,IAAuBA,MAM3Bv5F,KAAKgQ,EAAI,EAMThQ,KAAKw5F,GAAK,EAMVx5F,KAAKgyF,GAAK,EAMVhyF,KAAKiyF,GAAK,EAEW,iBAAVsH,EAEPv5F,KAAKyiB,MAAM82E,GAIXv5F,KAAKy5F,IAAIF,IAKjBl5F,EAAOk8B,oBAAoBh2B,WASvB+a,IAAK,WAED,IAAIzZ,EAAI,QAAU7H,KAAKw5F,GAAc,uBAATx5F,KAAKgQ,EAOjC,OALAhQ,KAAKgQ,EAAQ,EAAJnI,EACT7H,KAAKw5F,GAAKx5F,KAAKgyF,GACfhyF,KAAKgyF,GAAKhyF,KAAKiyF,GACfjyF,KAAKiyF,GAAKpqF,EAAI7H,KAAKgQ,EAEZhQ,KAAKiyF,IAWhBwH,IAAK,SAAUF,GAQX,GALAv5F,KAAKw5F,GAAKx5F,KAAK8xB,KAAK,KACpB9xB,KAAKgyF,GAAKhyF,KAAK8xB,KAAK9xB,KAAKw5F,IACzBx5F,KAAKiyF,GAAKjyF,KAAK8xB,KAAK9xB,KAAKgyF,IACzBhyF,KAAKgQ,EAAI,EAEJupF,EAML,IAAK,IAAIvxF,EAAI,EAAGA,EAAIuxF,EAAMxxF,QAAuB,MAAZwxF,EAAMvxF,GAAaA,IACxD,CACI,IAAI00B,EAAO68D,EAAMvxF,GAEjBhI,KAAKw5F,IAAMx5F,KAAK8xB,KAAK4K,GACrB18B,KAAKw5F,OAASx5F,KAAKw5F,GAAK,GACxBx5F,KAAKgyF,IAAMhyF,KAAK8xB,KAAK4K,GACrB18B,KAAKgyF,OAAShyF,KAAKgyF,GAAK,GACxBhyF,KAAKiyF,IAAMjyF,KAAK8xB,KAAK4K,GACrB18B,KAAKiyF,OAASjyF,KAAKiyF,GAAK,KAahCngE,KAAM,SAAUyU,GAEZ,IAAI51B,EAAG3I,EAAGgJ,EAIV,IAHAA,EAAI,WACJu1B,EAAOA,EAAK7+B,WAEPM,EAAI,EAAGA,EAAIu+B,EAAKx+B,OAAQC,IAEzB2I,EAAI,oBADJK,GAAKu1B,EAAKoe,WAAW38C,IAGrB2I,GADAK,EAAIL,IAAM,EAGVK,GADAL,GAAKK,KACK,EAEVA,GAAS,YADTL,GAAKK,GAIT,OAAmB,wBAAXA,IAAM,IAUlB0oF,QAAS,WAEL,OAA8B,WAAvB15F,KAAKshB,IAAIna,MAAMnH,OAU1BuhB,KAAM,WAEF,OAAOvhB,KAAKshB,IAAIna,MAAMnH,MAAgD,wBAAhB,QAAvBA,KAAKshB,IAAIna,MAAMnH,MAAmB,IAUrE25F,KAAM,WAEF,OAAO35F,KAAK05F,UAAY15F,KAAKuhB,QAYjCq4E,eAAgB,SAAUhmF,EAAKE,GAE3B,OAAO7N,KAAKI,MAAMrG,KAAK65F,YAAY,EAAG/lF,EAAMF,EAAM,GAAKA,IAa3D8mB,QAAS,SAAU9mB,EAAKE,GAEpB,OAAO9T,KAAK45F,eAAehmF,EAAKE,IAYpC+lF,YAAa,SAAUjmF,EAAKE,GAExB,OAAO9T,KAAKuhB,QAAUzN,EAAMF,GAAOA,GAUvCkmF,OAAQ,WAEJ,OAAO,EAAI,EAAI95F,KAAKuhB,QAUxBs2C,KAAM,WAEF,IAAIroD,EAAI,GACJI,EAAI,GAER,IAAKA,EAAIJ,EAAI,GAAIA,IAAM,GAAII,IAAKJ,EAAI,EAAQ,EAAJA,EAAM,GAAO,GAAFA,EAAO,EAAExP,KAAKuhB,QAAY,GAAF/R,EAAO,GAAK,GAAK,GAAG9H,SAAS,IAAM,KAI9G,OAAOkI,GAWXypB,KAAM,SAAU0gE,GAEZ,OAAOA,EAAI/5F,KAAK45F,eAAe,EAAGG,EAAIhyF,OAAS,KAUnDsxF,KAAM,WAEF,OAAOr5F,KAAKq5B,OAAO,EAAG,KAW1B2gE,aAAc,SAAUD,GAEpB,OAAOA,KAAO9zF,KAAKowF,IAAIr2F,KAAKuhB,OAAQ,IAAMw4E,EAAIhyF,OAAS,GAAK,MAYhE45C,UAAW,SAAU/tC,EAAKE,GAEtB,OAAO9T,KAAK65F,YAAYjmF,GAAO,UAAcE,GAAO,YAUxDnF,MAAO,WAEH,OAAO3O,KAAK45F,gBAAgB,IAAK,MAqBrCn3E,MAAO,SAAUA,GAYb,MAVqB,iBAAVA,GAAsBA,EAAMmoC,MAAM,WAEzCnoC,EAAQA,EAAMpZ,MAAM,KAEpBrJ,KAAKgQ,EAAI4vE,WAAWn9D,EAAM,IAC1BziB,KAAKw5F,GAAK5Z,WAAWn9D,EAAM,IAC3BziB,KAAKgyF,GAAKpS,WAAWn9D,EAAM,IAC3BziB,KAAKiyF,GAAKrS,WAAWn9D,EAAM,MAGvB,OAAQziB,KAAKgQ,EAAGhQ,KAAKw5F,GAAIx5F,KAAKgyF,GAAIhyF,KAAKiyF,IAAI1oF,KAAK,OAMhElJ,EAAOk8B,oBAAoBh2B,UAAU8B,YAAchI,EAAOk8B,oBAwB1Dl8B,EAAO45F,SAAW,SAAS9zF,EAAG+G,EAAG2E,EAAOC,EAAQooF,EAAYC,EAAWC,GAMnEp6F,KAAKk6F,WAAa,GAMlBl6F,KAAKm6F,UAAY,EAKjBn6F,KAAKo6F,MAAQ,EAKbp6F,KAAKmd,UAKLnd,KAAKq6F,WAKLr6F,KAAKs6F,SAMLt6F,KAAKu6F,UAELv6F,KAAKiiB,MAAM9b,EAAG+G,EAAG2E,EAAOC,EAAQooF,EAAYC,EAAWC,IAI3D/5F,EAAO45F,SAAS1zF,WAcZ0b,MAAO,SAAU9b,EAAG+G,EAAG2E,EAAOC,EAAQooF,EAAYC,EAAWC,GAEzDp6F,KAAKk6F,WAAaA,GAAc,GAChCl6F,KAAKm6F,UAAYA,GAAa,EAC9Bn6F,KAAKo6F,MAAQA,GAAS,EAEtBp6F,KAAKmd,QACDhX,EAAGF,KAAKsI,MAAMpI,GACd+G,EAAGjH,KAAKsI,MAAMrB,GACd2E,MAAOA,EACPC,OAAQA,EACR0oF,SAAUv0F,KAAKI,MAAMwL,EAAQ,GAC7B4oF,UAAWx0F,KAAKI,MAAMyL,EAAS,GAC/BrG,MAAOxF,KAAKsI,MAAMpI,GAAKF,KAAKI,MAAMwL,EAAQ,GAC1CnC,OAAQzJ,KAAKsI,MAAMrB,GAAKjH,KAAKI,MAAMyL,EAAS,IAGhD9R,KAAKq6F,QAAQtyF,OAAS,EACtB/H,KAAKs6F,MAAMvyF,OAAS,GAUxB2yF,SAAU,SAAUjhE,GAEhBA,EAAM9xB,QAAQ3H,KAAK26F,gBAAiB36F,MAAM,IAU9C26F,gBAAiB,SAAUpgE,GAEnBA,EAAOhI,MAAQgI,EAAOtN,QAEtBjtB,KAAK46F,OAAOrgE,EAAOhI,OAU3BlpB,MAAO,WAGHrJ,KAAKs6F,MAAM,GAAK,IAAIj6F,EAAO45F,SAASj6F,KAAKmd,OAAO1R,MAAOzL,KAAKmd,OAAOjQ,EAAGlN,KAAKmd,OAAOq9E,SAAUx6F,KAAKmd,OAAOs9E,UAAWz6F,KAAKk6F,WAAYl6F,KAAKm6F,UAAYn6F,KAAKo6F,MAAQ,GAGlKp6F,KAAKs6F,MAAM,GAAK,IAAIj6F,EAAO45F,SAASj6F,KAAKmd,OAAOhX,EAAGnG,KAAKmd,OAAOjQ,EAAGlN,KAAKmd,OAAOq9E,SAAUx6F,KAAKmd,OAAOs9E,UAAWz6F,KAAKk6F,WAAYl6F,KAAKm6F,UAAYn6F,KAAKo6F,MAAQ,GAG9Jp6F,KAAKs6F,MAAM,GAAK,IAAIj6F,EAAO45F,SAASj6F,KAAKmd,OAAOhX,EAAGnG,KAAKmd,OAAOzN,OAAQ1P,KAAKmd,OAAOq9E,SAAUx6F,KAAKmd,OAAOs9E,UAAWz6F,KAAKk6F,WAAYl6F,KAAKm6F,UAAYn6F,KAAKo6F,MAAQ,GAGnKp6F,KAAKs6F,MAAM,GAAK,IAAIj6F,EAAO45F,SAASj6F,KAAKmd,OAAO1R,MAAOzL,KAAKmd,OAAOzN,OAAQ1P,KAAKmd,OAAOq9E,SAAUx6F,KAAKmd,OAAOs9E,UAAWz6F,KAAKk6F,WAAYl6F,KAAKm6F,UAAYn6F,KAAKo6F,MAAQ,IAU3KQ,OAAQ,SAAUroE,GAEd,IACIxpB,EADAf,EAAI,EAIR,GAAqB,MAAjBhI,KAAKs6F,MAAM,KAII,KAFfvxF,EAAQ/I,KAAKw0B,SAASjC,KAW1B,GAFAvyB,KAAKq6F,QAAQ9lF,KAAKge,GAEdvyB,KAAKq6F,QAAQtyF,OAAS/H,KAAKk6F,YAAcl6F,KAAKo6F,MAAQp6F,KAAKm6F,UAS3D,IANqB,MAAjBn6F,KAAKs6F,MAAM,IAEXt6F,KAAKqJ,QAIFrB,EAAIhI,KAAKq6F,QAAQtyF,SAIL,KAFfgB,EAAQ/I,KAAKw0B,SAASx0B,KAAKq6F,QAAQryF,KAK/BhI,KAAKs6F,MAAMvxF,GAAO6xF,OAAO56F,KAAKq6F,QAAQ10E,OAAO3d,EAAG,GAAG,IAInDA,SA3BJhI,KAAKs6F,MAAMvxF,GAAO6xF,OAAOroE,IAyCrCiC,SAAU,SAAUnf,GAGhB,IAAItM,GAAS,EA8Bb,OA5BIsM,EAAKlP,EAAInG,KAAKmd,OAAO1R,OAAS4J,EAAK5J,MAAQzL,KAAKmd,OAAO1R,MAEnD4J,EAAKnI,EAAIlN,KAAKmd,OAAOzN,QAAU2F,EAAK3F,OAAS1P,KAAKmd,OAAOzN,OAGzD3G,EAAQ,EAEHsM,EAAKnI,EAAIlN,KAAKmd,OAAOzN,SAG1B3G,EAAQ,GAGPsM,EAAKlP,EAAInG,KAAKmd,OAAO1R,QAGtB4J,EAAKnI,EAAIlN,KAAKmd,OAAOzN,QAAU2F,EAAK3F,OAAS1P,KAAKmd,OAAOzN,OAGzD3G,EAAQ,EAEHsM,EAAKnI,EAAIlN,KAAKmd,OAAOzN,SAG1B3G,EAAQ,IAITA,GAWX8xF,SAAU,SAAU1sF,GAEhB,GAAIA,aAAkB9N,EAAO2N,UAEzB,IAAI8sF,EAAgB96F,KAAKq6F,QAErBtxF,EAAQ/I,KAAKw0B,SAASrmB,OAG9B,CACI,IAAKA,EAAOokB,KAER,OAAOvyB,KAAKu6F,OAGhB,IAAIO,EAAgB96F,KAAKq6F,QAErBtxF,EAAQ/I,KAAKw0B,SAASrmB,EAAOokB,MAoBrC,OAjBIvyB,KAAKs6F,MAAM,KAKPQ,GAFW,IAAX/xF,EAEgB+xF,EAAc/zF,OAAO/G,KAAKs6F,MAAMvxF,GAAO8xF,SAAS1sF,KAOhE2sF,GADAA,GADAA,EAAgBA,EAAc/zF,OAAO/G,KAAKs6F,MAAM,GAAGO,SAAS1sF,KAC9BpH,OAAO/G,KAAKs6F,MAAM,GAAGO,SAAS1sF,KAC9BpH,OAAO/G,KAAKs6F,MAAM,GAAGO,SAAS1sF,KAC9BpH,OAAO/G,KAAKs6F,MAAM,GAAGO,SAAS1sF,KAI7D2sF,GAQXp6E,MAAO,WAEH1gB,KAAKq6F,QAAQtyF,OAAS,EAItB,IAFA,IAAIC,EAAIhI,KAAKs6F,MAAMvyF,OAEZC,KAEHhI,KAAKs6F,MAAMtyF,GAAG0Y,QACd1gB,KAAKs6F,MAAM30E,OAAO3d,EAAG,GAGzBhI,KAAKs6F,MAAMvyF,OAAS,IAK5B1H,EAAO45F,SAAS1zF,UAAU8B,YAAchI,EAAO45F,SAmD/C55F,EAAOi9B,IAAM,SAAUtgB,GAEnBhd,KAAKgd,KAAOA,GAIhB3c,EAAOi9B,IAAI/2B,WAQPw0F,YAAa,WAET,OAAI9yF,OAAO+yF,UAAY/yF,OAAO+yF,SAASC,SAC5BhzF,OAAO+yF,SAASC,SAGpB,MAcXC,gBAAiB,SAAUC,GACvB,OAAqD,IAA9ClzF,OAAO+yF,SAASC,SAAShoE,QAAQkoE,IAgB5CC,kBAAmB,SAAUvxF,EAAKK,EAAOmxF,EAAUrjC,QAE9BztD,IAAb8wF,IAA0BA,GAAW,QAC7B9wF,IAARytD,GAA6B,KAARA,IAAcA,EAAM/vD,OAAO+yF,SAASM,MAE7D,IAAI9sF,EAAS,GACT6yE,EAAK,IAAI6N,OAAO,UAAYrlF,EAAM,kBAAmB,MAEzD,GAAIw3E,EAAGN,KAAK/oB,GAIJxpD,OAFiB,IAAVtE,GAAmC,OAAVA,EAEvB8tD,EAAIzrD,QAAQ80E,EAAI,KAAOx3E,EAAM,IAAMK,EAAQ,QAI3C8tD,EAAIzrD,QAAQ80E,EAAI,QAAQ90E,QAAQ,UAAW,SAKxD,QAAqB,IAAVrC,GAAmC,OAAVA,EACpC,CACI,IAAIqxF,GAAkC,IAAtBvjC,EAAI/kC,QAAQ,KAAc,IAAM,IAC5CnB,EAAOkmC,EAAI3uD,MAAM,KACrB2uD,EAAMlmC,EAAK,GAAKypE,EAAY1xF,EAAM,IAAMK,EAEpC4nB,EAAK,KACLkmC,GAAO,IAAMlmC,EAAK,IAGtBtjB,EAASwpD,OAKTxpD,EAASwpD,EAIjB,IAAIqjC,EAMA,OAAO7sF,EAJPvG,OAAO+yF,SAASM,KAAO9sF,GAiB/BgtF,eAAgB,SAAUC,QAEJlxF,IAAdkxF,IAA2BA,EAAY,IAE3C,IAAIjtF,KACAktF,EAAYV,SAASW,OAAOpgB,UAAU,GAAGlyE,MAAM,KAEnD,IAAK,IAAIrB,KAAK0zF,EACd,CACI,IAAI7xF,EAAM6xF,EAAU1zF,GAAGqB,MAAM,KAE7B,GAAIQ,EAAI9B,OAAS,EACjB,CACI,GAAI0zF,GAAaA,IAAcz7F,KAAK47F,UAAU/xF,EAAI,IAE9C,OAAO7J,KAAK47F,UAAU/xF,EAAI,IAI1B2E,EAAOxO,KAAK47F,UAAU/xF,EAAI,KAAO7J,KAAK47F,UAAU/xF,EAAI,KAKhE,OAAO2E,GAYXotF,UAAW,SAAU1xF,GACjB,OAAO2xF,mBAAmB3xF,EAAMqC,QAAQ,MAAO,QAKvDlM,EAAOi9B,IAAI/2B,UAAU8B,YAAchI,EAAOi9B,IAqB1Cj9B,EAAO48B,aAAe,SAAUjgB,GAK5Bhd,KAAKgd,KAAOA,EAaZhd,KAAK87F,YAAa,EAMlB97F,KAAK+7F,WAML/7F,KAAKg8F,QAELh8F,KAAKi8F,SAEDC,OAAU77F,EAAO87F,OAAOD,OACxBE,OAAU/7F,EAAO87F,OAAOC,OACxBC,OAAUh8F,EAAO87F,OAAOE,OACxBC,OAAUj8F,EAAO87F,OAAOG,OACxBC,OAAUl8F,EAAO87F,OAAOI,OAExBC,OAAUn8F,EAAO87F,OAAOK,OAAOC,KAC/BC,KAAQr8F,EAAO87F,OAAOQ,UAAUC,IAChCC,MAASx8F,EAAO87F,OAAOU,MAAMD,IAC7BE,MAASz8F,EAAO87F,OAAOY,QAAQH,IAC/BI,MAAS38F,EAAO87F,OAAOc,QAAQL,IAC/BM,KAAQ78F,EAAO87F,OAAOgB,WAAWP,IACjCQ,KAAQ/8F,EAAO87F,OAAOkB,YAAYT,IAClCU,KAAQj9F,EAAO87F,OAAOoB,SAASX,IAC/BY,QAAWn9F,EAAO87F,OAAOqB,QAAQZ,IACjCa,KAAQp9F,EAAO87F,OAAOsB,KAAKb,IAC3Bc,OAAUr9F,EAAO87F,OAAOuB,OAAOd,IAE/Be,cAAet9F,EAAO87F,OAAOQ,UAAUiB,GACvCC,eAAgBx9F,EAAO87F,OAAOU,MAAMe,GACpCE,eAAgBz9F,EAAO87F,OAAOY,QAAQa,GACtCG,eAAgB19F,EAAO87F,OAAOc,QAAQW,GACtCI,cAAe39F,EAAO87F,OAAOgB,WAAWS,GACxCK,cAAe59F,EAAO87F,OAAOkB,YAAYO,GACzCM,cAAe79F,EAAO87F,OAAOoB,SAASK,GACtCO,iBAAkB99F,EAAO87F,OAAOqB,QAAQI,GACxCQ,cAAe/9F,EAAO87F,OAAOsB,KAAKG,GAClCS,gBAAiBh+F,EAAO87F,OAAOuB,OAAOE,GAEtCU,eAAgBj+F,EAAO87F,OAAOQ,UAAUC,IACxC2B,gBAAiBl+F,EAAO87F,OAAOU,MAAMD,IACrC4B,gBAAiBn+F,EAAO87F,OAAOY,QAAQH,IACvC6B,gBAAiBp+F,EAAO87F,OAAOc,QAAQL,IACvC8B,eAAgBr+F,EAAO87F,OAAOgB,WAAWP,IACzC+B,eAAgBt+F,EAAO87F,OAAOkB,YAAYT,IAC1CgC,eAAgBv+F,EAAO87F,OAAOoB,SAASX,IACvCiC,kBAAmBx+F,EAAO87F,OAAOqB,QAAQZ,IACzCkC,eAAgBz+F,EAAO87F,OAAOsB,KAAKb,IACnCmC,iBAAkB1+F,EAAO87F,OAAOuB,OAAOd,IAEvCoC,iBAAkB3+F,EAAO87F,OAAOQ,UAAUsC,MAC1CC,kBAAmB7+F,EAAO87F,OAAOU,MAAMoC,MACvCE,kBAAmB9+F,EAAO87F,OAAOY,QAAQkC,MACzCG,kBAAmB/+F,EAAO87F,OAAOc,QAAQgC,MACzCI,iBAAkBh/F,EAAO87F,OAAOgB,WAAW8B,MAC3CK,iBAAkBj/F,EAAO87F,OAAOkB,YAAY4B,MAC5CM,iBAAkBl/F,EAAO87F,OAAOoB,SAAS0B,MACzCO,oBAAqBn/F,EAAO87F,OAAOqB,QAAQyB,MAC3CQ,iBAAkBp/F,EAAO87F,OAAOsB,KAAKwB,MACrCS,mBAAoBr/F,EAAO87F,OAAOuB,OAAOuB,OAI7Cj/F,KAAKgd,KAAK+H,QAAQxR,IAAIvT,KAAK2/F,UAAW3/F,MACtCA,KAAKgd,KAAKiI,SAAS1R,IAAIvT,KAAK4/F,WAAY5/F,OAI5CK,EAAO48B,aAAa12B,WAOhB6yB,OAAQ,WAEJ,OAAOp5B,KAAK+7F,SAQhB31E,UAAW,WAEP,IAAK,IAAIpe,EAAI,EAAGA,EAAIhI,KAAK+7F,QAAQh0F,OAAQC,IAErChI,KAAK+7F,QAAQ/zF,GAAG63F,eAAgB,EAGpC7/F,KAAKg8F,SAWT9tC,WAAY,SAAUzkD,EAAK2kB,QAEN7jB,IAAb6jB,IAA0BA,GAAW,GAKzC,GAAI1nB,MAAMa,QAAQkC,GAEd,IAAKzB,EAAI,EAAGF,EAAM2B,EAAI1B,OAAQC,EAAIF,EAAKE,IAEnChI,KAAKkuD,WAAWzkD,EAAIzB,SAGvB,GAAIyB,EAAIrB,OAAS/H,EAAOoB,OAAS2sB,EAElC,IAAK,IAAIpmB,EAAI,EAAGF,EAAM2B,EAAI2kB,SAASrmB,OAAQC,EAAIF,EAAKE,IAEhDhI,KAAKkuD,WAAWzkD,EAAI2kB,SAASpmB,QAIrC,CACI,IAAKA,EAAI,EAAGF,EAAM9H,KAAK+7F,QAAQh0F,OAAQC,EAAIF,EAAKE,IAExCyB,IAAQzJ,KAAK+7F,QAAQ/zF,GAAGd,QAExBlH,KAAKslB,OAAOtlB,KAAK+7F,QAAQ/zF,IAIjC,IAAKA,EAAI,EAAGF,EAAM9H,KAAKg8F,KAAKj0F,OAAQC,EAAIF,EAAKE,IAErCyB,IAAQzJ,KAAKg8F,KAAKh0F,GAAGd,QAErBlH,KAAKslB,OAAOtlB,KAAKg8F,KAAKh0F,MActCuL,IAAK,SAAU+hD,GAEXA,EAAMwqC,SAAW9/F,KACjBA,KAAKg8F,KAAKznF,KAAK+gD,IAWnBryC,OAAQ,SAAUsV,GAEd,OAAO,IAAIl4B,EAAO83D,MAAM5/B,EAAQv4B,KAAKgd,KAAMhd,OAU/CslB,OAAQ,SAAUgwC,GAEd,IAAIttD,EAAIhI,KAAK+7F,QAAQ9oE,QAAQqiC,IAElB,IAAPttD,EAEAhI,KAAK+7F,QAAQ/zF,GAAG63F,eAAgB,GAMrB,KAFX73F,EAAIhI,KAAKg8F,KAAK/oE,QAAQqiC,MAIlBt1D,KAAKg8F,KAAKh0F,GAAG63F,eAAgB,IAYzC9+E,OAAQ,WAEJ,IAAIg/E,EAAY//F,KAAKg8F,KAAKj0F,OACtBi4F,EAAYhgG,KAAK+7F,QAAQh0F,OAE7B,GAAkB,IAAdi4F,GAAiC,IAAdD,EAEnB,OAAO,EAKX,IAFA,IAAI/3F,EAAI,EAEDA,EAAIg4F,GAEHhgG,KAAK+7F,QAAQ/zF,GAAG+Y,OAAO/gB,KAAKgd,KAAKmE,KAAKA,MAEtCnZ,KAIAhI,KAAK+7F,QAAQp2E,OAAO3d,EAAG,GAEvBg4F,KAWR,OANID,EAAY,IAEZ//F,KAAK+7F,QAAU/7F,KAAK+7F,QAAQh1F,OAAO/G,KAAKg8F,MACxCh8F,KAAKg8F,KAAKj0F,OAAS,IAGhB,GAWXk4F,WAAY,SAAS1nE,GAEjB,OAAOv4B,KAAK+7F,QAAQmE,KAAK,SAAS5qC,GAC9B,OAAOA,EAAMpuD,SAAWqxB,KAWhConE,UAAW,WAEP,IAAK,IAAI33F,EAAIhI,KAAK+7F,QAAQh0F,OAAS,EAAGC,GAAK,EAAGA,IAE1ChI,KAAK+7F,QAAQ/zF,GAAGm4F,UAWxBP,WAAY,WAER,IAAK,IAAI53F,EAAIhI,KAAK+7F,QAAQh0F,OAAS,EAAGC,GAAK,EAAGA,IAE1ChI,KAAK+7F,QAAQ/zF,GAAGo4F,WAUxBC,SAAU,WAEN,IAAK,IAAIr4F,EAAIhI,KAAK+7F,QAAQh0F,OAAS,EAAGC,GAAK,EAAGA,IAE1ChI,KAAK+7F,QAAQ/zF,GAAGgd,SAUxBs7E,UAAW,WAEP,IAAK,IAAIt4F,EAAIhI,KAAK+7F,QAAQh0F,OAAS,EAAGC,GAAK,EAAGA,IAE1ChI,KAAK+7F,QAAQ/zF,GAAGkd,QAAO,KAOnC7kB,EAAO48B,aAAa12B,UAAU8B,YAAchI,EAAO48B,aAqBnD58B,EAAO83D,MAAQ,SAAUjxD,EAAQ8V,EAAMujF,GAKnCvgG,KAAKgd,KAAOA,EAKZhd,KAAKkH,OAASA,EAKdlH,KAAKugG,QAAUA,EAKfvgG,KAAKwgG,YASLxgG,KAAKsJ,SAAU,EASftJ,KAAKygG,UAAY,EAKjBzgG,KAAK0gG,cAAgB,EAOrB1gG,KAAK6/F,eAAgB,EAOrB7/F,KAAK2gG,QAAU,IAAItgG,EAAOud,OAQ1B5d,KAAK4gG,OAAS,IAAIvgG,EAAOud,OAOzB5d,KAAK6gG,SAAW,IAAIxgG,EAAOud,OAQ3B5d,KAAK8gG,gBAAkB,IAAIzgG,EAAOud,OAOlC5d,KAAK+gG,WAAa,IAAI1gG,EAAOud,OAM7B5d,KAAKk7B,WAAY,EAOjBl7B,KAAKgkB,QAAU,EAKfhkB,KAAKi/E,cAKLj/E,KAAKghG,aAAe,KAMpBhhG,KAAKihG,UAAW,EAgBhBjhG,KAAK87F,WAAayE,EAAQzE,WAO1B97F,KAAKkhG,kBAAoB,KAOzBlhG,KAAKmhG,yBAA2B,KAOhCnhG,KAAKohG,YAAc,EAMnBphG,KAAK67B,aAAc,EAMnB77B,KAAKqhG,aAAc,GAwBvBhhG,EAAO83D,MAAMjoC,YAAc,SAAUolC,GAEjCj1D,EAAO2vB,MAAME,YAAYolC,EAAMpuD,SAInC7G,EAAO83D,MAAM5xD,WAkBTqC,GAAI,SAAUq2E,EAAY5gE,EAAUijF,EAAMn8E,EAAWizB,EAAOptB,EAAQu2E,GAchE,YAZiBh3F,IAAb8T,GAA0BA,GAAY,KAAKA,EAAW,UAC7C9T,IAAT+2F,GAA+B,OAATA,IAAiBA,EAAOjhG,EAAO87F,OAAOqF,cAC9Cj3F,IAAd4a,IAA2BA,GAAY,QAC7B5a,IAAV6tC,IAAuBA,EAAQ,QACpB7tC,IAAXygB,IAAwBA,EAAS,QACxBzgB,IAATg3F,IAAsBA,GAAO,GAEb,iBAATD,GAAqBthG,KAAKugG,QAAQtE,QAAQqF,KAEjDA,EAAOthG,KAAKugG,QAAQtE,QAAQqF,IAG5BthG,KAAKk7B,WAEL5yB,QAAQG,KAAK,sDACNzI,OAGXA,KAAKwgG,SAASjsF,KAAK,IAAIlU,EAAOohG,UAAUzhG,MAAM4I,GAAGq2E,EAAY5gE,EAAUijF,EAAMlpD,EAAOptB,EAAQu2E,IAExFp8E,GAEAnlB,KAAK+Q,QAGF/Q,OAoBX6M,KAAM,SAAUoyE,EAAY5gE,EAAUijF,EAAMn8E,EAAWizB,EAAOptB,EAAQu2E,GAclE,YAZiBh3F,IAAb8T,IAA0BA,EAAW,UAC5B9T,IAAT+2F,GAA+B,OAATA,IAAiBA,EAAOjhG,EAAO87F,OAAOqF,cAC9Cj3F,IAAd4a,IAA2BA,GAAY,QAC7B5a,IAAV6tC,IAAuBA,EAAQ,QACpB7tC,IAAXygB,IAAwBA,EAAS,QACxBzgB,IAATg3F,IAAsBA,GAAO,GAEb,iBAATD,GAAqBthG,KAAKugG,QAAQtE,QAAQqF,KAEjDA,EAAOthG,KAAKugG,QAAQtE,QAAQqF,IAG5BthG,KAAKk7B,WAEL5yB,QAAQG,KAAK,wDACNzI,OAGXA,KAAKwgG,SAASjsF,KAAK,IAAIlU,EAAOohG,UAAUzhG,MAAM6M,KAAKoyE,EAAY5gE,EAAUijF,EAAMlpD,EAAOptB,EAAQu2E,IAE1Fp8E,GAEAnlB,KAAK+Q,QAGF/Q,OAaX+Q,MAAO,SAAUhI,GAIb,QAFcwB,IAAVxB,IAAuBA,EAAQ,GAEjB,OAAd/I,KAAKgd,MAAiC,OAAhBhd,KAAKkH,QAA4C,IAAzBlH,KAAKwgG,SAASz4F,QAAgB/H,KAAKk7B,UAEjF,OAAOl7B,KAIX,IAASgI,EAAI,EAAGA,EAAIhI,KAAKwgG,SAASz4F,OAAQC,IAGtC,IAAK,IAAI2tB,KAAY31B,KAAKwgG,SAASx4F,GAAG05F,KAElC1hG,KAAKi/E,WAAWtpD,GAAY31B,KAAKkH,OAAOyuB,IAAa,EAEhDjvB,MAAMa,QAAQvH,KAAKi/E,WAAWtpD,MAG/B31B,KAAKi/E,WAAWtpD,IAAa,GAKzC,IAAK,IAAI3tB,EAAI,EAAGA,EAAIhI,KAAKwgG,SAASz4F,OAAQC,IAEtChI,KAAKwgG,SAASx4F,GAAG25F,aAgBrB,OAbA3hG,KAAKugG,QAAQhtF,IAAIvT,MAEjBA,KAAKk7B,WAAY,GAEbnyB,EAAQ,GAAKA,EAAQ/I,KAAKwgG,SAASz4F,OAAS,KAE5CgB,EAAQ,GAGZ/I,KAAKgkB,QAAUjb,EAEf/I,KAAKwgG,SAASxgG,KAAKgkB,SAASjT,QAErB/Q,MAaX4/B,KAAM,SAAUgiE,GAsBZ,YApBiBr3F,IAAbq3F,IAA0BA,GAAW,GAEzC5hG,KAAKk7B,WAAY,EAEjBl7B,KAAKkhG,kBAAoB,KACzBlhG,KAAKmhG,yBAA2B,KAE5BS,IAEA5hG,KAAK+gG,WAAW1/E,SAASrhB,KAAKkH,OAAQlH,MACtCA,KAAKqhG,aAAc,EAEfrhG,KAAKghG,cAELhhG,KAAKghG,aAAajwF,SAI1B/Q,KAAKugG,QAAQj7E,OAAOtlB,MAEbA,MAeX6hG,gBAAiB,SAAUlsE,EAAUzrB,EAAOnB,GAExC,GAA6B,IAAzB/I,KAAKwgG,SAASz4F,OAAgB,OAAO/H,KAIzC,QAFcuK,IAAVxB,IAAuBA,EAAQ,IAEpB,IAAXA,EAEA,IAAK,IAAIf,EAAI,EAAGA,EAAIhI,KAAKwgG,SAASz4F,OAAQC,IAEtChI,KAAKwgG,SAASx4F,GAAG2tB,GAAYzrB,OAKjClK,KAAKwgG,SAASz3F,GAAO4sB,GAAYzrB,EAGrC,OAAOlK,MAeXo4C,MAAO,SAAU/5B,EAAUtV,GAEvB,OAAO/I,KAAK6hG,gBAAgB,QAASxjF,EAAUtV,IAgBnDiiB,OAAQ,SAAU6M,EAAOiqE,EAAa/4F,GAMlC,YAJoBwB,IAAhBu3F,IAA6BA,EAAc,GAE/C9hG,KAAK6hG,gBAAgB,gBAAiBhqE,EAAO9uB,GAEtC/I,KAAK6hG,gBAAgB,cAAeC,EAAa/4F,IAe5D+4F,YAAa,SAAUzjF,EAAUtV,GAE7B,OAAO/I,KAAK6hG,gBAAgB,cAAexjF,EAAUtV,IAiBzDw4F,KAAM,SAAS5uE,EAAQovE,EAAWh5F,GAM9B,YAJkBwB,IAAdw3F,IAA2BA,EAAY,GAE3C/hG,KAAK6hG,gBAAgB,OAAQlvE,EAAQ5pB,GAE9B/I,KAAK6hG,gBAAgB,YAAaE,EAAWh5F,IAexDg5F,UAAW,SAAU1jF,EAAUtV,GAE3B,OAAO/I,KAAK6hG,gBAAgB,YAAaxjF,EAAUtV,IAevDi5F,OAAQ,SAAUV,EAAMv4F,GAOpB,MALoB,iBAATu4F,GAAqBthG,KAAKugG,QAAQtE,QAAQqF,KAEjDA,EAAOthG,KAAKugG,QAAQtE,QAAQqF,IAGzBthG,KAAK6hG,gBAAgB,iBAAkBP,EAAMv4F,IAgBxDk5F,cAAe,SAAUA,EAAep7E,EAAS9d,GAM7C,YAJgBwB,IAAZsc,IAAyBA,EAAUxmB,EAAO4F,MAE9CjG,KAAK6hG,gBAAgB,wBAAyBI,EAAel5F,GAEtD/I,KAAK6hG,gBAAgB,uBAAwBh7E,EAAS9d,IAYjEm5F,UAAW,SAAUrqE,GAMjB,YAJcttB,IAAVstB,IAAuBA,EAAQ,GAEnC73B,KAAK0gG,cAAgB7oE,EAEd73B,MAkBXmiG,MAAO,WAIH,IAFA,IAAIn6F,EAAIf,UAAUc,OAEXC,KAECA,EAAI,EAEJf,UAAUe,EAAI,GAAGg5F,aAAe/5F,UAAUe,GAI1ChI,KAAKghG,aAAe/5F,UAAUe,GAItC,OAAOhI,MAoBXmrD,KAAM,SAAUjhD,GAMZ,YAJcK,IAAVL,IAAuBA,GAAQ,GAEnClK,KAAK0gG,cAAgB,GAAW,EAAI,EAE7B1gG,MAoBXqkB,iBAAkB,SAAUoP,EAAUlO,GAKlC,OAHAvlB,KAAKkhG,kBAAoBztE,EACzBzzB,KAAKmhG,yBAA2B57E,EAEzBvlB,MASXglB,MAAO,WAEHhlB,KAAKihG,UAAW,EAEhBjhG,KAAK67B,aAAc,EAEnB77B,KAAKohG,YAAcphG,KAAKgd,KAAKmE,KAAKA,MAUtCg/E,OAAQ,WAECngG,KAAK67B,cAEN77B,KAAKihG,UAAW,EAEhBjhG,KAAKohG,YAAcphG,KAAKgd,KAAKmE,KAAKA,OAU1C+D,OAAQ,WAEJ,GAAIllB,KAAKihG,SACT,CACIjhG,KAAKihG,UAAW,EAEhBjhG,KAAK67B,aAAc,EAEnB,IAAK,IAAI7zB,EAAI,EAAGA,EAAIhI,KAAKwgG,SAASz4F,OAAQC,IAEjChI,KAAKwgG,SAASx4F,GAAGkzB,YAElBl7B,KAAKwgG,SAASx4F,GAAGo6F,WAAcpiG,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAKohG,eAY1EhB,QAAS,WAEDpgG,KAAK67B,aAML77B,KAAKklB,UAYbnE,OAAQ,SAAUI,GAEd,GAAInhB,KAAK6/F,gBAAkB7/F,KAAKkH,OAE5B,OAAO,EAGX,GAAIlH,KAAKihG,SAEL,OAAO,EAGX,IAAIoB,EAASriG,KAAKwgG,SAASxgG,KAAKgkB,SAASjD,OAAOI,GAEhD,GAAIkhF,IAAWhiG,EAAOohG,UAAUa,QAE5B,OAAO,EAEN,GAAID,IAAWhiG,EAAOohG,UAAUc,QAcjC,OAZKviG,KAAKqhG,cAENrhG,KAAK2gG,QAAQt/E,SAASrhB,KAAKkH,OAAQlH,MACnCA,KAAKqhG,aAAc,GAGQ,OAA3BrhG,KAAKkhG,mBAELlhG,KAAKkhG,kBAAkBl6F,KAAKhH,KAAKmhG,yBAA0BnhG,KAAMA,KAAKwgG,SAASxgG,KAAKgkB,SAAS9Z,MAAOlK,KAAKwgG,SAASxgG,KAAKgkB,UAIpHhkB,KAAKk7B,UAEX,GAAImnE,IAAWhiG,EAAOohG,UAAUe,OAWjC,OATmD,IAA/CxiG,KAAKwgG,SAASxgG,KAAKgkB,SAAS08E,cAE5B1gG,KAAK4gG,OAAOv/E,SAASrhB,KAAKkH,OAAQlH,MAIlCA,KAAK6gG,SAASx/E,SAASrhB,KAAKkH,OAAQlH,OAGjC,EAEN,GAAIqiG,IAAWhiG,EAAOohG,UAAUgB,SACrC,CACI,IAAIb,GAAW,EAwBf,OArBI5hG,KAAKsJ,UAELtJ,KAAKgkB,QAEc,IAEfhkB,KAAKgkB,QAAUhkB,KAAKwgG,SAASz4F,OAAS,EACtC65F,GAAW,KAKf5hG,KAAKgkB,UAEgBhkB,KAAKwgG,SAASz4F,SAE/B/H,KAAKgkB,QAAU,EACf49E,GAAW,GAIfA,GAG4B,IAAxB5hG,KAAK0gG,eAEL1gG,KAAKwgG,SAASxgG,KAAKgkB,SAASjT,QAC5B/Q,KAAK4gG,OAAOv/E,SAASrhB,KAAKkH,OAAQlH,OAC3B,GAEFA,KAAK0gG,cAAgB,GAE1B1gG,KAAK0gG,gBAEL1gG,KAAKwgG,SAASxgG,KAAKgkB,SAASjT,QAC5B/Q,KAAK6gG,SAASx/E,SAASrhB,KAAKkH,OAAQlH,OAC7B,IAKPA,KAAKk7B,WAAY,EACjBl7B,KAAK+gG,WAAW1/E,SAASrhB,KAAKkH,OAAQlH,MACtCA,KAAKqhG,aAAc,EAEfrhG,KAAKghG,cAELhhG,KAAKghG,aAAajwF,SAGf,IAMX/Q,KAAK8gG,gBAAgBz/E,SAASrhB,KAAKkH,OAAQlH,MAC3CA,KAAKwgG,SAASxgG,KAAKgkB,SAASjT,SACrB,KAiBnB2xF,aAAc,SAAUx3C,EAAW3kB,GAE/B,GAAkB,OAAdvmC,KAAKgd,MAAiC,OAAhBhd,KAAKkH,OAE3B,OAAO,UAGOqD,IAAd2gD,IAA2BA,EAAY,SAC9B3gD,IAATg8B,IAAsBA,MAG1B,IAASv+B,EAAI,EAAGA,EAAIhI,KAAKwgG,SAASz4F,OAAQC,IAGtC,IAAK,IAAI2tB,KAAY31B,KAAKwgG,SAASx4F,GAAG05F,KAElC1hG,KAAKi/E,WAAWtpD,GAAY31B,KAAKkH,OAAOyuB,IAAa,EAEhDjvB,MAAMa,QAAQvH,KAAKi/E,WAAWtpD,MAG/B31B,KAAKi/E,WAAWtpD,IAAa,GAKzC,IAAS3tB,EAAI,EAAGA,EAAIhI,KAAKwgG,SAASz4F,OAAQC,IAEtChI,KAAKwgG,SAASx4F,GAAG25F,aAGrB,IAAK,IAAI35F,EAAI,EAAGA,EAAIhI,KAAKwgG,SAASz4F,OAAQC,IAEtCu+B,EAAOA,EAAKx/B,OAAO/G,KAAKwgG,SAASx4F,GAAG06F,aAAax3C,IAGrD,OAAO3kB,IAUf9+B,OAAOmF,eAAevM,EAAO83D,MAAM5xD,UAAW,iBAE1CmG,IAAK,WAID,IAAK,IAFDmrB,EAAQ,EAEH7vB,EAAI,EAAGA,EAAIhI,KAAKwgG,SAASz4F,OAAQC,IAEtC6vB,GAAS73B,KAAKwgG,SAASx4F,GAAGqW,SAG9B,OAAOwZ,KAMfx3B,EAAO83D,MAAM5xD,UAAU8B,YAAchI,EAAO83D,MAiB5C93D,EAAOohG,UAAY,SAAUx1E,GAKzBjsB,KAAKisB,OAASA,EAKdjsB,KAAKgd,KAAOiP,EAAOjP,KAMnBhd,KAAK2iG,UAML3iG,KAAK4iG,eAML5iG,KAAK0hG,QAML1hG,KAAK6iG,aAML7iG,KAAKqe,SAAW,IAMhBre,KAAKs5F,QAAU,EAMft5F,KAAKkK,MAAQ,EAKblK,KAAK0gG,cAAgB,EAKrB1gG,KAAK8hG,YAAc,EAMnB9hG,KAAK8iG,YAAc,EAOnB9iG,KAAKmZ,aAAc,EAMnBnZ,KAAKuhG,MAAO,EAKZvhG,KAAK+hG,UAAY,EAMjB/hG,KAAK+iG,WAAY,EAMjB/iG,KAAKo4C,MAAQ,EAKbp4C,KAAKqzE,GAAK,EAKVrzE,KAAKoiG,UAAY,KAMjBpiG,KAAKgjG,eAAiB3iG,EAAO87F,OAAOqF,QAMpCxhG,KAAKijG,sBAAwB5iG,EAAO4F,KAAK4xF,oBAMzC73F,KAAKkjG,qBAAuB7iG,EAAO4F,KAMnCjG,KAAKk7B,WAAY,EAMjBl7B,KAAKmjG,QAAS,GAQlB9iG,EAAOohG,UAAUa,QAAU,EAM3BjiG,EAAOohG,UAAUc,QAAU,EAM3BliG,EAAOohG,UAAUe,OAAS,EAM1BniG,EAAOohG,UAAUgB,SAAW,EAE5BpiG,EAAOohG,UAAUl7F,WAebqC,GAAI,SAAUq2E,EAAY5gE,EAAUijF,EAAMlpD,EAAOptB,EAAQu2E,GAWrD,OATAvhG,KAAK0hG,KAAOziB,EACZj/E,KAAKqe,SAAWA,EAChBre,KAAKgjG,eAAiB1B,EACtBthG,KAAKo4C,MAAQA,EACbp4C,KAAK8iG,YAAc93E,EACnBhrB,KAAKuhG,KAAOA,EAEZvhG,KAAKmjG,QAAS,EAEPnjG,MAiBX6M,KAAM,SAAUoyE,EAAY5gE,EAAUijF,EAAMlpD,EAAOptB,EAAQu2E,GAWvD,OATAvhG,KAAK0hG,KAAOziB,EACZj/E,KAAKqe,SAAWA,EAChBre,KAAKgjG,eAAiB1B,EACtBthG,KAAKo4C,MAAQA,EACbp4C,KAAK8iG,YAAc93E,EACnBhrB,KAAKuhG,KAAOA,EAEZvhG,KAAKmjG,QAAS,EAEPnjG,MAUX+Q,MAAO,WAsBH,GApBA/Q,KAAKoiG,UAAYpiG,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAKo4C,MAExCp4C,KAAKisB,OAAO3iB,QAEZtJ,KAAKqzE,GAAKrzE,KAAKqe,SAIfre,KAAKqzE,GAAK,EAGVrzE,KAAKo4C,MAAQ,EAEbp4C,KAAKk7B,WAAY,EAIjBl7B,KAAKk7B,WAAY,EAGjBl7B,KAAKmjG,OAGL,IAAK,IAAIxtE,KAAY31B,KAAK4iG,YAEtB5iG,KAAK2iG,OAAOhtE,GAAY31B,KAAK6iG,UAAUltE,GACvC31B,KAAK0hG,KAAK/rE,GAAY31B,KAAK4iG,YAAYjtE,GACvC31B,KAAKisB,OAAO/kB,OAAOyuB,GAAY31B,KAAK2iG,OAAOhtE,GAQnD,OAJA31B,KAAKkK,MAAQ,EACblK,KAAKojG,YAAc,EACnBpjG,KAAK0gG,cAAgB1gG,KAAK8iG,YAEnB9iG,MAWX2hG,WAAY,WAER,IAAK,IAAIhsE,KAAY31B,KAAKisB,OAAOgzD,WACjC,CAKI,GAHAj/E,KAAK2iG,OAAOhtE,GAAY31B,KAAKisB,OAAOgzD,WAAWtpD,GAG3CjvB,MAAMa,QAAQvH,KAAK0hG,KAAK/rE,IAC5B,CACI,GAAmC,IAA/B31B,KAAK0hG,KAAK/rE,GAAU5tB,OAEpB,SAGiB,IAAjB/H,KAAKs5F,UAILt5F,KAAK0hG,KAAK/rE,IAAa31B,KAAK2iG,OAAOhtE,IAAW5uB,OAAO/G,KAAK0hG,KAAK/rE,UAIpC,IAAxB31B,KAAK0hG,KAAK/rE,IAEkB,iBAAxB31B,KAAK0hG,KAAK/rE,KAGjB31B,KAAK0hG,KAAK/rE,GAAY31B,KAAK2iG,OAAOhtE,GAAYiqD,WAAW5/E,KAAK0hG,KAAK/rE,GAAW,KAGlF31B,KAAKisB,OAAOgzD,WAAWtpD,GAAY31B,KAAK0hG,KAAK/rE,IAK7C31B,KAAK0hG,KAAK/rE,GAAY31B,KAAK2iG,OAAOhtE,GAGtC31B,KAAK4iG,YAAYjtE,GAAY31B,KAAK2iG,OAAOhtE,GACzC31B,KAAK6iG,UAAUltE,GAAY31B,KAAK0hG,KAAK/rE,GAGzC,OAAO31B,MAYX+gB,OAAQ,SAAUI,GAEd,GAAKnhB,KAAKk7B,WAcN,GAAI/Z,EAAOnhB,KAAKoiG,UAEZ,OAAO/hG,EAAOohG,UAAUc,YAfhC,CACI,KAAIphF,GAAQnhB,KAAKoiG,WAMb,OAAO/hG,EAAOohG,UAAUa,QAJxBtiG,KAAKk7B,WAAY,EAgBzB,IAAImoE,EAAMrjG,KAAKisB,OAAiB,WAAIjsB,KAAKgd,KAAKmE,KAAK8wC,iBAAmBjyD,KAAKgd,KAAKmE,KAAKC,UAEjFphB,KAAKisB,OAAO3iB,SAEZtJ,KAAKqzE,IAAMgwB,EAAKrjG,KAAKisB,OAAOw0E,UAC5BzgG,KAAKqzE,GAAKptE,KAAK6N,IAAI9T,KAAKqzE,GAAI,KAI5BrzE,KAAKqzE,IAAMgwB,EAAKrjG,KAAKisB,OAAOw0E,UAC5BzgG,KAAKqzE,GAAKptE,KAAK2N,IAAI5T,KAAKqzE,GAAIrzE,KAAKqe,WAGrCre,KAAKs5F,QAAUt5F,KAAKqzE,GAAKrzE,KAAKqe,SAE9Bre,KAAKkK,MAAQlK,KAAKgjG,eAAehjG,KAAKs5F,SAEtC,IAAK,IAAI3jE,KAAY31B,KAAK0hG,KAC1B,CACI,IAAI3wF,EAAQ/Q,KAAK2iG,OAAOhtE,GACpB7kB,EAAM9Q,KAAK0hG,KAAK/rE,GAEhBjvB,MAAMa,QAAQuJ,GAEd9Q,KAAKisB,OAAO/kB,OAAOyuB,GAAY31B,KAAKijG,sBAAsBj8F,KAAKhH,KAAKkjG,qBAAsBpyF,EAAK9Q,KAAKkK,OAIpGlK,KAAKisB,OAAO/kB,OAAOyuB,GAAY5kB,GAAUD,EAAMC,GAAS/Q,KAAKkK,MAIrE,OAAMlK,KAAKisB,OAAO3iB,SAA4B,IAAjBtJ,KAAKs5F,SAAmBt5F,KAAKisB,OAAO3iB,SAA4B,IAAjBtJ,KAAKs5F,QAEtEt5F,KAAKgrB,SAGT3qB,EAAOohG,UAAUc,SAa5BG,aAAc,SAAUx3C,GAEhBlrD,KAAKisB,OAAO3iB,QAEZtJ,KAAKqzE,GAAKrzE,KAAKqe,SAIfre,KAAKqzE,GAAK,EAGd,IAAI9sC,KACAq7D,GAAW,EACX0B,EAAO,EAAIp4C,EAAa,IAE5B,EACA,CACQlrD,KAAKisB,OAAO3iB,SAEZtJ,KAAKqzE,IAAMiwB,EACXtjG,KAAKqzE,GAAKptE,KAAK6N,IAAI9T,KAAKqzE,GAAI,KAI5BrzE,KAAKqzE,IAAMiwB,EACXtjG,KAAKqzE,GAAKptE,KAAK2N,IAAI5T,KAAKqzE,GAAIrzE,KAAKqe,WAGrCre,KAAKs5F,QAAUt5F,KAAKqzE,GAAKrzE,KAAKqe,SAE9Bre,KAAKkK,MAAQlK,KAAKgjG,eAAehjG,KAAKs5F,SAEtC,IAAIiK,KAEJ,IAAK,IAAI5tE,KAAY31B,KAAK0hG,KAC1B,CACI,IAAI3wF,EAAQ/Q,KAAK2iG,OAAOhtE,GACpB7kB,EAAM9Q,KAAK0hG,KAAK/rE,GAEhBjvB,MAAMa,QAAQuJ,GAEdyyF,EAAK5tE,GAAY31B,KAAKijG,sBAAsBj8F,KAAKhH,KAAKkjG,qBAAsBpyF,EAAK9Q,KAAKkK,OAItFq5F,EAAK5tE,GAAY5kB,GAAUD,EAAMC,GAAS/Q,KAAKkK,MAIvDq8B,EAAKhyB,KAAKgvF,KAEJvjG,KAAKisB,OAAO3iB,SAA4B,IAAjBtJ,KAAKs5F,SAAmBt5F,KAAKisB,OAAO3iB,SAA4B,IAAjBtJ,KAAKs5F,WAE7EsI,GAAW,UAGTA,GAEV,GAAI5hG,KAAKuhG,KACT,CACI,IAAIiC,EAAWj9D,EAAK9/B,QACpB+8F,EAASl6F,UACTi9B,EAAOA,EAAKx/B,OAAOy8F,GAGvB,OAAOj9D,GAWXvb,OAAQ,WAGJ,GAAIhrB,KAAKuhG,KACT,CAEI,GAAIvhG,KAAK+iG,WAAoC,IAAvB/iG,KAAK0gG,cAC3B,CAEI,IAAK,IAAI/qE,KAAY31B,KAAK4iG,YAEtB5iG,KAAK2iG,OAAOhtE,GAAY31B,KAAK4iG,YAAYjtE,GACzC31B,KAAK0hG,KAAK/rE,GAAY31B,KAAK6iG,UAAUltE,GAKzC,OAFA31B,KAAK+iG,WAAY,EAEV1iG,EAAOohG,UAAUgB,SAG5BziG,KAAK+iG,WAAa/iG,KAAK+iG,eAIvB,GAA2B,IAAvB/iG,KAAK0gG,cAEL,OAAOrgG,EAAOohG,UAAUgB,SAIhC,GAAIziG,KAAK+iG,UAGL,IAAK,IAAIptE,KAAY31B,KAAK4iG,YAEtB5iG,KAAK2iG,OAAOhtE,GAAY31B,KAAK6iG,UAAUltE,GACvC31B,KAAK0hG,KAAK/rE,GAAY31B,KAAK4iG,YAAYjtE,OAI/C,CAEI,IAAK,IAAIA,KAAY31B,KAAK4iG,YAEtB5iG,KAAK2iG,OAAOhtE,GAAY31B,KAAK4iG,YAAYjtE,GACzC31B,KAAK0hG,KAAK/rE,GAAY31B,KAAK6iG,UAAUltE,GAKrC31B,KAAK0gG,cAAgB,GAErB1gG,KAAK0gG,gBAwBb,OApBA1gG,KAAKoiG,UAAYpiG,KAAKgd,KAAKmE,KAAKA,KAE5BnhB,KAAKuhG,MAAQvhG,KAAK+iG,UAElB/iG,KAAKoiG,WAAapiG,KAAK+hG,UAEjB/hG,KAAK+iG,YAEX/iG,KAAKoiG,WAAapiG,KAAK8hG,aAGvB9hG,KAAKisB,OAAO3iB,QAEZtJ,KAAKqzE,GAAKrzE,KAAKqe,SAIfre,KAAKqzE,GAAK,EAGPhzE,EAAOohG,UAAUe,SAMhCniG,EAAOohG,UAAUl7F,UAAU8B,YAAchI,EAAOohG,UAehDphG,EAAO87F,QAOHK,QASIC,KAAM,SAAW7rF,GAEb,OAAOA,IAWf+rF,WASIiB,GAAI,SAAWhtF,GAEX,OAAOA,EAAIA,GAWfgsF,IAAK,SAAWhsF,GAEZ,OAAOA,GAAM,EAAIA,IAWrBquF,MAAO,SAAWruF,GAEd,OAAOA,GAAK,GAAM,EAAW,GAAMA,EAAIA,GAC9B,MAAUA,GAAMA,EAAI,GAAM,KAW3CisF,OASIe,GAAI,SAAWhtF,GAEX,OAAOA,EAAIA,EAAIA,GAWnBgsF,IAAK,SAAWhsF,GAEZ,QAASA,EAAIA,EAAIA,EAAI,GAWzBquF,MAAO,SAAWruF,GAEd,OAAOA,GAAK,GAAM,EAAW,GAAMA,EAAIA,EAAIA,EACpC,KAAUA,GAAK,GAAMA,EAAIA,EAAI,KAW5CmsF,SASIa,GAAI,SAAWhtF,GAEX,OAAOA,EAAIA,EAAIA,EAAIA,GAWvBgsF,IAAK,SAAWhsF,GAEZ,OAAO,KAAQA,EAAIA,EAAIA,EAAIA,GAW/BquF,MAAO,SAAWruF,GAEd,OAAOA,GAAK,GAAM,EAAU,GAAMA,EAAIA,EAAIA,EAAIA,GACrC,KAAUA,GAAK,GAAMA,EAAIA,EAAIA,EAAI,KAWlDqsF,SASIW,GAAI,SAAWhtF,GAEX,OAAOA,EAAIA,EAAIA,EAAIA,EAAIA,GAW3BgsF,IAAK,SAAWhsF,GAEZ,QAASA,EAAIA,EAAIA,EAAIA,EAAIA,EAAI,GAWjCquF,MAAO,SAAWruF,GAEd,OAAOA,GAAK,GAAM,EAAW,GAAMA,EAAIA,EAAIA,EAAIA,EAAIA,EAC5C,KAAUA,GAAK,GAAMA,EAAIA,EAAIA,EAAIA,EAAI,KAWpDusF,YASIS,GAAI,SAAWhtF,GAEX,OAAU,IAANA,EAAgB,EACV,IAANA,EAAgB,EACb,EAAI3K,KAAK2H,IAAKgD,EAAI3K,KAAKsH,GAAK,IAWvCqvF,IAAK,SAAWhsF,GAEZ,OAAU,IAANA,EAAgB,EACV,IAANA,EAAgB,EACb3K,KAAK4H,IAAK+C,EAAI3K,KAAKsH,GAAK,IAWnC0xF,MAAO,SAAWruF,GAEd,OAAU,IAANA,EAAgB,EACV,IAANA,EAAgB,EACb,IAAQ,EAAI3K,KAAK2H,IAAK3H,KAAKsH,GAAKqD,MAW/CysF,aASIO,GAAI,SAAWhtF,GAEX,OAAa,IAANA,EAAU,EAAI3K,KAAKowF,IAAK,KAAMzlF,EAAI,IAW7CgsF,IAAK,SAAWhsF,GAEZ,OAAa,IAANA,EAAU,EAAI,EAAI3K,KAAKowF,IAAK,GAAK,GAAKzlF,IAWjDquF,MAAO,SAAWruF,GAEd,OAAW,IAANA,EAAiB,EACX,IAANA,EAAiB,GACfA,GAAK,GAAM,EAAW,GAAM3K,KAAKowF,IAAK,KAAMzlF,EAAI,GAChD,IAA4C,EAAlC3K,KAAKowF,IAAK,GAAK,IAAOzlF,EAAI,OAWnD2sF,UASIK,GAAI,SAAWhtF,GAEX,OAAO,EAAI3K,KAAKkL,KAAM,EAAIP,EAAIA,IAWlCgsF,IAAK,SAAWhsF,GAEZ,OAAO3K,KAAKkL,KAAM,KAAQP,EAAIA,IAWlCquF,MAAO,SAAWruF,GAEd,OAAOA,GAAK,GAAM,GAAY,IAAQ3K,KAAKkL,KAAM,EAAIP,EAAIA,GAAK,GACvD,IAAQ3K,KAAKkL,KAAM,GAAMP,GAAK,GAAKA,GAAK,KAWvD4sF,SASII,GAAI,SAAWhtF,GAEX,IAAIsI,EAAG1J,EAAI,GACX,OAAW,IAANoB,EAAiB,EACX,IAANA,EAAiB,IAChBpB,GAAKA,EAAI,GAAMA,EAAI,EAAG0J,EAAInH,IAC3BmH,EAJe,GAIPjT,KAAKw9F,KAAM,EAAIj0F,IAAQ,EAAIvJ,KAAKsH,KAClCiC,EAAIvJ,KAAKowF,IAAK,EAAG,IAAOzlF,GAAK,IAAQ3K,KAAK4H,KAAO+C,EAAIsI,IAAQ,EAAIjT,KAAKsH,IAL7D,MAgBxBqvF,IAAK,SAAWhsF,GAEZ,IAAIsI,EAAG1J,EAAI,GACX,OAAW,IAANoB,EAAiB,EACX,IAANA,EAAiB,IAChBpB,GAAKA,EAAI,GAAMA,EAAI,EAAG0J,EAAInH,IAC3BmH,EAJe,GAIPjT,KAAKw9F,KAAM,EAAIj0F,IAAQ,EAAIvJ,KAAKsH,IACpCiC,EAAIvJ,KAAKowF,IAAK,GAAK,GAAKzlF,GAAK3K,KAAK4H,KAAO+C,EAAIsI,IAAQ,EAAIjT,KAAKsH,IALnD,IAKgE,IAWxF0xF,MAAO,SAAWruF,GAEd,IAAIsI,EAAG1J,EAAI,GACX,OAAW,IAANoB,EAAiB,EACX,IAANA,EAAiB,IAChBpB,GAAKA,EAAI,GAAMA,EAAI,EAAG0J,EAAInH,IAC3BmH,EAJe,GAIPjT,KAAKw9F,KAAM,EAAIj0F,IAAQ,EAAIvJ,KAAKsH,KACtCqD,GAAK,GAAM,EAAqBpB,EAAIvJ,KAAKowF,IAAK,EAAG,IAAOzlF,GAAK,IAAQ3K,KAAK4H,KAAO+C,EAAIsI,IAAQ,EAAIjT,KAAKsH,IALzF,KAKW,GACxBiC,EAAIvJ,KAAKowF,IAAK,GAAI,IAAOzlF,GAAK,IAAQ3K,KAAK4H,KAAO+C,EAAIsI,IAAQ,EAAIjT,KAAKsH,IAN1D,IAMuE,GAAM,KAWzGkwF,MASIG,GAAI,SAAWhtF,GAEX,IAAIsI,EAAI,QACR,OAAOtI,EAAIA,IAAQsI,EAAI,GAAMtI,EAAIsI,IAWrC0jF,IAAK,SAAWhsF,GAEZ,IAAIsI,EAAI,QACR,QAAStI,EAAIA,IAAQsI,EAAI,GAAMtI,EAAIsI,GAAM,GAW7C+lF,MAAO,SAAWruF,GAEd,IAAIsI,EAAI,UACR,OAAOtI,GAAK,GAAM,EAAmBA,EAAIA,IAAQsI,EAAI,GAAMtI,EAAIsI,GAAlC,GACtB,KAAUtI,GAAK,GAAMA,IAAQsI,EAAI,GAAMtI,EAAIsI,GAAM,KAWhEwkF,QASIE,GAAI,SAAWhtF,GAEX,OAAO,EAAIvQ,EAAO87F,OAAOuB,OAAOd,IAAK,EAAIhsF,IAW7CgsF,IAAK,SAAWhsF,GAEZ,OAAKA,EAAM,EAAI,KAEJ,OAASA,EAAIA,EAEZA,EAAM,EAAI,KAEX,QAAWA,GAAO,IAAM,MAAWA,EAAI,IAEtCA,EAAM,IAAM,KAEb,QAAWA,GAAO,KAAO,MAAWA,EAAI,MAIxC,QAAWA,GAAO,MAAQ,MAAWA,EAAI,SAaxDquF,MAAO,SAAWruF,GAEd,OAAKA,EAAI,GAAgD,GAAnCvQ,EAAO87F,OAAOuB,OAAOE,GAAQ,EAAJhtF,GACA,GAAxCvQ,EAAO87F,OAAOuB,OAAOd,IAAS,EAAJhsF,EAAQ,GAAY,MAQjEvQ,EAAO87F,OAAOqF,QAAUnhG,EAAO87F,OAAOK,OAAOC,KAC7Cp8F,EAAO87F,OAAOD,OAAS77F,EAAO87F,OAAOK,OAAOC,KAC5Cp8F,EAAO87F,OAAOC,OAAS/7F,EAAO87F,OAAOQ,UAAUC,IAC/Cv8F,EAAO87F,OAAOE,OAASh8F,EAAO87F,OAAOU,MAAMD,IAC3Cv8F,EAAO87F,OAAOG,OAASj8F,EAAO87F,OAAOY,QAAQH,IAC7Cv8F,EAAO87F,OAAOI,OAASl8F,EAAO87F,OAAOc,QAAQL,IAuC7Cv8F,EAAO28B,KAAO,SAAUhgB,GAMpBhd,KAAKgd,KAAOA,EAOZhd,KAAKmhB,KAAO,EAOZnhB,KAAK0jG,SAAW,EAchB1jG,KAAKw8B,IAAM,EAcXx8B,KAAKs/B,QAAU,EAaft/B,KAAKohB,UAAY,EAajBphB,KAAK0oF,eAAiB,EAAI,GAO1B1oF,KAAKiyD,iBAAoB,EAAI,GAAM,IAOnCjyD,KAAKi/B,eAAiB,EAAM,GAW5Bj/B,KAAK2jG,YAAc,GAYnB3jG,KAAK4jG,aAAe5jG,KAAKo/B,WAczBp/B,KAAKm/B,WAAa,EAOlBn/B,KAAK6jG,gBAAiB,EAStB7jG,KAAKskF,OAAS,EASdtkF,KAAKsjG,IAAM,EASXtjG,KAAK8jG,OAAS,IASd9jG,KAAK+jG,OAAS,EAUd/jG,KAAKgkG,MAAQ,IASbhkG,KAAKikG,MAAQ,EAObjkG,KAAKkkG,cAAgB,EAMrBlkG,KAAK+0F,WAAa,EAMlB/0F,KAAKmkG,aAAe,EAMpBnkG,KAAK8yB,OAAS,IAAIzyB,EAAO+jG,MAAMpkG,KAAKgd,MAAM,GAM1Chd,KAAKqkG,YAAc,EAMnBrkG,KAAKskG,oBAAsB,EAM3BtkG,KAAKukG,SAAW,EAMhBvkG,KAAKwkG,gBAAkB,EAMvBxkG,KAAKykG,cAAgB,EAMrBzkG,KAAK0kG,cAAe,EAMpB1kG,KAAK2kG,YAITtkG,EAAO28B,KAAKz2B,WAQR6Y,KAAM,WAEFpf,KAAKukG,SAAWp6E,KAAKqS,MACrBx8B,KAAKmhB,KAAOgJ,KAAKqS,MACjBx8B,KAAK8yB,OAAO/hB,QACZ/Q,KAAKmkG,aAAenkG,KAAKmhB,MAW7B5N,IAAK,SAAUqxF,GAIX,OAFA5kG,KAAK2kG,QAAQpwF,KAAKqwF,GAEXA,GAWX3hF,OAAQ,SAAU4hF,QAEMt6F,IAAhBs6F,IAA6BA,GAAc,GAE/C,IAAID,EAAQ,IAAIvkG,EAAO+jG,MAAMpkG,KAAKgd,KAAM6nF,GAIxC,OAFA7kG,KAAK2kG,QAAQpwF,KAAKqwF,GAEXA,GASXx+E,UAAW,WAEP,IAAK,IAAIpe,EAAI,EAAGA,EAAIhI,KAAK2kG,QAAQ58F,OAAQC,IAErChI,KAAK2kG,QAAQ38F,GAAGse,UAGpBtmB,KAAK2kG,WAEL3kG,KAAK8yB,OAAO1M,aAShBmZ,QAAS,WAGL,IAAIulE,EAAkB9kG,KAAKmhB,KAG3BnhB,KAAKmhB,KAAOgJ,KAAKqS,MAGjBx8B,KAAKohB,UAAYphB,KAAKmhB,KAAO2jF,GAWjC/jF,OAAQ,SAAUI,GAGd,IAAI2jF,EAAkB9kG,KAAKmhB,KAG3BnhB,KAAKmhB,KAAOgJ,KAAKqS,MAGjBx8B,KAAKohB,UAAYphB,KAAKmhB,KAAO2jF,EAG7B9kG,KAAK0jG,SAAW1jG,KAAKw8B,IAIrBx8B,KAAKw8B,IAAMrb,EAGXnhB,KAAKs/B,QAAUt/B,KAAKw8B,IAAMx8B,KAAK0jG,SAE3B1jG,KAAKgd,KAAKme,IAAIs5D,gBAKdz0F,KAAK+0F,WAAa9uF,KAAKI,MAAMJ,KAAK6N,IAAI,EAAI,IAAS9T,KAAK2jG,aAAgB3jG,KAAKmkG,aAAehjF,KAG5FnhB,KAAKmkG,aAAehjF,EAAOnhB,KAAK+0F,YAKhC/0F,KAAK6jG,gBAEL7jG,KAAK+kG,uBAIJ/kG,KAAKgd,KAAKoG,SAGXpjB,KAAK8yB,OAAO/R,OAAO/gB,KAAKmhB,MAEpBnhB,KAAK2kG,QAAQ58F,QAEb/H,KAAKglG,iBAajBA,aAAc,WAMV,IAHA,IAAIh9F,EAAI,EACJF,EAAM9H,KAAK2kG,QAAQ58F,OAEhBC,EAAIF,GAEH9H,KAAK2kG,QAAQ38F,GAAG+Y,OAAO/gB,KAAKmhB,MAE5BnZ,KAKAhI,KAAK2kG,QAAQh/E,OAAO3d,EAAG,GACvBF,MAaZi9F,qBAAsB,WAGlB/kG,KAAKqkG,cACLrkG,KAAKskG,qBAAuBtkG,KAAKs/B,QAG7Bt/B,KAAKqkG,aAAkC,EAAnBrkG,KAAK2jG,cAGzB3jG,KAAK4jG,aAAiF,EAAlE39F,KAAKI,MAAM,KAAOrG,KAAKskG,oBAAsBtkG,KAAKqkG,cACtErkG,KAAKqkG,YAAc,EACnBrkG,KAAKskG,oBAAsB,GAG/BtkG,KAAKgkG,MAAQ/9F,KAAK2N,IAAI5T,KAAKgkG,MAAOhkG,KAAKs/B,SACvCt/B,KAAKikG,MAAQh+F,KAAK6N,IAAI9T,KAAKikG,MAAOjkG,KAAKs/B,SAEvCt/B,KAAKskF,SAEDtkF,KAAKw8B,IAAMx8B,KAAKwkG,gBAAkB,MAElCxkG,KAAKsjG,IAAMr9F,KAAKsI,MAAqB,IAAdvO,KAAKskF,QAAkBtkF,KAAKw8B,IAAMx8B,KAAKwkG,kBAC9DxkG,KAAK8jG,OAAS79F,KAAK2N,IAAI5T,KAAK8jG,OAAQ9jG,KAAKsjG,KACzCtjG,KAAK+jG,OAAS99F,KAAK6N,IAAI9T,KAAK+jG,OAAQ/jG,KAAKsjG,KACzCtjG,KAAKwkG,gBAAkBxkG,KAAKw8B,IAC5Bx8B,KAAKskF,OAAS,IAWtBx0D,WAAY,WAER9vB,KAAKykG,cAAgBt6E,KAAKqS,MAE1Bx8B,KAAK8yB,OAAO9N,QAIZ,IAFA,IAAIhd,EAAIhI,KAAK2kG,QAAQ58F,OAEdC,KAEHhI,KAAK2kG,QAAQ38F,GAAGm4F,UAWxBpwE,YAAa,WAGT/vB,KAAKmhB,KAAOgJ,KAAKqS,MAEjBx8B,KAAKkkG,cAAgBlkG,KAAKmhB,KAAOnhB,KAAKykG,cAEtCzkG,KAAK8yB,OAAO5N,SAIZ,IAFA,IAAIld,EAAIhI,KAAK2kG,QAAQ58F,OAEdC,KAEHhI,KAAK2kG,QAAQ38F,GAAGo4F,WAWxB70E,oBAAqB,WACjB,MAAqC,MAA7BvrB,KAAKmhB,KAAOnhB,KAAKukG,WAU7BU,aAAc,SAAUC,GACpB,OAAOllG,KAAKmhB,KAAO+jF,GAUvBC,oBAAqB,SAAUD,GAC3B,MAA6B,MAArBllG,KAAKmhB,KAAO+jF,IAQxBjjF,MAAO,WAEHjiB,KAAKukG,SAAWvkG,KAAKmhB,KACrBnhB,KAAKomB,cAcb3e,OAAOmF,eAAevM,EAAO28B,KAAKz2B,UAAW,cAEzCmG,IAAK,WAED,OAAO1M,KAAK2jG,aAIhBh3F,IAAK,SAAUzC,GAEXlK,KAAK2jG,YAAcz5F,EAInBlK,KAAK0oF,eAAiB,EAAIx+E,EAE1BlK,KAAKiyD,iBAAyC,IAAtBjyD,KAAK0oF,eAE7B1oF,KAAKi/B,eAAiB,EAAM/0B,KAMpC7J,EAAO28B,KAAKz2B,UAAU8B,YAAchI,EAAO28B,KAsB3C38B,EAAO+jG,MAAQ,SAAUpnF,EAAM6nF,QAEPt6F,IAAhBs6F,IAA6BA,GAAc,GAM/C7kG,KAAKgd,KAAOA,EAUZhd,KAAKolG,SAAU,EAMfplG,KAAK6kG,YAAcA,EAOnB7kG,KAAKqlG,SAAU,EAMfrlG,KAAKs/B,QAAU,EAKft/B,KAAK8yB,UASL9yB,KAAK+gG,WAAa,IAAI1gG,EAAOud,OAO7B5d,KAAKslG,SAAW,EAKhBtlG,KAAKulG,QAAU,IAOfvlG,KAAKojB,QAAS,EAMdpjB,KAAK67B,aAAc,EAOnB77B,KAAKukG,SAAW,EAMhBvkG,KAAKykG,cAAgB,EAMrBzkG,KAAKwlG,YAAc,EAMnBxlG,KAAKylG,KAAOt7E,KAAKqS,MAMjBx8B,KAAK0sB,KAAO,EAMZ1sB,KAAK0lG,QAAU,EAMf1lG,KAAK2sB,GAAK,EAMV3sB,KAAK2lG,MAAQ,EAMb3lG,KAAK4lG,SAAW,GASpBvlG,EAAO+jG,MAAMyB,OAAS,IAOtBxlG,EAAO+jG,MAAM0B,OAAS,IAOtBzlG,EAAO+jG,MAAM2B,KAAO,IAOpB1lG,EAAO+jG,MAAM4B,QAAU,IAEvB3lG,EAAO+jG,MAAM79F,WAiBT0c,OAAQ,SAAUm1B,EAAO+S,EAAM86C,EAAaxyE,EAAUlO,EAAiB1e,GAInE,IAAIq/F,EAFJ9tD,EAAQnyC,KAAKsI,MAAM6pC,GAID,IAAdp4C,KAAKylG,KAELS,GAAQlmG,KAAKgd,KAAKmE,KAAKA,KAIvB+kF,GAAQlmG,KAAKylG,KAGjB,IAAI52E,EAAQ,IAAIxuB,EAAO8lG,WAAWnmG,KAAMo4C,EAAO8tD,EAAMD,EAAa96C,EAAM13B,EAAUlO,EAAiB1e,GAQnG,OANA7G,KAAK8yB,OAAOve,KAAKsa,GAEjB7uB,KAAKu3B,QAELv3B,KAAKqlG,SAAU,EAERx2E,GAmBXtb,IAAK,SAAU6kC,EAAO3kB,EAAUlO,GAE5B,OAAOvlB,KAAKijB,OAAOm1B,GAAO,EAAO,EAAG3kB,EAAUlO,EAAiB7e,MAAMH,UAAUE,MAAMO,KAAKC,UAAW,KAqBzG+jB,OAAQ,SAAUotB,EAAO6tD,EAAaxyE,EAAUlO,GAE5C,OAAOvlB,KAAKijB,OAAOm1B,GAAO,EAAO6tD,EAAaxyE,EAAUlO,EAAiB7e,MAAMH,UAAUE,MAAMO,KAAKC,UAAW,KAmBnHkkD,KAAM,SAAU/S,EAAO3kB,EAAUlO,GAE7B,OAAOvlB,KAAKijB,OAAOm1B,GAAO,EAAM,EAAG3kB,EAAUlO,EAAiB7e,MAAMH,UAAUE,MAAMO,KAAKC,UAAW,KASxG8J,MAAO,SAAUqnC,GAEb,IAAIp4C,KAAKolG,QAAT,CAKAplG,KAAKukG,SAAWvkG,KAAKgd,KAAKmE,KAAKA,MAAQi3B,GAAS,GAEhDp4C,KAAKolG,SAAU,EAEf,IAAK,IAAIp9F,EAAI,EAAGA,EAAIhI,KAAK8yB,OAAO/qB,OAAQC,IAEpChI,KAAK8yB,OAAO9qB,GAAGk+F,KAAOlmG,KAAK8yB,OAAO9qB,GAAGowC,MAAQp4C,KAAKukG,WAU1D3kE,KAAM,SAAUwmE,GAEZpmG,KAAKolG,SAAU,OAEK76F,IAAhB67F,IAA6BA,GAAc,GAE3CA,IAEApmG,KAAK8yB,OAAO/qB,OAAS,IAU7Bud,OAAQ,SAAUuJ,GAEd,IAAK,IAAI7mB,EAAI,EAAGA,EAAIhI,KAAK8yB,OAAO/qB,OAAQC,IAEpC,GAAIhI,KAAK8yB,OAAO9qB,KAAO6mB,EAGnB,OADA7uB,KAAK8yB,OAAO9qB,GAAG63F,eAAgB,GACxB,EAIf,OAAO,GAUXtoE,MAAO,WAECv3B,KAAK8yB,OAAO/qB,OAAS,IAGrB/H,KAAK8yB,OAAOwE,KAAKt3B,KAAK23B,aAEtB33B,KAAKslG,SAAWtlG,KAAK8yB,OAAO,GAAGozE,OAUvCvuE,YAAa,SAAUnoB,EAAGI,GAEtB,OAAIJ,EAAE02F,KAAOt2F,EAAEs2F,MAEH,EAEH12F,EAAE02F,KAAOt2F,EAAEs2F,KAET,EAGJ,GAUXG,mBAAoB,WAIhB,IAFArmG,KAAK2sB,GAAK3sB,KAAK8yB,OAAO/qB,OAEf/H,KAAK2sB,MAEJ3sB,KAAK8yB,OAAO9yB,KAAK2sB,IAAIkzE,eAErB7/F,KAAK8yB,OAAOnN,OAAO3lB,KAAK2sB,GAAI,GAIpC3sB,KAAK0sB,KAAO1sB,KAAK8yB,OAAO/qB,OACxB/H,KAAK2sB,GAAK,GAYd5L,OAAQ,SAAUI,GAEd,GAAInhB,KAAKojB,OAEL,OAAO,EAoBX,GAjBApjB,KAAKs/B,QAAUne,EAAOnhB,KAAKylG,KAC3BzlG,KAAKylG,KAAOtkF,EAGRnhB,KAAKs/B,QAAUt/B,KAAKulG,SAKpBvlG,KAAKsmG,aAAanlF,EAAOnhB,KAAKs/B,SAGlCt/B,KAAK0lG,QAAU,EAGf1lG,KAAKqmG,qBAEDrmG,KAAKolG,SAAWplG,KAAKylG,MAAQzlG,KAAKslG,UAAYtlG,KAAK0sB,KAAO,EAC9D,CACI,KAAO1sB,KAAK2sB,GAAK3sB,KAAK0sB,MAAQ1sB,KAAKolG,SACnC,CACI,IAAIv2E,EAAQ7uB,KAAK8yB,OAAO9yB,KAAK2sB,IAE7B,KAAI3sB,KAAKylG,MAAQ52E,EAAMq3E,OAASr3E,EAAMgxE,cAgClC,MA7BA7/F,KAAK4lG,SAAY5lG,KAAKylG,KAAO52E,EAAMupB,OAAUp4C,KAAKylG,KAAO52E,EAAMq3E,MAE3DlmG,KAAK4lG,SAAW,IAEhB5lG,KAAK4lG,SAAW5lG,KAAKylG,KAAO52E,EAAMupB,QAGnB,IAAfvpB,EAAMs8B,MAENt8B,EAAMq3E,KAAOlmG,KAAK4lG,SAClB/2E,EAAM4E,SAAStsB,MAAM0nB,EAAMtJ,gBAAiBsJ,EAAMhoB,OAE7CgoB,EAAMo3E,YAAc,GAEzBp3E,EAAMo3E,cACNp3E,EAAMq3E,KAAOlmG,KAAK4lG,SAClB/2E,EAAM4E,SAAStsB,MAAM0nB,EAAMtJ,gBAAiBsJ,EAAMhoB,QAIlD7G,KAAK0lG,UACL72E,EAAMgxE,eAAgB,EACtBhxE,EAAM4E,SAAStsB,MAAM0nB,EAAMtJ,gBAAiBsJ,EAAMhoB,OAGtD7G,KAAK2sB,KAST3sB,KAAK8yB,OAAO/qB,OAAS/H,KAAK0lG,QAE1B1lG,KAAKu3B,SAILv3B,KAAKqlG,SAAU,EACfrlG,KAAK+gG,WAAW1/E,SAASrhB,OAIjC,OAAIA,KAAKqlG,UAAWrlG,KAAK6kG,aAe7B7/E,MAAO,WAEEhlB,KAAKolG,UAKVplG,KAAK67B,aAAc,EAEf77B,KAAKojB,SAKTpjB,KAAKykG,cAAgBzkG,KAAKgd,KAAKmE,KAAKA,KAEpCnhB,KAAKojB,QAAS,KASlB+8E,OAAQ,YAEAngG,KAAKojB,QAAWpjB,KAAKolG,UAKzBplG,KAAKykG,cAAgBzkG,KAAKgd,KAAKmE,KAAKA,KAEpCnhB,KAAKojB,QAAS,IAUlBkjF,aAAc,SAAUC,GAEpB,IAAK,IAAIv+F,EAAI,EAAGA,EAAIhI,KAAK8yB,OAAO/qB,OAAQC,IAEpC,IAAKhI,KAAK8yB,OAAO9qB,GAAG63F,cACpB,CAEI,IAAIh4F,EAAI7H,KAAK8yB,OAAO9qB,GAAGk+F,KAAOK,EAE1B1+F,EAAI,IAEJA,EAAI,GAIR7H,KAAK8yB,OAAO9qB,GAAGk+F,KAAOlmG,KAAKylG,KAAO59F,EAI1C,IAAIuO,EAAIpW,KAAKslG,SAAWiB,EAIpBvmG,KAAKslG,SAFLlvF,EAAI,EAEYpW,KAAKylG,KAILzlG,KAAKylG,KAAOrvF,GAUpC8O,OAAQ,WAEJ,GAAKllB,KAAKojB,OAAV,CAKA,IAAIoZ,EAAMx8B,KAAKgd,KAAKmE,KAAKA,KACzBnhB,KAAKwlG,aAAehpE,EAAMx8B,KAAKylG,KAC/BzlG,KAAKylG,KAAOjpE,EAEZx8B,KAAKsmG,aAAatmG,KAAKykG,eAEvBzkG,KAAKojB,QAAS,EACdpjB,KAAK67B,aAAc,IASvBukE,QAAS,WAEDpgG,KAAK67B,aAML77B,KAAKklB,UAWbkB,UAAW,WAEPpmB,KAAK+gG,WAAW36E,YAChBpmB,KAAK8yB,OAAO/qB,OAAS,EACrB/H,KAAK0sB,KAAO,EACZ1sB,KAAK2sB,GAAK,GAUdrG,QAAS,WAELtmB,KAAK+gG,WAAW36E,YAChBpmB,KAAKolG,SAAU,EACfplG,KAAKqlG,SAAU,EACfrlG,KAAK8yB,UACL9yB,KAAK0sB,KAAO,EACZ1sB,KAAK2sB,GAAK,IAWlBllB,OAAOmF,eAAevM,EAAO+jG,MAAM79F,UAAW,QAE1CmG,IAAK,WACD,OAAO1M,KAAKslG,YAUpB79F,OAAOmF,eAAevM,EAAO+jG,MAAM79F,UAAW,YAE1CmG,IAAK,WAED,OAAI1M,KAAKolG,SAAWplG,KAAKslG,SAAWtlG,KAAKylG,KAE9BzlG,KAAKslG,SAAWtlG,KAAKylG,KAIrB,KAYnBh+F,OAAOmF,eAAevM,EAAO+jG,MAAM79F,UAAW,UAE1CmG,IAAK,WACD,OAAO1M,KAAK8yB,OAAO/qB,UAU3BN,OAAOmF,eAAevM,EAAO+jG,MAAM79F,UAAW,MAE1CmG,IAAK,WAED,OAAI1M,KAAKolG,QAEEplG,KAAKylG,KAAOzlG,KAAKukG,SAAWvkG,KAAKwlG,YAIjC,KAYnB/9F,OAAOmF,eAAevM,EAAO+jG,MAAM79F,UAAW,WAE1CmG,IAAK,WAED,OAAI1M,KAAKolG,QAEY,KAAVplG,KAAKqjG,GAIL,KAOnBhjG,EAAO+jG,MAAM79F,UAAU8B,YAAchI,EAAO+jG,MA6B5C/jG,EAAO8lG,WAAa,SAAUvB,EAAOxsD,EAAO8tD,EAAMD,EAAa96C,EAAM13B,EAAUlO,EAAiB1e,GAO5F7G,KAAK4kG,MAAQA,EAKb5kG,KAAKo4C,MAAQA,EAKbp4C,KAAKkmG,KAAOA,EAKZlmG,KAAKimG,YAAcA,EAAc,EAKjCjmG,KAAKmrD,KAAOA,EAKZnrD,KAAKyzB,SAAWA,EAKhBzzB,KAAKulB,gBAAkBA,EAKvBvlB,KAAK6G,KAAOA,EAMZ7G,KAAK6/F,eAAgB,GAIzBx/F,EAAO8lG,WAAW5/F,UAAU8B,YAAchI,EAAO8lG,WAgBjD9lG,EAAOisD,iBAAmB,SAAU/xB,GAKhCv6B,KAAKu6B,OAASA,EAKdv6B,KAAKgd,KAAOud,EAAOvd,KASnBhd,KAAKwmG,aAAe,KAMpBxmG,KAAKymG,YAAc,KAMnBzmG,KAAK0mG,iBAAkB,EAMvB1mG,KAAK2mG,UAAW,EAOhB3mG,KAAK4mG,WAAa,KAMlB5mG,KAAK6mG,UAML7mG,KAAK8mG,kBAITzmG,EAAOisD,iBAAiB/lD,WAYpBosD,cAAe,SAAUE,EAAWv/B,GAEhC,QAAkB/oB,IAAdsoD,EAEA,OAAO,EAGX,GAAI7yD,KAAK2mG,SAGL,IAAK,IAAII,KAAQ/mG,KAAK6mG,OAElB7mG,KAAK6mG,OAAOE,GAAM1kB,gBAAgBxvB,GAwB1C,OApBA7yD,KAAK4mG,WAAa/zC,OAEJtoD,IAAV+oB,GAAiC,OAAVA,EAEvBtzB,KAAKszB,MAAQ,EAIQ,iBAAVA,EAEPtzB,KAAK+zD,UAAYzgC,EAIjBtzB,KAAKszB,MAAQA,EAIrBtzB,KAAK2mG,UAAW,GAET,GAaXK,cAAe,SAAUn0C,EAAWv/B,GAIhC,GAFAtzB,KAAK4mG,WAAa/zC,EAAU1mD,QAExBnM,KAAK2mG,SAGL,IAAK,IAAII,KAAQ/mG,KAAK6mG,OAElB7mG,KAAK6mG,OAAOE,GAAM1kB,gBAAgBriF,KAAK4mG,YAsB/C,YAlBcr8F,IAAV+oB,GAAiC,OAAVA,EAEvBtzB,KAAKszB,MAAQ,EAIQ,iBAAVA,EAEPtzB,KAAK+zD,UAAYzgC,EAIjBtzB,KAAKszB,MAAQA,EAIrBtzB,KAAK2mG,UAAW,GAET,GAeXpzF,IAAK,SAAUvJ,EAAMs6E,EAAQp5B,EAAWC,EAAM87C,GAiC1C,OA/BA3iB,EAASA,MACTp5B,EAAYA,GAAa,QAEZ3gD,IAAT4gD,IAAsBA,GAAO,QAGT5gD,IAApB08F,IAIIA,KAFA3iB,GAA+B,iBAAdA,EAAO,KAUhCtkF,KAAK8mG,iBAEL9mG,KAAK4mG,WAAWM,gBAAgB5iB,EAAQ2iB,EAAiBjnG,KAAK8mG,eAE9D9mG,KAAK6mG,OAAO78F,GAAQ,IAAI3J,EAAO2qD,UAAUhrD,KAAKgd,KAAMhd,KAAKu6B,OAAQvwB,EAAMhK,KAAK4mG,WAAY5mG,KAAK8mG,cAAe57C,EAAWC,GAEvHnrD,KAAKymG,YAAczmG,KAAK6mG,OAAO78F,GAE3BhK,KAAKu6B,OAAOs5B,gBAEZ7zD,KAAKu6B,OAAOu5B,gBAAiB,GAG1B9zD,KAAK6mG,OAAO78F,IAYvBm9F,eAAgB,SAAU7iB,EAAQ2iB,QAEN18F,IAApB08F,IAAiCA,GAAkB,GAEvD,IAAK,IAAIj/F,EAAI,EAAGA,EAAIs8E,EAAOv8E,OAAQC,IAE/B,IAAwB,IAApBi/F,GAEA,GAAI3iB,EAAOt8E,GAAKhI,KAAK4mG,WAAW/uE,MAE5B,OAAO,OAKX,IAAkD,IAA9C73B,KAAK4mG,WAAWQ,eAAe9iB,EAAOt8E,IAEtC,OAAO,EAKnB,OAAO,GAoBXijD,KAAM,SAAUjhD,EAAMkhD,EAAWC,EAAMC,GAEnC,GAAIprD,KAAK6mG,OAAO78F,GAEZ,OAAIhK,KAAKymG,cAAgBzmG,KAAK6mG,OAAO78F,IAEE,IAA/BhK,KAAKymG,YAAYY,WAEjBrnG,KAAKymG,YAAYrjF,QAAS,EACnBpjB,KAAKymG,YAAYx7C,KAAKC,EAAWC,EAAMC,IAG3CprD,KAAKymG,aAIRzmG,KAAKymG,aAAezmG,KAAKymG,YAAYY,WAErCrnG,KAAKymG,YAAY7mE,OAGrB5/B,KAAKymG,YAAczmG,KAAK6mG,OAAO78F,GAC/BhK,KAAKymG,YAAYrjF,QAAS,EAC1BpjB,KAAKwmG,aAAexmG,KAAKymG,YAAYD,aAC9BxmG,KAAKymG,YAAYx7C,KAAKC,EAAWC,EAAMC,KAc1DxrB,KAAM,SAAU51B,EAAMojD,QAEC7iD,IAAf6iD,IAA4BA,GAAa,IAEzCptD,KAAKymG,aAAgC,iBAATz8F,GAAqBA,IAAShK,KAAKymG,YAAYz8F,MAE3EhK,KAAKymG,YAAY7mE,KAAKwtB,IAY9BrsC,OAAQ,WAEJ,QAAI/gB,KAAK0mG,kBAAoB1mG,KAAKu6B,OAAOld,cAKrCrd,KAAKymG,cAAezmG,KAAKymG,YAAY1lF,YAErC/gB,KAAKwmG,aAAexmG,KAAKymG,YAAYD,cAC9B,KAafvyE,KAAM,SAAUT,GAERxzB,KAAKymG,cAELzmG,KAAKymG,YAAYxyE,KAAKT,GACtBxzB,KAAKwmG,aAAexmG,KAAKymG,YAAYD,eAW7CtyE,SAAU,SAAUV,GAEZxzB,KAAKymG,cAELzmG,KAAKymG,YAAYvyE,SAASV,GAC1BxzB,KAAKwmG,aAAexmG,KAAKymG,YAAYD,eAY7Cc,aAAc,SAAUt9F,GAEpB,MAAoB,iBAATA,GAEHhK,KAAK6mG,OAAO78F,GAELhK,KAAK6mG,OAAO78F,GAIpB,MASXu9F,aAAc,aAadjhF,QAAS,WAEDygF,EAAO,KAEX,IAAK,IAAIA,KAAQ/mG,KAAK6mG,OAEd7mG,KAAK6mG,OAAO/9F,eAAei+F,IAE3B/mG,KAAK6mG,OAAOE,GAAMzgF,UAI1BtmB,KAAK6mG,UACL7mG,KAAK8mG,iBACL9mG,KAAK4mG,WAAa,KAClB5mG,KAAKymG,YAAc,KACnBzmG,KAAKwmG,aAAe,KACpBxmG,KAAKu6B,OAAS,KACdv6B,KAAKgd,KAAO,OAMpB3c,EAAOisD,iBAAiB/lD,UAAU8B,YAAchI,EAAOisD,iBAOvD7kD,OAAOmF,eAAevM,EAAOisD,iBAAiB/lD,UAAW,aAErDmG,IAAK,WACD,OAAO1M,KAAK4mG,cAUpBn/F,OAAOmF,eAAevM,EAAOisD,iBAAiB/lD,UAAW,cAErDmG,IAAK,WAED,OAAO1M,KAAK4mG,WAAW/uE,SAS/BpwB,OAAOmF,eAAevM,EAAOisD,iBAAiB/lD,UAAW,UAErDmG,IAAK,WAED,OAAO1M,KAAKymG,YAAYxF,UAI5Bt0F,IAAK,SAAUzC,GAEXlK,KAAKymG,YAAYrjF,OAASlZ,KAUlCzC,OAAOmF,eAAevM,EAAOisD,iBAAiB/lD,UAAW,QAErDmG,IAAK,WAED,GAAI1M,KAAKymG,YAEL,OAAOzmG,KAAKymG,YAAYz8F,QAWpCvC,OAAOmF,eAAevM,EAAOisD,iBAAiB/lD,UAAW,SAErDmG,IAAK,WAED,GAAI1M,KAAKwmG,aAEL,OAAOxmG,KAAKwmG,aAAaz9F,OAKjC4D,IAAK,SAAUzC,GAEX,IAAIs9F,EAEiB,iBAAVt9F,GAAsBlK,KAAK4mG,aAAeY,EAAWxnG,KAAK4mG,WAAWa,SAASv9F,MAErFlK,KAAKwmG,aAAegB,EACpBxnG,KAAKu6B,OAAO83B,SAASryD,KAAKwmG,kBAWtC/+F,OAAOmF,eAAevM,EAAOisD,iBAAiB/lD,UAAW,aAErDmG,IAAK,WAED,GAAI1M,KAAKwmG,aAEL,OAAOxmG,KAAKwmG,aAAax8F,MAKjC2C,IAAK,SAAUzC,GAEX,IAAIs9F,EAEiB,iBAAVt9F,GAAsBlK,KAAK4mG,aAAeY,EAAWxnG,KAAK4mG,WAAWc,eAAex9F,KAE3FlK,KAAKwmG,aAAegB,EACpBxnG,KAAK2nG,YAAc3nG,KAAKwmG,aAAaz9F,MACrC/I,KAAKu6B,OAAO83B,SAASryD,KAAKwmG,eAI1Bl+F,QAAQG,KAAK,yBAA2ByB,MA2BpD7J,EAAO2qD,UAAY,SAAUhuC,EAAMiP,EAAQjiB,EAAM6oD,EAAWyxB,EAAQp5B,EAAWC,QAE9D5gD,IAAT4gD,IAAsBA,GAAO,GAKjCnrD,KAAKgd,KAAOA,EAMZhd,KAAK+uD,QAAU9iC,EAMfjsB,KAAK4mG,WAAa/zC,EAKlB7yD,KAAKgK,KAAOA,EAMZhK,KAAK4nG,WACL5nG,KAAK4nG,QAAU5nG,KAAK4nG,QAAQ7gG,OAAOu9E,GAKnCtkF,KAAKo4C,MAAQ,IAAO8S,EAKpBlrD,KAAKmrD,KAAOA,EAKZnrD,KAAK6nG,UAAY,EAMjB7nG,KAAKorD,gBAAiB,EAMtBprD,KAAK8nG,YAAa,EAMlB9nG,KAAKqnG,WAAY,EAMjBrnG,KAAKihG,UAAW,EAOhBjhG,KAAK+nG,gBAAkB,EAOvB/nG,KAAK2nG,YAAc,EAOnB3nG,KAAKgoG,WAAa,EAOlBhoG,KAAKioG,WAAa,EAKlBjoG,KAAKwmG,aAAexmG,KAAK4mG,WAAWa,SAASznG,KAAK4nG,QAAQ5nG,KAAK2nG,cAK/D3nG,KAAK2gG,QAAU,IAAItgG,EAAOud,OAW1B5d,KAAKkoG,SAAW,KAKhBloG,KAAK+gG,WAAa,IAAI1gG,EAAOud,OAK7B5d,KAAK4gG,OAAS,IAAIvgG,EAAOud,OAMzB5d,KAAKmoG,YAAa,EAGlBnoG,KAAKgd,KAAK+H,QAAQxR,IAAIvT,KAAK+kB,QAAS/kB,MACpCA,KAAKgd,KAAKiI,SAAS1R,IAAIvT,KAAKilB,SAAUjlB,OAI1CK,EAAO2qD,UAAUzkD,WAcb0kD,KAAM,SAAUC,EAAWC,EAAMC,GAsC7B,MApCyB,iBAAdF,IAGPlrD,KAAKo4C,MAAQ,IAAO8S,GAGJ,kBAATC,IAGPnrD,KAAKmrD,KAAOA,QAGc,IAAnBC,IAGPprD,KAAKorD,eAAiBA,GAG1BprD,KAAKqnG,WAAY,EACjBrnG,KAAK8nG,YAAa,EAClB9nG,KAAKojB,QAAS,EACdpjB,KAAK6nG,UAAY,EAEjB7nG,KAAKooG,eAAiBpoG,KAAKgd,KAAKmE,KAAKA,KACrCnhB,KAAKqoG,eAAiBroG,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAKo4C,MAEjDp4C,KAAK2nG,YAAc3nG,KAAKmoG,WAAanoG,KAAK4nG,QAAQ7/F,OAAS,EAAI,EAC/D/H,KAAKsoG,oBAAmB,GAAO,GAE/BtoG,KAAK+uD,QAAQj8B,OAAOy1E,0BAA0BvoG,KAAK+uD,QAAS/uD,MAE5DA,KAAK2gG,QAAQt/E,SAASrhB,KAAK+uD,QAAS/uD,MAEpCA,KAAK+uD,QAAQ1D,WAAWo7C,YAAczmG,KACtCA,KAAK+uD,QAAQ1D,WAAWm7C,aAAexmG,KAAKwmG,aAErCxmG,MASX4lB,QAAS,WAEL5lB,KAAKqnG,WAAY,EACjBrnG,KAAK8nG,YAAa,EAClB9nG,KAAKojB,QAAS,EACdpjB,KAAK6nG,UAAY,EAEjB7nG,KAAKooG,eAAiBpoG,KAAKgd,KAAKmE,KAAKA,KACrCnhB,KAAKqoG,eAAiBroG,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAKo4C,MAEjDp4C,KAAK2nG,YAAc,EAEnB3nG,KAAKwmG,aAAexmG,KAAK4mG,WAAWa,SAASznG,KAAK4nG,QAAQ5nG,KAAK2nG,cAE/D3nG,KAAK+uD,QAAQsD,SAASryD,KAAKwmG,cAE3BxmG,KAAK+uD,QAAQ1D,WAAWo7C,YAAczmG,KACtCA,KAAK+uD,QAAQ1D,WAAWm7C,aAAexmG,KAAKwmG,aAE5CxmG,KAAK2gG,QAAQt/E,SAASrhB,KAAK+uD,QAAS/uD,OAUxCsJ,QAAS,WAIL,OAFAtJ,KAAKwjG,UAAYxjG,KAAKwjG,SAEfxjG,MAYXwoG,YAAa,WAIT,OAFAxoG,KAAK+gG,WAAWv4E,QAAQxoB,KAAKsJ,QAAStJ,MAE/BA,KAAKsJ,WAWhB+oD,SAAU,SAASo2C,EAASC,GAExB,IAAIC,EAQJ,QAN2Bp+F,IAAvBm+F,IAEAA,GAAqB,GAIF,iBAAZD,EAEP,IAASzgG,EAAI,EAAGA,EAAIhI,KAAK4nG,QAAQ7/F,OAAQC,IAEjChI,KAAK4mG,WAAWa,SAASznG,KAAK4nG,QAAQ5/F,IAAIgC,OAASy+F,IAEnDE,EAAa3gG,QAIpB,GAAuB,iBAAZygG,EAEZ,GAAIC,EAEAC,EAAaF,OAIb,IAAK,IAAIzgG,EAAI,EAAGA,EAAIhI,KAAK4nG,QAAQ7/F,OAAQC,IAEjChI,KAAK4nG,QAAQ5/F,KAAOygG,IAEpBE,EAAa3gG,GAM7B,GAAI2gG,EACJ,CAEI,IAAIC,EAAoB5oG,KAAKmoG,YAAc,EAAI,EAC/CnoG,KAAK2nG,YAAcgB,EAAaC,EAGhC5oG,KAAKqoG,eAAiBroG,KAAKgd,KAAKmE,KAAKA,KAErCnhB,KAAK+gB,WAab6e,KAAM,SAAUwtB,EAAYy7C,QAELt+F,IAAf6iD,IAA4BA,GAAa,QACpB7iD,IAArBs+F,IAAkCA,GAAmB,GAEzD7oG,KAAKqnG,WAAY,EACjBrnG,KAAK8nG,YAAa,EAClB9nG,KAAKojB,QAAS,EAEVgqC,IAEAptD,KAAKwmG,aAAexmG,KAAK4mG,WAAWa,SAASznG,KAAK4nG,QAAQ,IAC1D5nG,KAAK+uD,QAAQsD,SAASryD,KAAKwmG,eAG3BqC,IAEA7oG,KAAK+uD,QAAQj8B,OAAOg2E,6BAA6B9oG,KAAK+uD,QAAS/uD,MAC/DA,KAAK+gG,WAAW1/E,SAASrhB,KAAK+uD,QAAS/uD,QAU/C+kB,QAAS,WAED/kB,KAAKqnG,YAELrnG,KAAKgoG,WAAahoG,KAAKqoG,eAAiBroG,KAAKgd,KAAKmE,KAAKA,OAU/D8D,SAAU,WAEFjlB,KAAKqnG,YAELrnG,KAAKqoG,eAAiBroG,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAKgoG,aAUzDjnF,OAAQ,WAEJ,OAAI/gB,KAAKihG,cAKLjhG,KAAKqnG,WAAarnG,KAAKgd,KAAKmE,KAAKA,MAAQnhB,KAAKqoG,kBAE9CroG,KAAKioG,WAAa,EAGlBjoG,KAAKgoG,WAAahoG,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAKqoG,eAE7CroG,KAAKooG,eAAiBpoG,KAAKgd,KAAKmE,KAAKA,KAEjCnhB,KAAKgoG,WAAahoG,KAAKo4C,OAGvBp4C,KAAKioG,WAAahiG,KAAKI,MAAMrG,KAAKgoG,WAAahoG,KAAKo4C,OACpDp4C,KAAKgoG,YAAehoG,KAAKioG,WAAajoG,KAAKo4C,OAIvDp4C,KAAKgoG,WAAa,EAIVhoG,KAAKqoG,eAAiBroG,KAAKgd,KAAKmE,KAAKA,MAAQnhB,KAAKo4C,MAAQp4C,KAAKgoG,YAE3DhoG,KAAKmoG,WAELnoG,KAAK2nG,aAAe3nG,KAAKioG,WAIzBjoG,KAAK2nG,aAAe3nG,KAAKioG,YAGxBjoG,KAAKmoG,YAAcnoG,KAAK2nG,aAAe3nG,KAAK4nG,QAAQ7/F,QAAU/H,KAAKmoG,YAAcnoG,KAAK2nG,cAAgB,EAEnG3nG,KAAKmrD,MAGLnrD,KAAK2nG,YAAc1hG,KAAKiK,IAAIlQ,KAAK2nG,aAAe3nG,KAAK4nG,QAAQ7/F,OAEzD/H,KAAKmoG,aAELnoG,KAAK2nG,YAAc3nG,KAAK4nG,QAAQ7/F,OAAS,EAAI/H,KAAK2nG,aAGtD3nG,KAAKwmG,aAAexmG,KAAK4mG,WAAWa,SAASznG,KAAK4nG,QAAQ5nG,KAAK2nG,cAG3D3nG,KAAKwmG,cAELxmG,KAAK+uD,QAAQsD,SAASryD,KAAKwmG,cAG/BxmG,KAAK6nG,YACL7nG,KAAK+uD,QAAQj8B,OAAOi2E,yBAAyB/oG,KAAK+uD,QAAS/uD,MAC3DA,KAAK4gG,OAAOv/E,SAASrhB,KAAK+uD,QAAS/uD,OAE/BA,KAAKkoG,WAELloG,KAAKkoG,SAAS7mF,SAASrhB,KAAMA,KAAKwmG,gBAGzBxmG,KAAK4mG,cASlB5mG,KAAK4hG,YACE,GAKJ5hG,KAAKsoG,oBAAmB,MAoB3CA,mBAAoB,SAAUU,EAAcC,GAIxC,QAFiB1+F,IAAb0+F,IAA0BA,GAAW,IAEpCjpG,KAAK4mG,WAGN,OAAO,EAIX,IAAIpnB,EAAMx/E,KAAKwmG,aAAaz9F,MAS5B,OAPA/I,KAAKwmG,aAAexmG,KAAK4mG,WAAWa,SAASznG,KAAK4nG,QAAQ5nG,KAAK2nG,cAE3D3nG,KAAKwmG,eAAiByC,IAAcA,GAAYzpB,IAAQx/E,KAAKwmG,aAAaz9F,QAE1E/I,KAAK+uD,QAAQsD,SAASryD,KAAKwmG,eAG3BxmG,KAAKkoG,WAAYc,IAEjBhpG,KAAKkoG,SAAS7mF,SAASrhB,KAAMA,KAAKwmG,gBAGzBxmG,KAAK4mG,aAetB3yE,KAAM,SAAUT,QAEKjpB,IAAbipB,IAA0BA,EAAW,GAEzC,IAAIF,EAAQtzB,KAAK2nG,YAAcn0E,EAE3BF,GAAStzB,KAAK4nG,QAAQ7/F,SAElB/H,KAAKmrD,KAEL73B,GAAStzB,KAAK4nG,QAAQ7/F,OAItBurB,EAAQtzB,KAAK4nG,QAAQ7/F,OAAS,GAIlCurB,IAAUtzB,KAAK2nG,cAEf3nG,KAAK2nG,YAAcr0E,EACnBtzB,KAAKsoG,oBAAmB,KAWhCp0E,SAAU,SAAUV,QAECjpB,IAAbipB,IAA0BA,EAAW,GAEzC,IAAIF,EAAQtzB,KAAK2nG,YAAcn0E,EAE3BF,EAAQ,IAEJtzB,KAAKmrD,KAEL73B,EAAQtzB,KAAK4nG,QAAQ7/F,OAASurB,EAI9BA,KAIJA,IAAUtzB,KAAK2nG,cAEf3nG,KAAK2nG,YAAcr0E,EACnBtzB,KAAKsoG,oBAAmB,KAWhCjmB,gBAAiB,SAAUxvB,GAEvB7yD,KAAK4mG,WAAa/zC,EAClB7yD,KAAKwmG,aAAexmG,KAAK4mG,WAAa5mG,KAAK4mG,WAAWa,SAASznG,KAAK4nG,QAAQ5nG,KAAK2nG,YAAc3nG,KAAK4nG,QAAQ7/F,SAAW,MAS3Hue,QAAS,WAEAtmB,KAAK4mG,aAMV5mG,KAAKgd,KAAK+H,QAAQO,OAAOtlB,KAAK+kB,QAAS/kB,MACvCA,KAAKgd,KAAKiI,SAASK,OAAOtlB,KAAKilB,SAAUjlB,MAEzCA,KAAKgd,KAAO,KACZhd,KAAK+uD,QAAU,KACf/uD,KAAK4nG,QAAU,KACf5nG,KAAK4mG,WAAa,KAClB5mG,KAAKwmG,aAAe,KACpBxmG,KAAKqnG,WAAY,EAEjBrnG,KAAK2gG,QAAQ53E,UACb/oB,KAAK4gG,OAAO73E,UACZ/oB,KAAK+gG,WAAWh4E,UAEZ/oB,KAAKkoG,UAELloG,KAAKkoG,SAASn/E,YAWtB64E,SAAU,WAEN5hG,KAAK2nG,YAAc3nG,KAAK4nG,QAAQ7/F,OAAS,EACzC/H,KAAKwmG,aAAexmG,KAAK4mG,WAAWa,SAASznG,KAAK4nG,QAAQ5nG,KAAK2nG,cAE/D3nG,KAAKqnG,WAAY,EACjBrnG,KAAK8nG,YAAa,EAClB9nG,KAAKojB,QAAS,EAEdpjB,KAAK+uD,QAAQj8B,OAAOg2E,6BAA6B9oG,KAAK+uD,QAAS/uD,MAE/DA,KAAK+gG,WAAW1/E,SAASrhB,KAAK+uD,QAAS/uD,MAEnCA,KAAKorD,gBAELprD,KAAK+uD,QAAQ/4B,SAOzB31B,EAAO2qD,UAAUzkD,UAAU8B,YAAchI,EAAO2qD,UAMhDvjD,OAAOmF,eAAevM,EAAO2qD,UAAUzkD,UAAW,UAE9CmG,IAAK,WAED,OAAO1M,KAAKihG,UAIhBt0F,IAAK,SAAUzC,GAEXlK,KAAKihG,SAAW/2F,EAEZA,EAGAlK,KAAK+nG,gBAAkB/nG,KAAKgd,KAAKmE,KAAKA,KAKlCnhB,KAAKqnG,YAELrnG,KAAKqoG,eAAiBroG,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAKo4C,UAYjE3wC,OAAOmF,eAAevM,EAAO2qD,UAAUzkD,UAAW,YAE9CmG,IAAK,WAED,OAAO1M,KAAKmoG,YAIhBx7F,IAAK,SAAUzC,GAEXlK,KAAKmoG,WAAaj+F,KAW1BzC,OAAOmF,eAAevM,EAAO2qD,UAAUzkD,UAAW,cAE9CmG,IAAK,WACD,OAAO1M,KAAK4nG,QAAQ7/F,UAS5BN,OAAOmF,eAAevM,EAAO2qD,UAAUzkD,UAAW,SAE9CmG,IAAK,WAED,OAA0B,OAAtB1M,KAAKwmG,aAEExmG,KAAKwmG,aAAaz9F,MAIlB/I,KAAK2nG,aAKpBh7F,IAAK,SAAUzC,GAEXlK,KAAKwmG,aAAexmG,KAAK4mG,WAAWa,SAASznG,KAAK4nG,QAAQ19F,IAEhC,OAAtBlK,KAAKwmG,eAELxmG,KAAK2nG,YAAcz9F,EACnBlK,KAAK+uD,QAAQsD,SAASryD,KAAKwmG,cAEvBxmG,KAAKkoG,UAELloG,KAAKkoG,SAAS7mF,SAASrhB,KAAMA,KAAKwmG,kBAYlD/+F,OAAOmF,eAAevM,EAAO2qD,UAAUzkD,UAAW,SAE9CmG,IAAK,WAED,OAAO,IAAO1M,KAAKo4C,OAIvBzrC,IAAK,SAAUzC,GAEPA,EAAQ,IAERlK,KAAKo4C,MAAQ,IAAOluC,MAWhCzC,OAAOmF,eAAevM,EAAO2qD,UAAUzkD,UAAW,gBAE9CmG,IAAK,WAED,OAA0B,OAAlB1M,KAAKkoG,UAIjBv7F,IAAK,SAAUzC,GAEPA,GAA2B,OAAlBlK,KAAKkoG,SAEdloG,KAAKkoG,SAAW,IAAI7nG,EAAOud,OAErB1T,GAA2B,OAAlBlK,KAAKkoG,WAEpBloG,KAAKkoG,SAASn/E,UACd/oB,KAAKkoG,SAAW,SAqB5B7nG,EAAO2qD,UAAUk+C,mBAAqB,SAAUlV,EAAQjjF,EAAO6uB,EAAM+/C,EAAQwpB,QAE1D5+F,IAAXo1E,IAAwBA,EAAS,IAErC,IAAInxE,KACA8kB,EAAQ,GAEZ,GAAIviB,EAAQ6uB,EAER,IAAS53B,EAAI+I,EAAO/I,GAAK43B,EAAM53B,IAY3BsrB,EAAQ0gE,GAPJ1gE,EAHmB,iBAAZ61E,EAGC9oG,EAAO6I,MAAMmC,IAAIrD,EAAEN,WAAYyhG,EAAS,IAAK,GAI7CnhG,EAAEN,YAGWi4E,EAEzBnxE,EAAO+F,KAAK+e,QAKhB,IAAK,IAAItrB,EAAI+I,EAAO/I,GAAK43B,EAAM53B,IAY3BsrB,EAAQ0gE,GAPJ1gE,EAHmB,iBAAZ61E,EAGC9oG,EAAO6I,MAAMmC,IAAIrD,EAAEN,WAAYyhG,EAAS,IAAK,GAI7CnhG,EAAEN,YAGWi4E,EAEzBnxE,EAAO+F,KAAK+e,GAIpB,OAAO9kB,GAsBXnO,EAAOi9D,MAAQ,SAAUv0D,EAAO5C,EAAG+G,EAAG2E,EAAOC,EAAQ9H,GAKjDhK,KAAK+I,MAAQA,EAKb/I,KAAKmG,EAAIA,EAKTnG,KAAKkN,EAAIA,EAKTlN,KAAK6R,MAAQA,EAKb7R,KAAK8R,OAASA,EAEK,IAAf9R,KAAK6R,OAA+B,IAAhB7R,KAAK8R,QAEzBxJ,QAAQG,KAAK,wBAA0BzI,KAAKgK,KAAO,mCAMvDhK,KAAKgK,KAAOA,EAKZhK,KAAKyS,QAAUxM,KAAKI,MAAMwL,EAAQ,GAKlC7R,KAAK0S,QAAUzM,KAAKI,MAAMyL,EAAS,GAKnC9R,KAAKsO,SAAWjO,EAAO4F,KAAKqI,SAAS,EAAG,EAAGuD,EAAOC,GAMlD9R,KAAK4zD,SAAU,EAMf5zD,KAAKuzD,SAAU,EAKfvzD,KAAK0zD,YAAc7hD,EAKnB7R,KAAK2zD,YAAc7hD,EAMnB9R,KAAKwzD,kBAAoB,EAMzBxzD,KAAKyzD,kBAAoB,EAMzBzzD,KAAKopG,kBAAoB,EAMzBppG,KAAKqpG,kBAAoB,EAKzBrpG,KAAKyL,MAAQzL,KAAKmG,EAAInG,KAAK6R,MAK3B7R,KAAK0P,OAAS1P,KAAKkN,EAAIlN,KAAK8R,QAIhCzR,EAAOi9D,MAAM/2D,WAST8U,OAAQ,SAAUxJ,EAAOC,GAErB9R,KAAK6R,MAAQA,EACb7R,KAAK8R,OAASA,EACd9R,KAAKyS,QAAUxM,KAAKI,MAAMwL,EAAQ,GAClC7R,KAAK0S,QAAUzM,KAAKI,MAAMyL,EAAS,GACnC9R,KAAKsO,SAAWjO,EAAO4F,KAAKqI,SAAS,EAAG,EAAGuD,EAAOC,GAClD9R,KAAK0zD,YAAc7hD,EACnB7R,KAAK2zD,YAAc7hD,EACnB9R,KAAKyL,MAAQzL,KAAKmG,EAAI0L,EACtB7R,KAAK0P,OAAS1P,KAAKkN,EAAI4E,GAgB3Bw3F,QAAS,SAAU/1C,EAASg2C,EAAaC,EAAcC,EAAOC,EAAOC,EAAWC,GAE5E5pG,KAAKuzD,QAAUA,EAEXA,IAEAvzD,KAAK0zD,YAAc61C,EACnBvpG,KAAK2zD,YAAc61C,EACnBxpG,KAAKyS,QAAUxM,KAAKI,MAAMkjG,EAAc,GACxCvpG,KAAK0S,QAAUzM,KAAKI,MAAMmjG,EAAe,GACzCxpG,KAAKwzD,kBAAoBi2C,EACzBzpG,KAAKyzD,kBAAoBi2C,EACzB1pG,KAAKopG,kBAAoBO,EACzB3pG,KAAKqpG,kBAAoBO,IAYjCz9F,MAAO,WAEH,IAAIqC,EAAS,IAAInO,EAAOi9D,MAAMt9D,KAAK+I,MAAO/I,KAAKmG,EAAGnG,KAAKkN,EAAGlN,KAAK6R,MAAO7R,KAAK8R,OAAQ9R,KAAKgK,MAExF,IAAK,IAAIN,KAAQ1J,KAETA,KAAK8I,eAAeY,KAEpB8E,EAAO9E,GAAQ1J,KAAK0J,IAI5B,OAAO8E,GAWXq7F,QAAS,SAAUr8F,GAWf,YATYjD,IAARiD,EAEAA,EAAM,IAAInN,EAAO2N,UAAUhO,KAAKmG,EAAGnG,KAAKkN,EAAGlN,KAAK6R,MAAO7R,KAAK8R,QAI5DtE,EAAIS,MAAMjO,KAAKmG,EAAGnG,KAAKkN,EAAGlN,KAAK6R,MAAO7R,KAAK8R,QAGxCtE,IAMfnN,EAAOi9D,MAAM/2D,UAAU8B,YAAchI,EAAOi9D,MAc5Cj9D,EAAO88D,UAAY,WAMfn9D,KAAK4nG,WAML5nG,KAAK8pG,gBAITzpG,EAAO88D,UAAU52D,WASb82D,SAAU,SAAU/pC,GAWhB,OATAA,EAAMvqB,MAAQ/I,KAAK4nG,QAAQ7/F,OAE3B/H,KAAK4nG,QAAQrzF,KAAK+e,GAEC,KAAfA,EAAMtpB,OAENhK,KAAK8pG,YAAYx2E,EAAMtpB,MAAQspB,EAAMvqB,OAGlCuqB,GAWXm0E,SAAU,SAAU1+F,GAOhB,OALIA,GAAS/I,KAAK4nG,QAAQ7/F,SAEtBgB,EAAQ,GAGL/I,KAAK4nG,QAAQ7+F,IAWxB2+F,eAAgB,SAAU19F,GAEtB,MAAsC,iBAA3BhK,KAAK8pG,YAAY9/F,GAEjBhK,KAAK4nG,QAAQ5nG,KAAK8pG,YAAY9/F,IAGlC,MAWXo9F,eAAgB,SAAUp9F,GAEtB,OAA8B,MAA1BhK,KAAK8pG,YAAY9/F,IAezBmC,MAAO,WAKH,IAAK,IAHDqC,EAAS,IAAInO,EAAO88D,UAGfn1D,EAAI,EAAGA,EAAIhI,KAAK4nG,QAAQ7/F,OAAQC,IAErCwG,EAAOo5F,QAAQrzF,KAAKvU,KAAK4nG,QAAQ5/F,GAAGmE,SAGxC,IAAK,IAAI4F,KAAK/R,KAAK8pG,YAEX9pG,KAAK8pG,YAAYhhG,eAAeiJ,IAEhCvD,EAAOs7F,YAAYv1F,KAAKvU,KAAK8pG,YAAY/3F,IAIjD,OAAOvD,GAaXu7F,cAAe,SAAUh5F,EAAOD,EAAKtC,QAElBjE,IAAXiE,IAAwBA,MAE5B,IAAK,IAAIxG,EAAI+I,EAAO/I,GAAK8I,EAAK9I,IAE1BwG,EAAO+F,KAAKvU,KAAK4nG,QAAQ5/F,IAG7B,OAAOwG,GAcX+1E,UAAW,SAAUD,EAAQ2iB,EAAiBz4F,GAK1C,QAHwBjE,IAApB08F,IAAiCA,GAAkB,QACxC18F,IAAXiE,IAAwBA,WAEbjE,IAAX+5E,GAA0C,IAAlBA,EAAOv8E,OAG/B,IAASC,EAAI,EAAGA,EAAIhI,KAAK4nG,QAAQ7/F,OAAQC,IAGrCwG,EAAO+F,KAAKvU,KAAK4nG,QAAQ5/F,SAM7B,IAAK,IAAIA,EAAI,EAAGA,EAAIs8E,EAAOv8E,OAAQC,IAG3Bi/F,EAGAz4F,EAAO+F,KAAKvU,KAAKynG,SAASnjB,EAAOt8E,KAKjCwG,EAAO+F,KAAKvU,KAAK0nG,eAAepjB,EAAOt8E,KAKnD,OAAOwG,GAcX04F,gBAAiB,SAAU5iB,EAAQ2iB,EAAiBz4F,GAKhD,QAHwBjE,IAApB08F,IAAiCA,GAAkB,QACxC18F,IAAXiE,IAAwBA,WAEbjE,IAAX+5E,GAA0C,IAAlBA,EAAOv8E,OAG/B,IAASC,EAAI,EAAGA,EAAIhI,KAAK4nG,QAAQ7/F,OAAQC,IAErCwG,EAAO+F,KAAKvU,KAAK4nG,QAAQ5/F,GAAGe,YAMhC,IAAK,IAAIf,EAAI,EAAGA,EAAIs8E,EAAOv8E,OAAQC,IAG3Bi/F,GAAmBjnG,KAAK4nG,QAAQtjB,EAAOt8E,IAEvCwG,EAAO+F,KAAKvU,KAAK4nG,QAAQtjB,EAAOt8E,IAAIe,OAIhC/I,KAAK0nG,eAAepjB,EAAOt8E,KAE3BwG,EAAO+F,KAAKvU,KAAK0nG,eAAepjB,EAAOt8E,IAAIe,OAM3D,OAAOyF,GASX8X,QAAS,WAELtmB,KAAK4nG,QAAU,KACf5nG,KAAK8pG,YAAc,OAM3BzpG,EAAO88D,UAAU52D,UAAU8B,YAAchI,EAAO88D,UAOhD11D,OAAOmF,eAAevM,EAAO88D,UAAU52D,UAAW,SAE9CmG,IAAK,WACD,OAAO1M,KAAK4nG,QAAQ7/F,UAiB5B1H,EAAO2pG,iBAgBHC,YAAa,SAAUjtF,EAAMnT,EAAK2+E,EAAYC,EAAayhB,EAAUC,EAAQC,EAASC,QAEjE9/F,IAAb2/F,IAA0BA,GAAY,QAC3B3/F,IAAX4/F,IAAwBA,EAAS,QACrB5/F,IAAZ6/F,IAAyBA,EAAU,QACpB7/F,IAAf8/F,IAA4BA,EAAa,GAE7C,IAAIl3C,EAAMtpD,EAOV,GALmB,iBAARA,IAEPspD,EAAMn2C,EAAKqF,MAAM+wC,SAASvpD,IAGlB,OAARspD,EAEA,OAAO,KAGX,IAAIthD,EAAQshD,EAAIthD,MACZC,EAASqhD,EAAIrhD,OAEb02E,GAAc,IAEdA,EAAaviF,KAAKI,OAAOwL,EAAQ5L,KAAK2N,KAAK,EAAG40E,KAG9CC,GAAe,IAEfA,EAAcxiF,KAAKI,OAAOyL,EAAS7L,KAAK2N,KAAK,EAAG60E,KAGpD,IAEI5wD,EAFM5xB,KAAKI,OAAOwL,EAAQs4F,IAAW3hB,EAAa4hB,IACzCnkG,KAAKI,OAAOyL,EAASq4F,IAAW1hB,EAAc2hB,IAG3D,GAAIC,EAAaxyE,GAASwyE,GAAcxyE,EAMpC,OAJAvvB,QAAQG,KACJ,oDACA4hG,EAAW3iG,WAAa,uCACxBmwB,EAAMnwB,YACH,KAeX,GAZI2iG,EAAa,IAGbA,EAAaxyE,EAAQwyE,IAGP,IAAdH,IAEAryE,EAAQwyE,EAAaH,GAIX,IAAVr4F,GAA0B,IAAXC,GAAgBD,EAAQ22E,GAAc12E,EAAS22E,GAAyB,IAAV5wD,EAG7E,OADAvvB,QAAQG,KAAK,wCAA0CoB,EAAM,uEACtD,KAQX,IAAK,IAJD08B,EAAO,IAAIlmC,EAAO88D,UAClBh3D,EAAIgkG,EACJj9F,EAAIi9F,EAECniG,EAAI,EAAGA,EAAI6vB,EAAO7vB,IAEvBu+B,EAAK82B,SAAS,IAAIh9D,EAAOi9D,MAAMt1D,EAAG7B,EAAG+G,EAAGs7E,EAAYC,EAAa,MAEjEtiF,GAAKqiF,EAAa4hB,GAEV5hB,EAAa32E,IAEjB1L,EAAIgkG,EACJj9F,GAAKu7E,EAAc2hB,GAI3B,OAAO7jE,GAYX+jE,SAAU,SAAUttF,EAAMutF,GAGtB,IAAKA,EAAa,OAId,OAFAjiG,QAAQG,KAAK,kGACbH,QAAQC,IAAIgiG,GAWhB,IAAK,IAFDC,EAJAjkE,EAAO,IAAIlmC,EAAO88D,UAGlBmnB,EAASimB,EAAa,OAGjBviG,EAAI,EAAGA,EAAIs8E,EAAOv8E,OAAQC,IAE/BwiG,EAAWjkE,EAAK82B,SAAS,IAAIh9D,EAAOi9D,MAChCt1D,EACAs8E,EAAOt8E,GAAGsrB,MAAMntB,EAChBm+E,EAAOt8E,GAAGsrB,MAAMpmB,EAChBo3E,EAAOt8E,GAAGsrB,MAAMvT,EAChBukE,EAAOt8E,GAAGsrB,MAAM3iB,EAChB2zE,EAAOt8E,GAAGyiG,WAGVnmB,EAAOt8E,GAAGurD,SAEVi3C,EAASlB,QACLhlB,EAAOt8E,GAAGurD,QACV+wB,EAAOt8E,GAAG0iG,WAAW3qF,EACrBukE,EAAOt8E,GAAG0iG,WAAW/5F,EACrB2zE,EAAOt8E,GAAG2iG,iBAAiBxkG,EAC3Bm+E,EAAOt8E,GAAG2iG,iBAAiBz9F,EAC3Bo3E,EAAOt8E,GAAG2iG,iBAAiB5qF,EAC3BukE,EAAOt8E,GAAG2iG,iBAAiBh6F,GAI/B2zE,EAAOt8E,GAAG4rD,UAEV42C,EAAS52C,SAAU,GAI3B,OAAOrtB,GAYXqkE,cAAe,SAAU5tF,EAAMutF,GAe3B,IAZiB,SAAU,YAAY,aAAa,YAAa,aAEvD5iG,QAAS,SAASkC,GACxB,IAAK0gG,EAAK1gG,GAIN,OAFAvB,QAAQG,KAAK,oFAAsFoB,EAAM,eACzGvB,QAAQC,IAAIgiG,KAMU,IAA1BA,EAAa,OAAExiG,OAIf,OAFAO,QAAQG,KAAK,wGACbH,QAAQC,IAAIgiG,GAYhB,IAAK,IARDhkE,EAAO,IAAIlmC,EAAO88D,UAElB0tC,EAAaN,EAAiB,WAC9BO,EAAYP,EAAgB,UAE5BjmB,EAASimB,EAAa,OAAE,GAAU,MAG7BviG,EAAI,EAAGA,EAAIs8E,EAAOv8E,OAAQC,IAEpBu+B,EAAK82B,SAAS,IAAIh9D,EAAOi9D,MAChCt1D,EACAs8E,EAAOt8E,GAAG7B,EACVm+E,EAAOt8E,GAAGkF,EACV49F,EACAD,EACA,SAAW7iG,IAINshG,SAAQ,GAGrB,OAAO/iE,GAYXwkE,aAAc,SAAU/tF,EAAMutF,GAG1B,IAAKA,EAAa,OAId,OAFAjiG,QAAQG,KAAK,uGACbH,QAAQC,IAAIgiG,GAKhB,IAIIC,EAJAjkE,EAAO,IAAIlmC,EAAO88D,UAGlBmnB,EAASimB,EAAa,OAEtBviG,EAAI,EAER,IAAK,IAAI6B,KAAOy6E,EAEZkmB,EAAWjkE,EAAK82B,SAAS,IAAIh9D,EAAOi9D,MAChCt1D,EACAs8E,EAAOz6E,GAAKypB,MAAMntB,EAClBm+E,EAAOz6E,GAAKypB,MAAMpmB,EAClBo3E,EAAOz6E,GAAKypB,MAAMvT,EAClBukE,EAAOz6E,GAAKypB,MAAM3iB,EAClB9G,IAGAy6E,EAAOz6E,GAAK0pD,SAEZi3C,EAASlB,QACLhlB,EAAOz6E,GAAK0pD,QACZ+wB,EAAOz6E,GAAK6gG,WAAW3qF,EACvBukE,EAAOz6E,GAAK6gG,WAAW/5F,EACvB2zE,EAAOz6E,GAAK8gG,iBAAiBxkG,EAC7Bm+E,EAAOz6E,GAAK8gG,iBAAiBz9F,EAC7Bo3E,EAAOz6E,GAAK8gG,iBAAiB5qF,EAC7BukE,EAAOz6E,GAAK8gG,iBAAiBh6F,GAIjC2zE,EAAOz6E,GAAK+pD,UAEZ42C,EAAS52C,SAAU,GAGvB5rD,IAGJ,OAAOu+B,GAYXykE,QAAS,SAAUhuF,EAAMiuF,GAGrB,GAAKA,EAAIC,qBAAqB,gBAA9B,CAsBA,IAAK,IAbDV,EAEAxgG,EACAspB,EACAntB,EACA+G,EACA2E,EACAC,EACAq5F,EACAC,EACA5iB,EACAC,EAbAliD,EAAO,IAAIlmC,EAAO88D,UAClBmnB,EAAS2mB,EAAIC,qBAAqB,cAc7BljG,EAAI,EAAGA,EAAIs8E,EAAOv8E,OAAQC,IAI/BgC,GAFAspB,EAAQgxD,EAAOt8E,GAAGqjG,YAELrhG,KAAKE,MAClB/D,EAAI+E,SAASooB,EAAMntB,EAAE+D,MAAO,IAC5BgD,EAAIhC,SAASooB,EAAMpmB,EAAEhD,MAAO,IAC5B2H,EAAQ3G,SAASooB,EAAMzhB,MAAM3H,MAAO,IACpC4H,EAAS5G,SAASooB,EAAMxhB,OAAO5H,MAAO,IAEtCihG,EAAS,KACTC,EAAS,KAEL93E,EAAM63E,SAENA,EAASllG,KAAKiK,IAAIhF,SAASooB,EAAM63E,OAAOjhG,MAAO,KAC/CkhG,EAASnlG,KAAKiK,IAAIhF,SAASooB,EAAM83E,OAAOlhG,MAAO,KAC/Cs+E,EAAat9E,SAASooB,EAAMk1D,WAAWt+E,MAAO,IAC9Cu+E,EAAcv9E,SAASooB,EAAMm1D,YAAYv+E,MAAO,KAGpDsgG,EAAWjkE,EAAK82B,SAAS,IAAIh9D,EAAOi9D,MAAMt1D,EAAG7B,EAAG+G,EAAG2E,EAAOC,EAAQ9H,IAGnD,OAAXmhG,GAA8B,OAAXC,GAEnBZ,EAASlB,SAAQ,EAAMz3F,EAAOC,EAAQq5F,EAAQC,EAAQ5iB,EAAYC,GAI1E,OAAOliD,EAlDHj+B,QAAQG,KAAK,iGAyFzBpI,EAAOurB,MAAQ,SAAU5O,GAKrBhd,KAAKgd,KAAOA,EAMZhd,KAAKsrG,gBAAiB,EAOtBtrG,KAAKurG,QACDx9E,UACApC,SACAya,WACA5jB,SACAu1C,SACA/B,QACAu0C,QACAU,OACAroF,WACA40C,WACAg0C,UACAvzC,cACAwzC,cACAjhC,UACA7S,iBACA+zC,sBAOJ1rG,KAAK2rG,WAML3rG,KAAK4rG,aAAe,IAAIz2C,MAMxBn1D,KAAK6rG,SAAW,KAKhB7rG,KAAK8rG,cAAgB,IAAIzrG,EAAOud,OAMhC5d,KAAK+rG,aAEL/rG,KAAK+rG,UAAU1rG,EAAOurB,MAAMnrB,QAAUT,KAAKurG,OAAOx9E,OAClD/tB,KAAK+rG,UAAU1rG,EAAOurB,MAAMxqB,OAASpB,KAAKurG,OAAO5/E,MACjD3rB,KAAK+rG,UAAU1rG,EAAOurB,MAAMogF,SAAWhsG,KAAKurG,OAAOnlE,QACnDpmC,KAAK+rG,UAAU1rG,EAAOurB,MAAMqgF,OAASjsG,KAAKurG,OAAO/oF,MACjDxiB,KAAK+rG,UAAU1rG,EAAOurB,MAAMtqB,MAAQtB,KAAKurG,OAAOv1C,KAChDh2D,KAAK+rG,UAAU1rG,EAAOurB,MAAMsgF,SAAWlsG,KAAKurG,OAAO3oF,QACnD5iB,KAAK+rG,UAAU1rG,EAAOurB,MAAMjqB,SAAW3B,KAAKurG,OAAO/zC,QACnDx3D,KAAK+rG,UAAU1rG,EAAOurB,MAAMugF,QAAUnsG,KAAKurG,OAAOC,OAClDxrG,KAAK+rG,UAAU1rG,EAAOurB,MAAM7pB,YAAc/B,KAAKurG,OAAOtzC,WACtDj4D,KAAK+rG,UAAU1rG,EAAOurB,MAAMwgF,YAAcpsG,KAAKurG,OAAOE,WACtDzrG,KAAK+rG,UAAU1rG,EAAOurB,MAAMygF,MAAQrsG,KAAKurG,OAAOhB,KAChDvqG,KAAK+rG,UAAU1rG,EAAOurB,MAAM0gF,KAAOtsG,KAAKurG,OAAON,IAC/CjrG,KAAK+rG,UAAU1rG,EAAOurB,MAAM9oB,OAAS9C,KAAKurG,OAAOxzC,MACjD/3D,KAAK+rG,UAAU1rG,EAAOurB,MAAM2gF,QAAUvsG,KAAKurG,OAAO/gC,OAClDxqE,KAAK+rG,UAAU1rG,EAAOurB,MAAM4gF,gBAAkBxsG,KAAKurG,OAAO5zC,cAM1D33D,KAAKysG,cAAgB,EAOrBzsG,KAAK89B,QAAU,IAAIz9B,EAAOud,OAE1B5d,KAAK0sG,cAQTrsG,EAAOurB,MAAMnrB,OAAS,EAMtBJ,EAAOurB,MAAMxqB,MAAQ,EAMrBf,EAAOurB,MAAMogF,QAAU,EAMvB3rG,EAAOurB,MAAMqgF,MAAQ,EAMrB5rG,EAAOurB,MAAMtqB,KAAO,EAMpBjB,EAAOurB,MAAMsgF,QAAU,EAMvB7rG,EAAOurB,MAAMjqB,QAAU,EAMvBtB,EAAOurB,MAAMugF,OAAS,EAMtB9rG,EAAOurB,MAAM7pB,WAAa,EAM1B1B,EAAOurB,MAAMwgF,WAAa,GAM1B/rG,EAAOurB,MAAMygF,KAAO,GAMpBhsG,EAAOurB,MAAM0gF,IAAM,GAMnBjsG,EAAOurB,MAAM9oB,MAAQ,GAMrBzC,EAAOurB,MAAM2gF,OAAS,GAMtBlsG,EAAOurB,MAAM4gF,eAAiB,GAO9BnsG,EAAOurB,MAAMhmB,QAAU,KAOvBvF,EAAOurB,MAAM+gF,YAAc,YAO3BtsG,EAAOurB,MAAMghF,YAAc,yKAO3BvsG,EAAOurB,MAAMihF,QAAU,KAOvBxsG,EAAOurB,MAAMkhF,YAAc,YAO3BzsG,EAAOurB,MAAMmhF,YAAc,6WAQ3B1sG,EAAOurB,MAAMohF,cAAgB,IAE7B3sG,EAAOurB,MAAMrlB,WAiBT0mG,6BAA8B,SAAUpjG,EAAKmuD,EAAKk1C,EAAWC,GAErDntG,KAAKwhF,cAAc33E,IAEnB7J,KAAKotG,YAAYvjG,GAGrB,IAAI08B,EAAQ2mE,KAAa7sG,EAAOgtG,aAAgBhtG,EAAOgtG,aAAaH,GAAWC,GAAeA,EAE1F/mE,GACAv8B,IAAKA,EACLmuD,IAAKA,EACLzxB,KAAMA,EACN8sB,KAAM,IAAIttD,KAAKm3D,YAAY32B,EAAM,KAAMvmC,KAAKgd,KAAKoN,YACjDkJ,MAAO,IAAIjzB,EAAOi9D,MAAM,EAAG,EAAG,EAAG/2B,EAAK10B,MAAO00B,EAAKz0B,OAAQjI,GAC1DgpD,UAAW,IAAIxyD,EAAO88D,UACtBmwC,WAAYJ,GAShB,OANA9mE,EAAQysB,UAAUwK,SAAS,IAAIh9D,EAAOi9D,MAAM,EAAG,EAAG,EAAG/2B,EAAK10B,MAAO00B,EAAKz0B,OAAQkmD,IAE9Eh4D,KAAKurG,OAAO5/E,MAAM9hB,GAAOu8B,EAEzBpmC,KAAKutG,YAAYv1C,EAAK5xB,GAEfA,GAYXonE,UAAW,SAAU3jG,EAAKkkB,EAAQlH,QAEdtc,IAAZsc,IAAyBA,EAAUkH,EAAOoW,WAAW,OAEzDnkC,KAAKurG,OAAOx9E,OAAOlkB,IAASkkB,OAAQA,EAAQlH,QAASA,IAgBzDg4C,SAAU,SAAUh1D,EAAKmuD,EAAKzxB,GAEtBvmC,KAAKwhF,cAAc33E,IAEnB7J,KAAKotG,YAAYvjG,IAGC,IAAlB08B,EAAKq7D,UAELt5F,QAAQG,KAAK,iCAAmCoB,EAAM,gCAG1D,IAAIspD,GACAtpD,IAAKA,EACLmuD,IAAKA,EACLzxB,KAAMA,EACN8sB,KAAM,IAAIttD,KAAKm3D,YAAY32B,EAAM,KAAMvmC,KAAKgd,KAAKoN,YACjDkJ,MAAO,IAAIjzB,EAAOi9D,MAAM,EAAG,EAAG,EAAG/2B,EAAK10B,MAAO00B,EAAKz0B,OAAQjI,GAC1DgpD,UAAW,IAAIxyD,EAAO88D,WAkB1B,OAfAhK,EAAIN,UAAUwK,SAAS,IAAIh9D,EAAOi9D,MAAM,EAAG,EAAG,EAAG/2B,EAAK10B,MAAO00B,EAAKz0B,OAAQkmD,IAE1Eh4D,KAAKurG,OAAO5/E,MAAM9hB,GAAOspD,EAEzBnzD,KAAKutG,YAAYv1C,EAAK7E,GAEV,cAARtpD,EAEAxJ,EAAOurB,MAAMhmB,QAAU,IAAIG,KAAKktD,QAAQE,EAAIE,MAE/B,cAARxpD,IAELxJ,EAAOurB,MAAMihF,QAAU,IAAI9mG,KAAKktD,QAAQE,EAAIE,OAGzCF,GAQXs6C,cAAe,SAAU5jG,EAAKmC,EAAKynB,GAE/B,IAAI7d,EAAO5V,KACPmzD,EAAM,IAAIgC,MAEdhC,EAAIyL,OAAS,WACTnrC,EAASzsB,KAAKhH,KAAM4V,EAAKipD,SAASh1D,EAAK,KAAMspD,IAC7Cv9C,EAAK83F,iBACLv6C,EAAIyL,OAAS,MAGjB5+D,KAAK2tG,cACLx6C,EAAInnD,IAAMA,GAad4hG,gBAAiB,WAEb5tG,KAAKytG,cAAcptG,EAAOurB,MAAM+gF,YAAatsG,EAAOurB,MAAMghF,YAAa,SAAUnjG,GAE7EA,EAAI4pD,KAAKC,YAAa,EAGtBjzD,EAAOurB,MAAMhmB,QAAU,IAAIG,KAAKktD,QAAQxpD,EAAI4pD,SAcpDw6C,gBAAiB,WAEb7tG,KAAKytG,cAAcptG,EAAOurB,MAAMkhF,YAAazsG,EAAOurB,MAAMmhF,YAAa,SAAUtjG,GAE7EpJ,EAAOurB,MAAMihF,QAAU,IAAI9mG,KAAKktD,QAAQxpD,EAAI4pD,SAepDy6C,SAAU,SAAUjkG,EAAKmuD,EAAKzxB,EAAMtI,EAAU8vE,QAEzBxjG,IAAb0zB,IAA0BA,GAAW,EAAM8vE,GAAW,QACzCxjG,IAAbwjG,IAA0B9vE,GAAW,EAAO8vE,GAAW,GAE3D,IAAIC,GAAU,EAEVD,IAEAC,GAAU,GAGdhuG,KAAKurG,OAAO/oF,MAAM3Y,IACdmuD,IAAKA,EACLzxB,KAAMA,EACN0nE,YAAY,EACZD,QAASA,EACT/vE,SAAUA,EACV8vE,SAAUA,EACV5mE,OAAQnnC,KAAKgd,KAAKwF,MAAM0rF,aAG5BluG,KAAKutG,YAAYv1C,EAAKh4D,KAAKurG,OAAO/oF,MAAM3Y,KAY5CskG,QAAS,SAAUtkG,EAAKmuD,EAAKzxB,GAEzBvmC,KAAKurG,OAAOv1C,KAAKnsD,IAASmuD,IAAKA,EAAKzxB,KAAMA,GAE1CvmC,KAAKutG,YAAYv1C,EAAKh4D,KAAKurG,OAAOv1C,KAAKnsD,KAa3CukG,eAAgB,SAAUvkG,EAAKmuD,EAAKsyC,EAAU+D,GAE1CruG,KAAKurG,OAAO3oF,QAAQ/Y,IAASmuD,IAAKA,EAAKzxB,KAAM+jE,EAAU+D,OAAQA,GAE/DruG,KAAKutG,YAAYv1C,EAAKh4D,KAAKurG,OAAO3oF,QAAQ/Y,KAa9CykG,WAAY,SAAUzkG,EAAKmuD,EAAKu2C,EAASF,GAErCruG,KAAKurG,OAAO/zC,QAAQ3tD,IAASmuD,IAAKA,EAAKzxB,KAAMgoE,EAASF,OAAQA,GAE9DruG,KAAKutG,YAAYv1C,EAAKh4D,KAAKurG,OAAO/zC,QAAQ3tD,KAW9C2kG,UAAW,SAAU3kG,EAAK4kG,GAEtBzuG,KAAKurG,OAAOC,OAAO3hG,GAAO4kG,GAa9Bv2C,cAAe,SAAUruD,EAAKouD,EAAYpF,GAYtC,OAVAoF,EAAWpuD,IAAMA,OAECU,IAAdsoD,IAEAA,EAAY,IAAIxyD,EAAO88D,WACbE,SAASpF,EAAWmF,cAGlCp9D,KAAKurG,OAAOtzC,WAAWpuD,IAAS08B,KAAM0xB,EAAYpF,UAAWA,GAEtDoF,GAgBXy2C,cAAe,SAAU7kG,EAAKmuD,EAAKzxB,EAAMooE,EAAWC,EAAW13C,EAAUC,GAErE,IAAI1tD,GACAuuD,IAAKA,EACLzxB,KAAMA,EACNswB,KAAM,KACNxD,KAAM,IAAIttD,KAAKm3D,YAAY32B,EAAM,KAAMvmC,KAAKgd,KAAKoN,kBAGpC7f,IAAb2sD,IAA0BA,EAAW,QACxB3sD,IAAb4sD,IAA0BA,EAAW,GAIrC1tD,EAAIotD,KAFU,SAAd+3C,EAEWvuG,EAAOgtG,aAAawB,eAAeF,EAAWllG,EAAI4pD,KAAM6D,EAAUC,GAAU,EAAOn3D,KAAKgd,KAAKoN,YAI7F/pB,EAAOgtG,aAAayB,cAAcH,EAAWllG,EAAI4pD,KAAM6D,EAAUC,GAAU,EAAOn3D,KAAKgd,KAAKoN,YAG3GpqB,KAAKurG,OAAOE,WAAW5hG,GAAOJ,EAE9BzJ,KAAKutG,YAAYv1C,EAAKvuD,IAwB1BslG,uBAAwB,SAAUllG,EAAKmlG,EAAUC,EAAYC,EAASC,EAAUj4C,EAAUC,GAEtF,IAAI7jC,EAAQtzB,KAAK0nG,eAAesH,EAAUC,GAE1C,GAAK37E,EAAL,CAKA,IAAI7pB,GACAotD,KAAM,KACNxD,KAAMrzD,KAAKovG,eAAeJ,GAC1B17E,MAAOA,QAGM/oB,IAAb2sD,IAA0BA,EAAW,QACxB3sD,IAAb4sD,IAA0BA,EAAW,GAEzC,IAAIk4C,EAEa,SAAbF,GAEAE,EAAWrvG,KAAKsvG,QAAQJ,GACxBzlG,EAAIotD,KAAOx2D,EAAOgtG,aAAawB,eAAeQ,EAAU5lG,EAAI4pD,KAAM6D,EAAUC,EAAU7jC,EAAOtzB,KAAKgd,KAAKoN,cAIvGilF,EAAWrvG,KAAKuvG,OAAOL,GACvBzlG,EAAIotD,KAAOx2D,EAAOgtG,aAAayB,cAAcO,EAAU5lG,EAAI4pD,KAAM6D,EAAUC,EAAU7jC,EAAOtzB,KAAKgd,KAAKoN,aAG1GpqB,KAAKurG,OAAOE,WAAW5hG,GAAOJ,IAYlC+lG,QAAS,SAAU3lG,EAAKmuD,EAAKzxB,GAEzBvmC,KAAKurG,OAAOhB,KAAK1gG,IAASmuD,IAAKA,EAAKzxB,KAAMA,GAE1CvmC,KAAKutG,YAAYv1C,EAAKh4D,KAAKurG,OAAOhB,KAAK1gG,KAY3C4lG,OAAQ,SAAU5lG,EAAKmuD,EAAKzxB,GAExBvmC,KAAKurG,OAAON,IAAIphG,IAASmuD,IAAKA,EAAKzxB,KAAMA,GAEzCvmC,KAAKutG,YAAYv1C,EAAKh4D,KAAKurG,OAAON,IAAIphG,KAa1C6lG,SAAU,SAAU7lG,EAAKmuD,EAAKzxB,EAAMopE,GAEhC3vG,KAAKurG,OAAOxzC,MAAMluD,IAASmuD,IAAKA,EAAKzxB,KAAMA,EAAMopE,OAAQA,EAAQxoE,QAAQ,GAEzEnnC,KAAKutG,YAAYv1C,EAAKh4D,KAAKurG,OAAOxzC,MAAMluD,KAY5C+lG,UAAW,SAAU/lG,EAAKmuD,EAAKzxB,GAE3BvmC,KAAKurG,OAAO/gC,OAAO3gE,IAASmuD,IAAKA,EAAKzxB,KAAMA,GAE5CvmC,KAAKutG,YAAYv1C,EAAKh4D,KAAKurG,OAAO/gC,OAAO3gE,KAW7CiuD,iBAAkB,SAAUjuD,EAAKu8B,GAE7BpmC,KAAKurG,OAAO5zC,cAAc9tD,IAASu8B,QAASA,EAAS9S,MAAO,IAAIjzB,EAAOi9D,MAAM,EAAG,EAAG,EAAGl3B,EAAQv0B,MAAOu0B,EAAQt0B,OAAQ,GAAI,MAkB7H+9F,eAAgB,SAAUhmG,EAAKmuD,EAAKzxB,EAAMiiD,EAAYC,EAAayhB,EAAUC,EAAQC,EAASC,QAEzE9/F,IAAb2/F,IAA0BA,GAAY,QAC3B3/F,IAAX4/F,IAAwBA,EAAS,QACrB5/F,IAAZ6/F,IAAyBA,EAAU,GAEvC,IAAI3gG,GACAI,IAAKA,EACLmuD,IAAKA,EACLzxB,KAAMA,EACNiiD,WAAYA,EACZC,YAAaA,EACb0hB,OAAQA,EACRC,QAASA,EACT/2C,KAAM,IAAIttD,KAAKm3D,YAAY32B,EAAM,KAAMvmC,KAAKgd,KAAKoN,YACjDyoC,UAAWxyD,EAAO2pG,gBAAgBC,YAAYjqG,KAAKgd,KAAMupB,EAAMiiD,EAAYC,EAAayhB,EAAUC,EAAQC,EAASC,IAGvHrqG,KAAKurG,OAAO5/E,MAAM9hB,GAAOJ,EAEzBzJ,KAAKutG,YAAYv1C,EAAKvuD,IAc1BqmG,gBAAiB,SAAUjmG,EAAKmuD,EAAKzxB,EAAMooE,EAAWN,GAElD,IAAI5kG,GACAI,IAAKA,EACLmuD,IAAKA,EACLzxB,KAAMA,EACN8sB,KAAM,IAAIttD,KAAKm3D,YAAY32B,EAAM,KAAMvmC,KAAKgd,KAAKoN,aAGjDikF,IAAWhuG,EAAO08B,OAAOgzE,2BAEzBtmG,EAAIopD,UAAYxyD,EAAO2pG,gBAAgBgB,QAAQhrG,KAAKgd,KAAM2xF,EAAW9kG,GAEhEwkG,IAAWhuG,EAAO08B,OAAOizE,yBAE9BvmG,EAAIopD,UAAYxyD,EAAO2pG,gBAAgBY,cAAc5qG,KAAKgd,KAAM2xF,EAAW9kG,GAKvEnD,MAAMa,QAAQonG,EAAUrqB,QAExB76E,EAAIopD,UAAYxyD,EAAO2pG,gBAAgBM,SAAStqG,KAAKgd,KAAM2xF,EAAW9kG,GAItEJ,EAAIopD,UAAYxyD,EAAO2pG,gBAAgBe,aAAa/qG,KAAKgd,KAAM2xF,EAAW9kG,GAIlF7J,KAAKurG,OAAO5/E,MAAM9hB,GAAOJ,EAEzBzJ,KAAKutG,YAAYv1C,EAAKvuD,IAc1BwmG,YAAa,SAAUpmG,GAEnB,IAAImf,EAAQhpB,KAERwiB,EAAQxiB,KAAKkwG,SAASrmG,GAEtB2Y,IAEAA,EAAM+jB,KAAKv6B,IAAMwW,EAAMw1C,IAEvBx1C,EAAM+jB,KAAKtX,iBAAiB,iBAAkB,WAC1C,OAAOjG,EAAMmnF,oBAAoBtmG,KAClC,GAEH2Y,EAAM+jB,KAAKhkB,SAWnB4tF,oBAAqB,SAAUtmG,GAE3B,IAAI2Y,EAAQxiB,KAAKkwG,SAASrmG,GAEtB2Y,IAEAA,EAAM2kB,QAAS,EACfnnC,KAAK8rG,cAAczqF,SAASxX,KAWpCumG,YAAa,SAAUvmG,EAAK8rB,EAAUzrB,GAElC,IAAIsY,EAAQxiB,KAAKkwG,SAASrmG,GAEtB2Y,IAEAA,EAAMmT,GAAYzrB,IAY1BmmG,aAAc,SAAUxmG,EAAK08B,GAEzB,IAAI/jB,EAAQxiB,KAAKkwG,SAASrmG,GAE1B2Y,EAAM+jB,KAAOA,EACb/jB,EAAMwrF,SAAU,EAChBxrF,EAAMyrF,YAAa,GAWvBqC,eAAgB,SAAUzmG,GAEtB,IAAI2Y,EAAQxiB,KAAKoxF,QAAQvnF,EAAKxJ,EAAOurB,MAAMqgF,MAAO,kBAElD,GAAIzpF,EAEA,OAAOA,EAAMwrF,SAarBuC,aAAc,SAAU1mG,GAEpB,IAAI2Y,EAAQxiB,KAAKoxF,QAAQvnF,EAAKxJ,EAAOurB,MAAMqgF,MAAO,kBAElD,GAAIzpF,EAEA,OAAQA,EAAMwrF,UAAYhuG,KAAKgd,KAAKwF,MAAM0rF,aAiBlDsC,SAAU,SAAUnuF,EAAOxY,GAEvB,QAAI7J,KAAK+rG,UAAU1pF,GAAOxY,IAmB9B4mG,SAAU,SAAUz4C,GAEhB,QAAIh4D,KAAK2rG,QAAQ3rG,KAAKutG,YAAYv1C,KAgBtC04C,eAAgB,SAAU7mG,GAEtB,OAAO7J,KAAKwwG,SAASnwG,EAAOurB,MAAMnrB,OAAQoJ,IAW9C23E,cAAe,SAAU33E,GAErB,OAAO7J,KAAKwwG,SAASnwG,EAAOurB,MAAMxqB,MAAOyI,IAW7C8mG,gBAAiB,SAAU9mG,GAEvB,OAAO7J,KAAKwwG,SAASnwG,EAAOurB,MAAMogF,QAASniG,IAW/C+mG,cAAe,SAAU/mG,GAErB,OAAO7J,KAAKwwG,SAASnwG,EAAOurB,MAAMqgF,MAAOpiG,IAW7CgnG,aAAc,SAAUhnG,GAEpB,OAAO7J,KAAKwwG,SAASnwG,EAAOurB,MAAMtqB,KAAMuI,IAW5CinG,gBAAiB,SAAUjnG,GAEvB,OAAO7J,KAAKwwG,SAASnwG,EAAOurB,MAAMsgF,QAASriG,IAW/CknG,gBAAiB,SAAUlnG,GAEvB,OAAO7J,KAAKwwG,SAASnwG,EAAOurB,MAAMjqB,QAASkI,IAW/CmnG,eAAgB,SAAUnnG,GAEtB,OAAO7J,KAAKwwG,SAASnwG,EAAOurB,MAAMugF,OAAQtiG,IAW9ConG,mBAAoB,SAAUpnG,GAE1B,OAAO7J,KAAKwwG,SAASnwG,EAAOurB,MAAM7pB,WAAY8H,IAWlDqnG,mBAAoB,SAAUrnG,GAE1B,OAAO7J,KAAKwwG,SAASnwG,EAAOurB,MAAMwgF,WAAYviG,IAWlDsnG,aAAc,SAAUtnG,GAEpB,OAAO7J,KAAKwwG,SAASnwG,EAAOurB,MAAMygF,KAAMxiG,IAW5CunG,YAAa,SAAUvnG,GAEnB,OAAO7J,KAAKwwG,SAASnwG,EAAOurB,MAAM0gF,IAAKziG,IAW3CwnG,cAAe,SAAUxnG,GAErB,OAAO7J,KAAKwwG,SAASnwG,EAAOurB,MAAM9oB,MAAO+G,IAW7CynG,eAAgB,SAAUznG,GAEtB,OAAO7J,KAAKwwG,SAASnwG,EAAOurB,MAAM2gF,OAAQ1iG,IAW9C0nG,sBAAuB,SAAU1nG,GAE7B,OAAO7J,KAAKwwG,SAASnwG,EAAOurB,MAAM4gF,eAAgB3iG,IAqBtDunF,QAAS,SAAUvnF,EAAKwY,EAAOsU,EAAQhB,GAEnC,OAAK31B,KAAKwwG,SAASnuF,EAAOxY,QASLU,IAAborB,EAEO31B,KAAK+rG,UAAU1pF,GAAOxY,GAItB7J,KAAK+rG,UAAU1pF,GAAOxY,GAAK8rB,IAblCgB,GAEAruB,QAAQG,KAAK,gBAAkBkuB,EAAS,UAAY9sB,EAAM,yBAe3D,OAeXy3D,UAAW,SAAUz3D,GAEjB,OAAO7J,KAAKoxF,QAAQvnF,EAAKxJ,EAAOurB,MAAMnrB,OAAQ,YAAa,WAoB/D2yD,SAAU,SAAUvpD,EAAK2nG,QAETjnG,IAARV,GAA6B,OAARA,IAErBA,EAAM,kBAGGU,IAATinG,IAAsBA,GAAO,GAEjC,IAAKr+C,EAAMnzD,KAAKoxF,QAAQvnF,EAAKxJ,EAAOurB,MAAMxqB,MAAO,YAOjD,OALY,OAAR+xD,IAEAA,EAAMnzD,KAAKoxF,QAAQ,YAAa/wF,EAAOurB,MAAMxqB,MAAO,aAGpDowG,EAEOr+C,EAIAA,EAAI5sB,MAcnBkrE,gBAAiB,SAAU5nG,GAEvB,OAAO7J,KAAKoxF,QAAQvnF,EAAKxJ,EAAOurB,MAAMogF,QAAS,kBAAmB,UAetEkE,SAAU,SAAUrmG,GAEhB,OAAO7J,KAAKoxF,QAAQvnF,EAAKxJ,EAAOurB,MAAMqgF,MAAO,aAejDyF,aAAc,SAAU7nG,GAEpB,OAAO7J,KAAKoxF,QAAQvnF,EAAKxJ,EAAOurB,MAAMqgF,MAAO,eAAgB,SAejE0F,QAAS,SAAU9nG,GAEf,OAAO7J,KAAKoxF,QAAQvnF,EAAKxJ,EAAOurB,MAAMtqB,KAAM,UAAW,SAmB3DswG,eAAgB,SAAU/nG,EAAK0uB,EAAQs5E,GAEnC,IAAItrE,EAAOvmC,KAAKoxF,QAAQvnF,EAAKxJ,EAAOurB,MAAMsgF,QAAS,iBAAkB,QAErE,GAAa,OAAT3lE,QAA4Bh8B,IAAXguB,GAAmC,OAAXA,EAEzC,OAAOgO,EAIP,GAAIA,EAAKhO,GACT,CACI,IAAIu5E,EAAWvrE,EAAKhO,GAGpB,IAAIu5E,IAAYD,EAmBZ,OAAOC,EAjBP,IAAK,IAAIC,KAAWD,EAMhB,IAHAC,EAAUD,EAASC,IAGPF,aAAeA,EAEvB,OAAOE,EAKfzpG,QAAQG,KAAK,kEAAoEopG,EAAa,OAAShoG,EAAM,UASjHvB,QAAQG,KAAK,qDAAuDoB,EAAM,MAAQ0uB,EAAS,KAInG,OAAO,MAeXy5E,eAAgB,SAAUnoG,GAEtB,OAAO7J,KAAKoxF,QAAQvnF,EAAKxJ,EAAOurB,MAAMjqB,QAAS,mBAenDswG,UAAW,SAAUpoG,GAEjB,OAAO7J,KAAKoxF,QAAQvnF,EAAKxJ,EAAOurB,MAAMugF,OAAQ,cAelD+F,cAAe,SAAUroG,GAErB,OAAO7J,KAAKoxF,QAAQvnF,EAAKxJ,EAAOurB,MAAM7pB,WAAY,gBAAiB,SAevEo+E,cAAe,SAAUt2E,GAErB,OAAO7J,KAAKoxF,QAAQvnF,EAAKxJ,EAAOurB,MAAMwgF,WAAY,kBAmBtDkD,QAAS,SAAUzlG,EAAKsC,GAEpB,IAAIo6B,EAAOvmC,KAAKoxF,QAAQvnF,EAAKxJ,EAAOurB,MAAMygF,KAAM,UAAW,QAE3D,OAAI9lE,EAEIp6B,EAEO9L,EAAO6I,MAAM4C,QAAO,EAAMpF,MAAMa,QAAQg/B,SAAiBA,GAIzDA,EAKJ,MAgBfgpE,OAAQ,SAAU1lG,GAEd,OAAO7J,KAAKoxF,QAAQvnF,EAAKxJ,EAAOurB,MAAM0gF,IAAK,SAAU,SAezD6F,SAAU,SAAUtoG,GAEhB,OAAO7J,KAAKoxF,QAAQvnF,EAAKxJ,EAAOurB,MAAM9oB,MAAO,aAejDsvG,UAAW,SAAUvoG,GAEjB,OAAO7J,KAAKoxF,QAAQvnF,EAAKxJ,EAAOurB,MAAM2gF,OAAQ,YAAa,SAe/D8F,iBAAkB,SAAUxoG,GAExB,OAAO7J,KAAKoxF,QAAQvnF,EAAKxJ,EAAOurB,MAAM4gF,eAAgB,qBAgB1D4C,eAAgB,SAAUvlG,EAAKwY,GAI3B,YAFc9X,IAAV8X,IAAuBA,EAAQhiB,EAAOurB,MAAMxqB,OAEzCpB,KAAKoxF,QAAQvnF,EAAKwY,EAAO,iBAAkB,SAYtDolF,SAAU,SAAU59F,EAAKwY,GAIrB,YAFc9X,IAAV8X,IAAuBA,EAAQhiB,EAAOurB,MAAMxqB,OAEzCpB,KAAKoxF,QAAQvnF,EAAKwY,EAAO,WAAY,UAYhDiwF,cAAe,SAAUzoG,EAAKwY,GAE1B,IAAIkkB,EAAOvmC,KAAK4yD,aAAa/oD,EAAKwY,GAElC,OAAIkkB,EAEOA,EAAK1O,MAIL,GAiBf+6B,aAAc,SAAU/oD,EAAKwY,GAIzB,YAFc9X,IAAV8X,IAAuBA,EAAQhiB,EAAOurB,MAAMxqB,OAEzCpB,KAAKoxF,QAAQvnF,EAAKwY,EAAO,eAAgB,cAYpDqwC,aAAc,SAAU7oD,EAAKwY,GAIzB,YAFc9X,IAAV8X,IAAuBA,EAAQhiB,EAAOurB,MAAMxqB,OAEM,OAA9CpB,KAAKoxF,QAAQvnF,EAAKwY,EAAO,GAAI,cAYzCggE,gBAAiB,SAAUx4E,EAAKgpD,EAAWxwC,QAEzB9X,IAAV8X,IAAuBA,EAAQhiB,EAAOurB,MAAMxqB,OAE5CpB,KAAK+rG,UAAU1pF,GAAOxY,KAEtB7J,KAAK+rG,UAAU1pF,GAAOxY,GAAKgpD,UAAYA,IAc/C0/C,gBAAiB,SAAU1oG,EAAKd,EAAOsZ,GAEnC,IAAIkkB,EAAOvmC,KAAK4yD,aAAa/oD,EAAKwY,GAElC,OAAIkkB,EAEOA,EAAKkhE,SAAS1+F,GAId,MAcf2+F,eAAgB,SAAU79F,EAAKG,EAAMqY,GAEjC,IAAIkkB,EAAOvmC,KAAK4yD,aAAa/oD,EAAKwY,GAElC,OAAIkkB,EAEOA,EAAKmhE,eAAe19F,GAIpB,MAcfwoG,OAAQ,SAAUx6C,GAId,OAFIA,EAAMh4D,KAAKutG,YAAYv1C,IAIhBh4D,KAAK2rG,QAAQ3zC,IAIpB1vD,QAAQG,KAAK,sCAAwCuvD,EAAO,uCACrD,OAYfy6C,QAAS,SAAUpwF,QAED9X,IAAV8X,IAAuBA,EAAQhiB,EAAOurB,MAAMxqB,OAEhD,IAAIoM,KAEJ,GAAIxN,KAAK+rG,UAAU1pF,GAEf,IAAK,IAAIxY,KAAO7J,KAAK+rG,UAAU1pF,GAEf,cAARxY,GAA+B,cAARA,GAEvB2D,EAAI+G,KAAK1K,GAKrB,OAAO2D,GAiBXklG,aAAc,SAAU7oG,UAEb7J,KAAKurG,OAAOx9E,OAAOlkB,IAgB9BujG,YAAa,SAAUvjG,EAAK8oG,QAEGpoG,IAAvBooG,IAAoCA,GAAqB,GAE7D,IAAIx/C,EAAMnzD,KAAKozD,SAASvpD,GAAK,GAEzB8oG,GAAsBx/C,EAAIE,MAE1BF,EAAIE,KAAK/sC,iBAGNtmB,KAAKurG,OAAO5/E,MAAM9hB,IAiB7B+oG,YAAa,SAAU/oG,UAEZ7J,KAAKurG,OAAO/oF,MAAM3Y,IAa7BgpG,WAAY,SAAUhpG,UAEX7J,KAAKurG,OAAOv1C,KAAKnsD,IAa5BipG,cAAe,SAAUjpG,UAEd7J,KAAKurG,OAAO3oF,QAAQ/Y,IAa/BkpG,cAAe,SAAUlpG,UAEd7J,KAAKurG,OAAO/zC,QAAQ3tD,IAa/BmpG,aAAc,SAAUnpG,UAEb7J,KAAKurG,OAAOC,OAAO3hG,IAa9BopG,iBAAkB,SAAUppG,UAEjB7J,KAAKurG,OAAOtzC,WAAWpuD,IAalCqpG,iBAAkB,SAAUrpG,UAEjB7J,KAAKurG,OAAOE,WAAW5hG,IAalCspG,WAAY,SAAUtpG,UAEX7J,KAAKurG,OAAOhB,KAAK1gG,IAa5BupG,UAAW,SAAUvpG,UAEV7J,KAAKurG,OAAON,IAAIphG,IAa3BwpG,YAAa,SAAUxpG,UAEZ7J,KAAKurG,OAAOxzC,MAAMluD,IAa7BypG,aAAc,SAAUzpG,UAEb7J,KAAKurG,OAAO/gC,OAAO3gE,IAa9B0pG,oBAAqB,SAAU1pG,UAEpB7J,KAAKurG,OAAO5zC,cAAc9tD,IAarC2pG,kBAAmB,SAAU3pG,UAElB7J,KAAKurG,OAAOtB,YAAYpgG,IAanC4pG,mBAAoB,SAAU5pG,UAEnB7J,KAAKurG,OAAO5/E,MAAM9hB,IAW7Bk1B,gBAAiB,WAEb,IAAK,IAAIl1B,KAAO7J,KAAKurG,OAAO5/E,MAExB3rB,KAAKurG,OAAO5/E,MAAM9hB,GAAKwpD,KAAKskB,gBAepC41B,YAAa,SAAUv1C,EAAKzxB,GAExB,OAAKvmC,KAAKsrG,gBAKVtrG,KAAK4rG,aAAa5/F,IAAMhM,KAAKgd,KAAKuF,KAAKmxF,QAAU17C,EAEjDh4D,KAAK6rG,SAAW7rG,KAAK4rG,aAAa5/F,IAGlChM,KAAK4rG,aAAa5/F,IAAM,GAGpBu6B,IAEAvmC,KAAK2rG,QAAQ3rG,KAAK6rG,UAAYtlE,GAG3BvmC,KAAK6rG,UAhBD,MA4BfvlF,QAAS,WAEL,IAAK,IAAIte,EAAI,EAAGA,EAAIhI,KAAK+rG,UAAUhkG,OAAQC,IAC3C,CACI,IAAIqa,EAAQriB,KAAK+rG,UAAU/jG,GAE3B,IAAK,IAAI6B,KAAOwY,EAEA,cAARxY,GAA+B,cAARA,IAEvB7J,KAAK2zG,YAAYtxF,EAAMxY,WAEhBwY,EAAMxY,IAKzB7J,KAAK2rG,QAAU,KACf3rG,KAAK4rG,aAAe,KACpB5rG,KAAK6rG,SAAW,MASpB8H,YAAa,SAAUhlB,GAEfA,EAAKroE,QAELqoE,EAAKroE,WAIDqoE,EAAKt7B,MAAQs7B,EAAKt7B,KAAK/sC,SAEvBqoE,EAAKt7B,KAAK/sC,UAGVqoE,EAAKpoD,MAAQooD,EAAKpoD,KAAKjgB,SAEvBqoE,EAAKpoD,KAAKjgB,UAGVqoE,EAAK97B,WAAa87B,EAAK97B,UAAUvsC,SAEjCqoE,EAAK97B,UAAUvsC,UAGfqoE,EAAKvoD,SAAWuoD,EAAKvoD,QAAQ9f,SAE7BqoE,EAAKvoD,QAAQ9f,SAAQ,KAWjComF,WAAY,WAER1sG,KAAKysG,cAAgB,EAErBzsG,KAAK4tG,kBACL5tG,KAAK6tG,kBAEL,IAAIj4F,EAAO5V,KACP4zG,EAAevzG,EAAOurB,MAAMohF,cAE5B3sG,EAAOurB,MAAMohF,cAAgB,EAE7Bve,WAAW,WACF74E,EAAKioB,UAENv1B,QAAQG,KAAK,sDAAuDmrG,GAEpEh+F,EAAKi+F,WAEVxzG,EAAOurB,MAAMohF,eAIhBhtG,KAAK6zG,UAWblG,YAAa,WAET3tG,KAAKysG,eAAiB,GAU1BiB,eAAgB,WAEZ1tG,KAAKysG,eAAiB,EACtBzsG,KAAK8zG,eAUTA,YAAa,WAEL9zG,KAAK69B,SAEL79B,KAAK6zG,UAWbA,OAAQ,WAEJ7zG,KAAKysG,cAAgB,EACrBzsG,KAAK89B,QAAQzc,SAASrhB,QAM9BK,EAAOurB,MAAMrlB,UAAU8B,YAAchI,EAAOurB,MAO5CnkB,OAAOmF,eAAevM,EAAOurB,MAAMrlB,UAAW,WAC1CmG,IAAK,WACD,OAAO1M,KAAKysG,eAAiB,KAyBrCpsG,EAAO08B,OAAS,SAAU/f,GAOtBhd,KAAKgd,KAAOA,EAOZhd,KAAKqiB,MAAQrF,EAAKqF,MAOlBriB,KAAK0iC,aAAc,EAOnB1iC,KAAK+zG,WAAY,EAOjB/zG,KAAK43E,WAAY,EAUjB53E,KAAKg0G,cAAgB,KAOrBh0G,KAAKi0G,aAAc,EASnBj0G,KAAK0zG,QAAU,GAoBf1zG,KAAKo1E,KAAO,GAmBZp1E,KAAKk0G,SACDC,eAAiB,EACjB5J,KAAQ,mBACRU,IAAO,mBASXjrG,KAAKo0G,YAAc,IAAI/zG,EAAOud,OAO9B5d,KAAKq0G,eAAiB,IAAIh0G,EAAOud,OAWjC5d,KAAKs0G,eAAiB,IAAIj0G,EAAOud,OAUjC5d,KAAKu0G,YAAc,IAAIl0G,EAAOud,OAa9B5d,KAAKw0G,eAAiB,IAAIn0G,EAAOud,OAWjC5d,KAAKy0G,YAAc,IAAIp0G,EAAOud,OAU9B5d,KAAK00G,mBAAoB,EAMzB10G,KAAK20G,4BAA6B,EASlC30G,KAAK40G,gBAAiB,EAWtB50G,KAAK60G,qBAAuB,EAM5B70G,KAAK80G,oBAAsB,EAU3B90G,KAAK+0G,aAcL/0G,KAAKg1G,gBAQLh1G,KAAKi1G,gBAAkB,EASvBj1G,KAAKk1G,kBAAmB,EAOxBl1G,KAAKm1G,gBAAkB,EAOvBn1G,KAAKo1G,gBAAkB,EAOvBp1G,KAAKq1G,iBAAmB,EAOxBr1G,KAAKs1G,iBAAmB,GAQ5Bj1G,EAAO08B,OAAOw4E,yBAA2B,EAMzCl1G,EAAO08B,OAAOy4E,wBAA0B,EAMxCn1G,EAAO08B,OAAOgzE,2BAA6B,EAM3C1vG,EAAO08B,OAAO04E,yBAA2B,EAMzCp1G,EAAO08B,OAAO24E,oBAAsB,EAMpCr1G,EAAO08B,OAAOizE,yBAA2B,EAEzC3vG,EAAO08B,OAAOx2B,WAcVovG,iBAAkB,SAAUp7E,EAAQja,GAEhCA,EAAYA,GAAa,EAEzBtgB,KAAKg0G,eAAkBz5E,OAAQA,EAAQja,UAAWA,EAAWzO,MAAO0oB,EAAO1oB,MAAOC,OAAQyoB,EAAOzoB,OAAQuD,KAAM,MAK3GrV,KAAKg0G,cAAc3+F,KAHL,IAAdiL,EAG0B,IAAIjgB,EAAO2N,UAAU,EAAG,EAAG,EAAGusB,EAAOzoB,QAKrC,IAAIzR,EAAO2N,UAAU,EAAG,EAAGusB,EAAO1oB,MAAO,GAGvE0oB,EAAOqc,KAAK52C,KAAKg0G,cAAc3+F,MAE/BklB,EAAOld,SAAU,GAYrBhC,OAAQ,WAEArb,KAAKg0G,eAAiBh0G,KAAKg0G,cAAcliG,SAAW9R,KAAKg0G,cAAcz5E,OAAOzoB,SAE9E9R,KAAKg0G,cAAc3+F,KAAKvD,OAAS9R,KAAKg0G,cAAcz5E,OAAOzoB,SAenE8jG,eAAgB,SAAUxtG,EAAMyB,GAE5B,OAAO7J,KAAK61G,cAAcztG,EAAMyB,IAAQ,GAe5CgsG,cAAe,SAAUztG,EAAMyB,GAI3B,IAAK,IAFDisG,GAAa,EAER9tG,EAAI,EAAGA,EAAIhI,KAAK+0G,UAAUhtG,OAAQC,IAC3C,CACI,IAAIkjF,EAAOlrF,KAAK+0G,UAAU/sG,GAE1B,GAAIkjF,EAAK9iF,OAASA,GAAQ8iF,EAAKrhF,MAAQA,IAEnCisG,EAAY9tG,GAGPkjF,EAAK6qB,SAAW7qB,EAAK8qB,SAEtB,MAKZ,OAAOF,GAeXG,SAAU,SAAU7tG,EAAMyB,GAEtB,IAAIqsG,EAAYl2G,KAAK61G,cAAcztG,EAAMyB,GAEzC,OAAIqsG,GAAa,IAEJntG,MAAOmtG,EAAWhrB,KAAMlrF,KAAK+0G,UAAUmB,KAmBxDj0F,MAAO,SAAU8iB,EAAMqhE,QAEC77F,IAAhB67F,IAA6BA,GAAc,GAE3CpmG,KAAK0iC,cAKLqC,IAEA/kC,KAAKg0G,cAAgB,MAGzBh0G,KAAK+zG,WAAY,EAEjB/zG,KAAKi1G,gBAAkB,EACvBj1G,KAAK+0G,UAAUhtG,OAAS,EACxB/H,KAAKg1G,aAAajtG,OAAS,EAE3B/H,KAAKk1G,kBAAmB,EACxBl1G,KAAKo1G,gBAAkB,EACvBp1G,KAAKm1G,gBAAkB,EACvBn1G,KAAKq1G,iBAAmB,EACxBr1G,KAAKs1G,iBAAmB,EAEpBlP,IAEApmG,KAAKo0G,YAAYhuF,YACjBpmB,KAAKq0G,eAAejuF,YACpBpmB,KAAKs0G,eAAeluF,YACpBpmB,KAAKu0G,YAAYnuF,YACjBpmB,KAAKw0G,eAAepuF,YACpBpmB,KAAKy0G,YAAYruF,eAkBzB+vF,cAAe,SAAU/tG,EAAMyB,EAAKmuD,EAAKinB,EAAYm3B,EAAWlJ,GAI5D,QAFkB3iG,IAAd6rG,IAA2BA,GAAY,QAE/B7rG,IAARV,GAA6B,KAARA,EAGrB,OADAvB,QAAQG,KAAK,kDAAoDL,GAC1DpI,KAGX,QAAYuK,IAARytD,GAA6B,OAARA,EACzB,CACI,IAAIk1C,EAOA,OADA5kG,QAAQG,KAAK,8CAAgDL,EAAO,SAAWyB,GACxE7J,KALPg4D,EAAMnuD,EAAMqjG,EASpB,IAAIhiB,GACA9iF,KAAMA,EACNyB,IAAKA,EACLurE,KAAMp1E,KAAKo1E,KACXpd,IAAKA,EACLq+C,UAAWr2G,KAAK80G,oBAAsB,EACtCvuE,KAAM,KACNyvE,SAAS,EACTD,QAAQ,EACRtmB,OAAO,GAGX,GAAIxQ,EAEA,IAAK,IAAIv1E,KAAQu1E,EAEbiM,EAAKxhF,GAAQu1E,EAAWv1E,GAIhC,IAAIwsG,EAAYl2G,KAAK61G,cAAcztG,EAAMyB,GAEzC,GAAIusG,GAAaF,GAAa,EAC9B,CACI,IAAII,EAAct2G,KAAK+0G,UAAUmB,GAE5BI,EAAYN,SAAYM,EAAYP,QAMrC/1G,KAAK+0G,UAAUxgG,KAAK22E,GACpBlrF,KAAKo1G,mBALLp1G,KAAK+0G,UAAUmB,GAAahrB,OAQZ,IAAfgrB,IAELl2G,KAAK+0G,UAAUxgG,KAAK22E,GACpBlrF,KAAKo1G,mBAGT,OAAOp1G,MAcXu2G,kBAAmB,SAAUnuG,EAAMyB,EAAKmuD,EAAKinB,GAEzC,OAAOj/E,KAAKm2G,cAAc/tG,EAAMyB,EAAKmuD,EAAKinB,GAAY,IA0B1Du3B,KAAM,SAAU3sG,EAAKmuD,EAAKzxB,EAAMhhB,GAM5B,QAJYhb,IAARytD,IAAqBA,EAAM,WAClBztD,IAATg8B,IAAsBA,EAAO,WACTh8B,IAApBgb,IAAiCA,EAAkB,OAElDyyC,IAAQzxB,EAIT,OAFAj+B,QAAQG,KAAK,qEAENzI,KAGX,IAAIw2G,GACApuG,KAAM,WACNyB,IAAKA,EACLmuD,IAAKA,EACLod,KAAMp1E,KAAKo1E,KACXihC,WAAW,EACX9vE,KAAM,KACNyvE,SAAS,EACTD,QAAQ,EACRtmB,OAAO,EACPlqE,gBAAiBA,GAIjBghB,IAEoB,iBAATA,IAEPA,EAAO8lE,KAAK1yF,MAAM4sB,IAGtBiwE,EAAKjwE,KAAOA,MAGZiwE,EAAKT,QAAS,GAKlB,IAAK,IAAI/tG,EAAI,EAAGA,EAAIhI,KAAK+0G,UAAUhtG,OAAS,EAAGC,IAC/C,CACI,IAAIkjF,EAAOlrF,KAAK+0G,UAAU/sG,GAE1B,IAAKkjF,IAAUA,EAAK6qB,SAAW7qB,EAAK8qB,SAAyB,aAAd9qB,EAAK9iF,KACpD,CACIpI,KAAK+0G,UAAUpvF,OAAO3d,EAAG,EAAGwuG,GAC5Bx2G,KAAKm1G,kBACL,OAIR,OAAOn1G,MAqDX2rB,MAAO,SAAU9hB,EAAKmuD,EAAKo+C,GAEvB,MAAmB,iBAARp+C,EAEAh4D,KAAKomC,QAAQv8B,EAAKmuD,EAAKo+C,GAIvBp2G,KAAKm2G,cAAc,QAAStsG,EAAKmuD,OAAKztD,EAAW6rG,EAAW,SAc3EK,oBAAqB,SAAU5sG,EAAKouD,EAAYm+C,GAE5C,OAAOp2G,KAAK2rB,MAAM9hB,EAAKouD,EAAWlqC,OAAO+wC,UAAU,aAAcs3C,IAgDrEhwE,QAAS,SAAUv8B,EAAK0uB,EAAQ69E,GAE5B,GAAIp2G,KAAKgd,KAAK4J,aAAevmB,EAAOK,MACpC,CACI,IACIg2G,EADAC,EAAc32G,KAAKgd,KAAK4d,SAASg8E,WAAWD,YAGhD,IAAKD,KAASn+E,EAEV,GAAIm+E,EAAMjyB,gBAAiBkyB,EAEvB,OAAO32G,KAAKm2G,cAAc,UAAWtsG,EAAK0uB,EAAOm+E,QAAQnsG,EAAW6rG,EAAW,QAa3F,OALI79E,EAAkB,WAElBv4B,KAAKm2G,cAAc,QAAStsG,EAAK0uB,EAAkB,eAAGhuB,EAAW6rG,EAAW,QAGzEp2G,MA4BX62G,OAAQ,SAAUpqG,EAAMqqG,GAEpB,GAAIpwG,MAAMa,QAAQuvG,GAEd,IAAS9uG,EAAI,EAAGA,EAAIyE,EAAK1E,OAAQC,IAE7BhI,KAAK2rB,MAAMlf,EAAKzE,GAAI8uG,EAAK9uG,SAK7B,IAAK,IAAIA,EAAI,EAAGA,EAAIyE,EAAK1E,OAAQC,IAE7BhI,KAAK2rB,MAAMlf,EAAKzE,IAIxB,OAAOhI,MAyBXg2D,KAAM,SAAUnsD,EAAKmuD,EAAKo+C,GAEtB,OAAOp2G,KAAKm2G,cAAc,OAAQtsG,EAAKmuD,OAAKztD,EAAW6rG,EAAW,SA0BtE7L,KAAM,SAAU1gG,EAAKmuD,EAAKo+C,GAEtB,OAAOp2G,KAAKm2G,cAAc,OAAQtsG,EAAKmuD,OAAKztD,EAAW6rG,EAAW,UAyBtE5rC,OAAQ,SAAU3gE,EAAKmuD,EAAKo+C,GAExB,OAAOp2G,KAAKm2G,cAAc,SAAUtsG,EAAKmuD,OAAKztD,EAAW6rG,EAAW,UAyBxEnL,IAAK,SAAUphG,EAAKmuD,EAAKo+C,GAErB,OAAOp2G,KAAKm2G,cAAc,MAAOtsG,EAAKmuD,OAAKztD,EAAW6rG,EAAW,SA6BrEW,OAAQ,SAAUltG,EAAKmuD,EAAKvkC,EAAUlO,GAMlC,YAJiBhb,IAAbkpB,IAA0BA,GAAW,IAExB,IAAbA,QAA0ClpB,IAApBgb,IAAiCA,EAAkBvlB,MAEtEA,KAAKm2G,cAAc,SAAUtsG,EAAKmuD,GAAOq+C,WAAW,EAAM5iF,SAAUA,EAAUlO,gBAAiBA,IAAmB,EAAO,QA+BpIimF,OAAQ,SAAU3hG,EAAKmuD,EAAKvkC,EAAUlO,GAOlC,YALiBhb,IAAbkpB,IAA0BA,GAAW,IAGxB,IAAbA,QAA0ClpB,IAApBgb,IAAiCA,EAAkBkO,GAEtEzzB,KAAKm2G,cAAc,SAAUtsG,EAAKmuD,GAAOvkC,SAAUA,EAAUlO,gBAAiBA,IAAmB,EAAO,SAqCnHyxF,YAAa,SAAUntG,EAAKmuD,EAAKwwB,EAAYC,EAAayhB,EAAUC,EAAQC,EAASC,GAOjF,YALiB9/F,IAAb2/F,IAA0BA,GAAY,QAC3B3/F,IAAX4/F,IAAwBA,EAAS,QACrB5/F,IAAZ6/F,IAAyBA,EAAU,QACpB7/F,IAAf8/F,IAA4BA,EAAa,GAEtCrqG,KAAKm2G,cAAc,cAAetsG,EAAKmuD,GAAOwwB,WAAYA,EAAYC,YAAaA,EAAayhB,SAAUA,EAAUC,OAAQA,EAAQC,QAASA,EAASC,WAAYA,IAAc,EAAO,SA6BlM30C,MAAO,SAAU7rD,EAAKitG,EAAMG,GAExB,OAAIj3G,KAAKgd,KAAKwF,MAAM00F,QAETl3G,WAGQuK,IAAf0sG,IAA4BA,GAAa,GAEzB,iBAATH,IAEPA,GAAQA,IAGL92G,KAAKm2G,cAAc,QAAStsG,EAAKitG,GAAQ95C,OAAQ,KAAMi6C,WAAYA,MA4B9EthD,YAAa,SAAU9rD,EAAKitG,EAAMK,EAASC,EAAUH,GAEjD,OAAIj3G,KAAKgd,KAAKwF,MAAM00F,QAETl3G,WAGKuK,IAAZ4sG,IAAyBA,EAAU,WACtB5sG,IAAb6sG,IAA0BA,EAAW,WACtB7sG,IAAf0sG,IAA4BA,GAAa,GAE7Cj3G,KAAK01D,MAAM7rD,EAAKitG,EAAMG,GAElBE,EAEAn3G,KAAKuqG,KAAK1gG,EAAM,cAAestG,GAE1BC,GAEmB,iBAAbA,IAEPA,EAAW/K,KAAK1yF,MAAMy9F,IAG1Bp3G,KAAKqiB,MAAMmtF,QAAQ3lG,EAAM,cAAe,GAAIutG,IAI5C9uG,QAAQG,KAAK,8FAGVzI,OAgBXq3G,YAAa,SAAUxtG,EAAKitG,EAAMK,EAASC,EAAUH,GAEjD,OAAOj3G,KAAK21D,YAAY9rD,EAAKitG,EAAMK,EAASC,EAAUH,IAiC1Dl/C,MAAO,SAAUluD,EAAKitG,EAAMQ,EAAWC,GAqBnC,YAnBkBhtG,IAAd+sG,IAIIA,EAFAt3G,KAAKgd,KAAKsS,OAAOw8D,QAEL,aAIA,uBAILvhF,IAAXgtG,IAAwBA,GAAS,GAEjB,iBAATT,IAEPA,GAAQA,IAGL92G,KAAKm2G,cAAc,QAAStsG,EAAKitG,GAAQ95C,OAAQ,KAAMu6C,OAAQA,EAAQD,UAAWA,KAqC7F9/C,QAAS,SAAU3tD,EAAKmuD,EAAKzxB,EAAM8nE,GAmB/B,QAjBY9jG,IAARytD,IAAqBA,EAAM,WAClBztD,IAATg8B,IAAsBA,EAAO,WAClBh8B,IAAX8jG,IAAwBA,EAAShuG,EAAO0yD,QAAQykD,KAE/Cx/C,GAAQzxB,IAILyxB,EAFAq2C,IAAWhuG,EAAO0yD,QAAQykD,IAEpB3tG,EAAM,OAINA,EAAM,SAKhB08B,EACJ,CACI,OAAQ8nE,GAGJ,KAAKhuG,EAAO0yD,QAAQykD,IAChB,MAGJ,KAAKn3G,EAAO0yD,QAAQ0kD,WAEI,iBAATlxE,IAEPA,EAAO8lE,KAAK1yF,MAAM4sB,IAK9BvmC,KAAKqiB,MAAMisF,WAAWzkG,EAAK,KAAM08B,EAAM8nE,QAIvCruG,KAAKm2G,cAAc,UAAWtsG,EAAKmuD,GAAOq2C,OAAQA,IAGtD,OAAOruG,MAmCX4iB,QAAS,SAAU/Y,EAAKmuD,EAAKzxB,EAAM8nE,GA0B/B,YAxBY9jG,IAARytD,IAAqBA,EAAM,WAClBztD,IAATg8B,IAAsBA,EAAO,WAClBh8B,IAAX8jG,IAAwBA,EAAShuG,EAAOmwB,QAAQknF,kBAE/C1/C,GAAQzxB,IAETyxB,EAAMnuD,EAAM,SAIZ08B,GAEoB,iBAATA,IAEPA,EAAO8lE,KAAK1yF,MAAM4sB,IAGtBvmC,KAAKqiB,MAAM+rF,eAAevkG,EAAK,KAAM08B,EAAM8nE,IAI3CruG,KAAKm2G,cAAc,UAAWtsG,EAAKmuD,GAAOq2C,OAAQA,IAG/CruG,MA0CXyrG,WAAY,SAAU5hG,EAAK8tG,EAAYC,EAAUjJ,EAAWz3C,EAAUC,GAmBlE,QAjBmB5sD,IAAfotG,GAA2C,OAAfA,IAE5BA,EAAa9tG,EAAM,aAGNU,IAAbqtG,IAA0BA,EAAW,WACvBrtG,IAAdokG,IAA2BA,EAAY,MAE1B,OAAbiJ,GAAmC,OAAdjJ,IAErBiJ,EAAW/tG,EAAM,aAGJU,IAAb2sD,IAA0BA,EAAW,QACxB3sD,IAAb4sD,IAA0BA,EAAW,GAGrCygD,EAEA53G,KAAKm2G,cAAc,aAActsG,EAAK8tG,GAAcC,SAAUA,EAAU1gD,SAAUA,EAAUC,SAAUA,SAKtG,GAAyB,iBAAdw3C,EACX,CACI,IAAIpE,EAAMU,EAEV,IAEIV,EAAO8B,KAAK1yF,MAAMg1F,GAEtB,MAAQ9iG,GAEJo/F,EAAMjrG,KAAK63G,SAASlJ,GAGxB,IAAK1D,IAAQV,EAET,MAAM,IAAI9wF,MAAM,kDAGpBzZ,KAAKm2G,cAAc,aAActsG,EAAK8tG,GAAcC,SAAU,KAAMjJ,UAAWpE,GAAQU,EACnF2D,UAAcrE,EAAO,OAAS,MAAQrzC,SAAUA,EAAUC,SAAUA,IAIhF,OAAOn3D,MA4CX83G,eAAgB,SAAUjuG,EAAK8tG,EAAYC,EAAUjJ,GAEjD,OAAO3uG,KAAK+3G,MAAMluG,EAAK8tG,EAAYC,EAAUjJ,EAAWtuG,EAAO08B,OAAOw4E,2BA4C1EyC,cAAe,SAAUnuG,EAAK8tG,EAAYC,EAAUjJ,GAEhD,OAAO3uG,KAAK+3G,MAAMluG,EAAK8tG,EAAYC,EAAUjJ,EAAWtuG,EAAO08B,OAAOy4E,0BA4C1EyC,SAAU,SAAUpuG,EAAK8tG,EAAYC,EAAUjJ,GAU3C,YARiBpkG,IAAbqtG,IAA0BA,EAAW,WACvBrtG,IAAdokG,IAA2BA,EAAY,MAEtCiJ,GAAajJ,IAEdiJ,EAAW/tG,EAAM,QAGd7J,KAAK+3G,MAAMluG,EAAK8tG,EAAYC,EAAUjJ,EAAWtuG,EAAO08B,OAAOgzE,6BA2C1EgI,MAAO,SAAUluG,EAAK8tG,EAAYC,EAAUjJ,EAAWN,GAwBnD,QAtBmB9jG,IAAfotG,GAA2C,OAAfA,IAE5BA,EAAa9tG,EAAM,aAGNU,IAAbqtG,IAA0BA,EAAW,WACvBrtG,IAAdokG,IAA2BA,EAAY,WAC5BpkG,IAAX8jG,IAAwBA,EAAShuG,EAAO08B,OAAOw4E,0BAE9CqC,GAAajJ,IAIViJ,EAFAvJ,IAAWhuG,EAAO08B,OAAOgzE,2BAEdlmG,EAAM,OAINA,EAAM,SAKrB+tG,EAEA53G,KAAKm2G,cAAc,eAAgBtsG,EAAK8tG,GAAcC,SAAUA,EAAUvJ,OAAQA,QAGtF,CACI,OAAQA,GAGJ,KAAKhuG,EAAO08B,OAAOw4E,yBAEU,iBAAd5G,IAEPA,EAAYtC,KAAK1yF,MAAMg1F,IAE3B,MAGJ,KAAKtuG,EAAO08B,OAAOgzE,2BAEf,GAAyB,iBAAdpB,EACX,CACI,IAAI1D,EAAMjrG,KAAK63G,SAASlJ,GAExB,IAAK1D,EAED,MAAM,IAAIxxF,MAAM,kDAGpBk1F,EAAY1D,GAKxBjrG,KAAKm2G,cAAc,eAAgBtsG,EAAK8tG,GAAcC,SAAU,KAAMjJ,UAAWA,EAAWN,OAAQA,IAIxG,OAAOruG,MAiBXk4G,cAAe,SAAUzkF,EAAUlO,GAE/BvlB,KAAK80G,sBAEL,IACIrhF,EAASzsB,KAAKue,GAAmBvlB,KAAMA,MACzC,QACEA,KAAK80G,sBAGT,OAAO90G,MAcXm4G,aAAc,SAAU/vG,EAAMyB,GAE1B,IAAIuuG,EAAQp4G,KAAKi2G,SAAS7tG,EAAMyB,GAOhC,OALIuuG,IAEAA,EAAMltB,KAAKmrB,WAAY,GAGpBr2G,MAaXq4G,WAAY,SAAUjwG,EAAMyB,GAExB,IAAIuuG,EAAQp4G,KAAKi2G,SAAS7tG,EAAMyB,GAE5BuuG,IAEKA,EAAMrC,QAAWqC,EAAMpC,SAExBh2G,KAAK+0G,UAAUpvF,OAAOyyF,EAAMrvG,MAAO,KAY/Cqd,UAAW,WAEPpmB,KAAK+0G,UAAUhtG,OAAS,EACxB/H,KAAKg1G,aAAajtG,OAAS,GAS/BgJ,MAAO,WAEC/Q,KAAK+zG,YAKT/zG,KAAK43E,WAAY,EACjB53E,KAAK+zG,WAAY,EAEjB/zG,KAAKs4G,iBAELt4G,KAAKu4G,qBAiBTA,iBAAkB,WAEd,IAAKv4G,KAAK+zG,UAIN,OAFAzrG,QAAQG,KAAK,wDACbzI,KAAKw4G,iBAAgB,GAKzB,IAASxwG,EAAI,EAAGA,EAAIhI,KAAKg1G,aAAajtG,OAAQC,MAEtCkjF,EAAOlrF,KAAKg1G,aAAahtG,IAEpB+tG,QAAU7qB,EAAKuE,SAEpBzvF,KAAKg1G,aAAarvF,OAAO3d,EAAG,GAC5BA,IAEAkjF,EAAK8qB,SAAU,EACf9qB,EAAKutB,WAAa,KAClBvtB,EAAKwtB,cAAgB,KAEjBxtB,EAAKuE,OAELzvF,KAAKy0G,YAAYpzF,SAAS6pE,EAAKrhF,IAAKqhF,GAGtB,aAAdA,EAAK9iF,MAELpI,KAAKs1G,mBACLt1G,KAAKw0G,eAAenzF,SAASrhB,KAAK24G,SAAUztB,EAAKrhF,KAAMqhF,EAAKuE,MAAOzvF,KAAKs1G,iBAAkBt1G,KAAKo1G,kBAE5E,aAAdlqB,EAAK9iF,MAAuB8iF,EAAKuE,QAGtCzvF,KAAKq1G,mBACLr1G,KAAKs0G,eAAejzF,SAAS6pE,EAAKrhF,KAAMqhF,EAAKuE,MAAOzvF,KAAKq1G,iBAAkBr1G,KAAKm1G,mBAW5F,IAAK,IAJDyD,GAAY,EAEZC,EAAgB74G,KAAK40G,eAAiB3uG,KAAK6N,IAAI,EAAG9T,KAAK60G,sBAAwB,EAE1E7sG,EAAIhI,KAAKi1G,gBAAiBjtG,EAAIhI,KAAK+0G,UAAUhtG,OAAQC,IAC9D,CACI,IAAIkjF,EAAOlrF,KAAK+0G,UAAU/sG,GAuD1B,GApDkB,aAAdkjF,EAAK9iF,OAAwB8iF,EAAKuE,OAASvE,EAAK6qB,QAAU/tG,IAAMhI,KAAKi1G,kBAGrEj1G,KAAK84G,YAAY5tB,GAEjBlrF,KAAKq1G,mBACLr1G,KAAKs0G,eAAejzF,SAAS6pE,EAAKrhF,KAAMqhF,EAAKuE,MAAOzvF,KAAKq1G,iBAAkBr1G,KAAKm1G,kBAGhFjqB,EAAK6qB,QAAU7qB,EAAKuE,MAGhBznF,IAAMhI,KAAKi1G,kBAEXj1G,KAAKi1G,gBAAkBjtG,EAAI,IAGzBkjF,EAAK8qB,SAAWh2G,KAAKg1G,aAAajtG,OAAS8wG,IAG/B,aAAd3tB,EAAK9iF,MAAwB8iF,EAAK3kD,KAS5BqyE,IAED54G,KAAKk1G,mBAENl1G,KAAKk1G,kBAAmB,EACxBl1G,KAAKo0G,YAAY/yF,YAGrBrhB,KAAKg1G,aAAazgG,KAAK22E,GACvBA,EAAK8qB,SAAU,EACfh2G,KAAKu0G,YAAYlzF,SAASrhB,KAAK24G,SAAUztB,EAAKrhF,IAAKqhF,EAAKlzB,KAExDh4D,KAAK+4G,SAAS7tB,KAjBdlrF,KAAKg1G,aAAazgG,KAAK22E,GACvBA,EAAK8qB,SAAU,EAEfh2G,KAAK+4G,SAAS7tB,MAkBjBA,EAAK6qB,QAAU7qB,EAAKmrB,YAErBuC,GAAY,GAKZ54G,KAAKg1G,aAAajtG,QAAU8wG,GAC3BD,GAAa54G,KAAKq1G,mBAAqBr1G,KAAKm1G,gBAE7C,MAQR,GAJAn1G,KAAKs4G,iBAIDt4G,KAAKi1G,iBAAmBj1G,KAAK+0G,UAAUhtG,OAEvC/H,KAAKw4G,uBAEJ,IAAKx4G,KAAKg1G,aAAajtG,OAC5B,CAGIO,QAAQG,KAAK,8EAEb,IAAIugB,EAAQhpB,KAEZyuF,WAAW,WACPzlE,EAAMwvF,iBAAgB,IACvB,OAYXA,gBAAiB,SAAUQ,GAEnBh5G,KAAK43E,YAKT53E,KAAK43E,WAAY,EACjB53E,KAAK+zG,WAAY,EAGZiF,GAAah5G,KAAKk1G,mBAEnBl1G,KAAKk1G,kBAAmB,EACxBl1G,KAAKo0G,YAAY/yF,YAGrBrhB,KAAKiiB,QAELjiB,KAAKq0G,eAAehzF,WAEpBrhB,KAAKgd,KAAKyF,MAAM0D,iBAapB8yF,cAAe,SAAU/tB,EAAMguB,QAEN3uG,IAAjB2uG,IAA8BA,EAAe,IAEjDhuB,EAAK6qB,QAAS,EACd7qB,EAAKuE,QAAUypB,EAEXA,IAEAhuB,EAAKguB,aAAeA,EAEpB5wG,QAAQG,KAAK,mBAAqByiF,EAAK9iF,KAAO,IAAM8iF,EAAKrhF,IAAM,MAAaqvG,IAGhFl5G,KAAKu4G,oBAWTO,YAAa,SAAUtC,GAEnB,IAAI2C,EAAW3C,EAAKjwE,KAAKiwE,EAAK3sG,KAE9B,GAAKsvG,EAML,IAAK,IAAInxG,EAAI,EAAGA,EAAImxG,EAASpxG,OAAQC,IACrC,CACI,IAAIkjF,EAAOiuB,EAASnxG,GAEpB,OAAQkjF,EAAK9iF,MAET,IAAK,QACDpI,KAAK2rB,MAAMu/D,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAKkrB,WACpC,MAEJ,IAAK,OACDp2G,KAAKg2D,KAAKk1B,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAKkrB,WACnC,MAEJ,IAAK,OACDp2G,KAAKuqG,KAAKrf,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAKkrB,WACnC,MAEJ,IAAK,MACDp2G,KAAKirG,IAAI/f,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAKkrB,WAClC,MAEJ,IAAK,SACDp2G,KAAK+2G,OAAO7rB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAKz3D,SAAU+iF,EAAKjxF,iBAAmBvlB,MACvE,MAEJ,IAAK,SACDA,KAAKwrG,OAAOtgB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAKz3D,SAAU+iF,EAAKjxF,iBAAmBvlB,MACvE,MAEJ,IAAK,cACDA,KAAKg3G,YAAY9rB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAK1C,WAAY0C,EAAKzC,YAAayC,EAAKgf,SAAUhf,EAAKif,OAAQjf,EAAKkf,QAASlf,EAAKmf,YACvH,MAEJ,IAAK,QACDrqG,KAAK+3D,MAAMmzB,EAAKrhF,IAAKqhF,EAAK4rB,MAC1B,MAEJ,IAAK,QACD92G,KAAK01D,MAAMw1B,EAAKrhF,IAAKqhF,EAAK4rB,KAAM5rB,EAAK+rB,YACrC,MAEJ,IAAK,cACDj3G,KAAKq3G,YAAYnsB,EAAKrhF,IAAKqhF,EAAK4rB,KAAM5rB,EAAKisB,QAASjsB,EAAKksB,SAAUlsB,EAAK+rB,YACxE,MAEJ,IAAK,UACDj3G,KAAKw3D,QAAQ0zB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAK3kD,KAAMlmC,EAAO0yD,QAAQm4B,EAAKmjB,SAChE,MAEJ,IAAK,UACDruG,KAAK4iB,QAAQsoE,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAK3kD,KAAMlmC,EAAO08B,OAAOmuD,EAAKmjB,SAC/D,MAEJ,IAAK,aACDruG,KAAKyrG,WAAWvgB,EAAKrhF,IAAKqhF,EAAKysB,WAAYzsB,EAAK0sB,SAAU1sB,EAAKyjB,UAAWzjB,EAAKh0B,SAAUg0B,EAAK/zB,UAC9F,MAEJ,IAAK,iBACDn3D,KAAK83G,eAAe5sB,EAAKrhF,IAAKqhF,EAAKysB,WAAYzsB,EAAK0sB,SAAU1sB,EAAKyjB,WACnE,MAEJ,IAAK,gBACD3uG,KAAKg4G,cAAc9sB,EAAKrhF,IAAKqhF,EAAKysB,WAAYzsB,EAAK0sB,SAAU1sB,EAAKyjB,WAClE,MAEJ,IAAK,WACD3uG,KAAKi4G,SAAS/sB,EAAKrhF,IAAKqhF,EAAKysB,WAAYzsB,EAAK0sB,SAAU1sB,EAAKyjB,WAC7D,MAEJ,IAAK,QACD3uG,KAAK+3G,MAAM7sB,EAAKrhF,IAAKqhF,EAAKysB,WAAYzsB,EAAK0sB,SAAU1sB,EAAKyjB,UAAWtuG,EAAO08B,OAAOmuD,EAAKmjB,SACxF,MAEJ,IAAK,SACDruG,KAAKwqE,OAAO0gB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAKkrB,iBA/E7C9tG,QAAQG,KAAK,mBAAqB+tG,EAAK3sG,IAAM,0CAiGrDuvG,aAAc,SAAUphD,EAAKkzB,GAEzB,QAAKlzB,IAKDA,EAAIpN,MAAM,8CAEHoN,EAIAh4D,KAAK0zG,QAAUxoB,EAAK9V,KAAOpd,IAc1C+gD,SAAU,SAAU7tB,GAGhB,OAAQA,EAAK9iF,MAET,IAAK,WACDpI,KAAKq5G,QAAQnuB,EAAMlrF,KAAKo5G,aAAaluB,EAAKlzB,IAAKkzB,GAAO,OAAQlrF,KAAKs5G,cACnE,MAEJ,IAAK,QACL,IAAK,cACL,IAAK,eACL,IAAK,aACDt5G,KAAKu5G,aAAaruB,GAClB,MAEJ,IAAK,QACDA,EAAKlzB,IAAMh4D,KAAKw5G,YAAYtuB,EAAKlzB,KAE7BkzB,EAAKlzB,IAGDh4D,KAAKgd,KAAKwF,MAAMi3F,cAEhBz5G,KAAKq5G,QAAQnuB,EAAMlrF,KAAKo5G,aAAaluB,EAAKlzB,IAAKkzB,GAAO,cAAelrF,KAAKs5G,cAErEt5G,KAAKgd,KAAKwF,MAAMk3F,eAErB15G,KAAK25G,aAAazuB,GAKtBlrF,KAAK45G,UAAU1uB,EAAM,KAAM,mFAE/B,MAEJ,IAAK,QACDA,EAAKlzB,IAAMh4D,KAAK65G,YAAY3uB,EAAKlzB,KAE7BkzB,EAAKlzB,IAEDkzB,EAAKqsB,OAELv3G,KAAKq5G,QAAQnuB,EAAMlrF,KAAKo5G,aAAaluB,EAAKlzB,IAAKkzB,GAAO,OAAQlrF,KAAKs5G,cAInEt5G,KAAK85G,aAAa5uB,GAKtBlrF,KAAK45G,UAAU1uB,EAAM,KAAM,mFAE/B,MAEJ,IAAK,OAEDlrF,KAAKq5G,QAAQnuB,EAAMlrF,KAAKo5G,aAAaluB,EAAKlzB,IAAKkzB,GAAO,OAAQlrF,KAAK+5G,kBACnE,MAEJ,IAAK,MAED/5G,KAAKq5G,QAAQnuB,EAAMlrF,KAAKo5G,aAAaluB,EAAKlzB,IAAKkzB,GAAO,OAAQlrF,KAAKg6G,iBACnE,MAEJ,IAAK,UAEG9uB,EAAKmjB,SAAWhuG,EAAO0yD,QAAQ0kD,WAE/Bz3G,KAAKq5G,QAAQnuB,EAAMlrF,KAAKo5G,aAAaluB,EAAKlzB,IAAKkzB,GAAO,OAAQlrF,KAAK+5G,kBAE9D7uB,EAAKmjB,SAAWhuG,EAAO0yD,QAAQykD,IAEpCx3G,KAAKq5G,QAAQnuB,EAAMlrF,KAAKo5G,aAAaluB,EAAKlzB,IAAKkzB,GAAO,OAAQlrF,KAAKi6G,iBAInEj6G,KAAKi5G,cAAc/tB,EAAM,2BAA6BA,EAAKmjB,QAE/D,MAEJ,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,UACDruG,KAAKq5G,QAAQnuB,EAAMlrF,KAAKo5G,aAAaluB,EAAKlzB,IAAKkzB,GAAO,OAAQlrF,KAAKs5G,cACnE,MAEJ,IAAK,UAEiC,cAA9BpuB,EAAKrhF,IAAIR,MAAM,KAAK6jE,MAEpBltE,KAAKu5G,aAAaruB,GAIlBlrF,KAAKq5G,QAAQnuB,EAAMlrF,KAAKo5G,aAAaluB,EAAKlzB,IAAKkzB,GAAO,cAAelrF,KAAKs5G,cAE9E,MAEJ,IAAK,SACDt5G,KAAKq5G,QAAQnuB,EAAMlrF,KAAKo5G,aAAaluB,EAAKlzB,IAAKkzB,GAAO,cAAelrF,KAAKs5G,gBAUtFC,aAAc,SAAUruB,GACpB,IAAIliE,EAAQhpB,KAEZkrF,EAAK3kD,KAAO,IAAI4uB,MAChB+1B,EAAK3kD,KAAKv8B,KAAOkhF,EAAKrhF,IAElB7J,KAAKi0G,cAEL/oB,EAAK3kD,KAAK0tE,YAAcj0G,KAAKi0G,aAGjC/oB,EAAK3kD,KAAKq4B,OAAS,WACXssB,EAAK3kD,KAAKq4B,SAEVssB,EAAK3kD,KAAKq4B,OAAS,KACnBssB,EAAK3kD,KAAK2zE,QAAU,KACpBlxF,EAAMswF,aAAapuB,KAI3BA,EAAK3kD,KAAK2zE,QAAU,WACZhvB,EAAK3kD,KAAKq4B,SAEVssB,EAAK3kD,KAAKq4B,OAAS,KACnBssB,EAAK3kD,KAAK2zE,QAAU,KACpBlxF,EAAM4wF,UAAU1uB,KAIxBA,EAAK3kD,KAAKv6B,IAAMhM,KAAKo5G,aAAaluB,EAAKlzB,IAAKkzB,IAKvClrF,KAAKgd,KAAKsS,OAAOw8D,SAAWZ,EAAK3kD,KAAKq7D,UAAY1W,EAAK3kD,KAAK10B,OAASq5E,EAAK3kD,KAAKz0B,SAEhFo5E,EAAK3kD,KAAKq4B,OAAS,KACnBssB,EAAK3kD,KAAK2zE,QAAU,KACpBl6G,KAAKs5G,aAAapuB,KAS1B4uB,aAAc,SAAU5uB,GAEpB,IAAIliE,EAAQhpB,KAEZkrF,EAAK3kD,KAAO/X,SAASqxD,cAAc,SACnCqL,EAAK3kD,KAAKv8B,KAAOkhF,EAAKrhF,IACtBqhF,EAAK3kD,KAAK4zE,UAAW,EACrBjvB,EAAK3kD,KAAK6zE,UAAW,EAErB,IAAIC,EAAiB,WAEjBnvB,EAAK3kD,KAAKpW,oBAAoB+6D,EAAKosB,UAAW+C,GAAgB,GAC9DnvB,EAAK3kD,KAAK2zE,QAAU,KACpBhvB,EAAK3kD,KAAK+zE,SAAU,EACpBj6G,EAAOE,MAAMyoB,EAAMhM,KAAKlG,IAAIyL,KAAK+2F,aAAapuB,IAIlDA,EAAK3kD,KAAK2zE,QAAU,WAChBhvB,EAAK3kD,KAAKpW,oBAAoB+6D,EAAKosB,UAAW+C,GAAgB,GAC9DnvB,EAAK3kD,KAAK2zE,QAAU,KACpBhvB,EAAK3kD,KAAK+zE,SAAU,EACpBtxF,EAAM4wF,UAAU1uB,IAGpBA,EAAK3kD,KAAKtX,iBAAiBi8D,EAAKosB,UAAW+C,GAAgB,GAE3DnvB,EAAK3kD,KAAKv6B,IAAMhM,KAAKo5G,aAAaluB,EAAKlzB,IAAKkzB,GAC5CA,EAAK3kD,KAAKhkB,QAQdo3F,aAAc,SAAUzuB,GAEpB,IAAIliE,EAAQhpB,KAEZ,GAAIA,KAAKgd,KAAKwF,MAAM0rF,YAGhBhjB,EAAK3kD,KAAO,IAAIg0E,MAChBrvB,EAAK3kD,KAAKv8B,KAAOkhF,EAAKrhF,IACtBqhF,EAAK3kD,KAAKzjB,QAAU,OACpBooE,EAAK3kD,KAAKv6B,IAAMhM,KAAKo5G,aAAaluB,EAAKlzB,IAAKkzB,GAE5ClrF,KAAKs5G,aAAapuB,OAGtB,CACIA,EAAK3kD,KAAO,IAAIg0E,MAChBrvB,EAAK3kD,KAAKv8B,KAAOkhF,EAAKrhF,IAEtB,IAAI2wG,EAAmB,WACnBtvB,EAAK3kD,KAAKpW,oBAAoB,iBAAkBqqF,GAAkB,GAClEtvB,EAAK3kD,KAAK2zE,QAAU,KACpBlxF,EAAMswF,aAAapuB,IAGvBA,EAAK3kD,KAAK2zE,QAAU,WAChBhvB,EAAK3kD,KAAKpW,oBAAoB,iBAAkBqqF,GAAkB,GAClEtvB,EAAK3kD,KAAK2zE,QAAU,KACpBlxF,EAAM4wF,UAAU1uB,IAGpBA,EAAK3kD,KAAKzjB,QAAU,OACpBooE,EAAK3kD,KAAKv6B,IAAMhM,KAAKo5G,aAAaluB,EAAKlzB,IAAKkzB,GAC5CA,EAAK3kD,KAAKtX,iBAAiB,iBAAkBurF,GAAkB,GAC/DtvB,EAAK3kD,KAAKhkB,SAkBlB82F,QAAS,SAAUnuB,EAAMlzB,EAAK5vD,EAAMw2D,EAAQs7C,GAExC,GAAIl6G,KAAK00G,mBAAqBzsG,OAAOwyG,eAEjCz6G,KAAK06G,eAAexvB,EAAMlzB,EAAK5vD,EAAMw2D,EAAQs7C,OAFjD,CAMA,IAAIS,EAAM,IAAIC,eACdD,EAAIE,KAAK,MAAO7iD,GAAK,GACrB2iD,EAAIG,aAAe1yG,GAEmB,IAAlCpI,KAAKk0G,QAAuB,eAE5ByG,EAAII,iBAAiB,mBAAoB/6G,KAAKk0G,QAAuB,eAGrEl0G,KAAKk0G,QAAQhpB,EAAK9iF,OAElBuyG,EAAII,iBAAiB,SAAU/6G,KAAKk0G,QAAQhpB,EAAK9iF,OAGrD8xG,EAAUA,GAAWl6G,KAAK45G,UAE1B,IAAI5wF,EAAQhpB,KAEZ26G,EAAI/7C,OAAS,WAET,IACI,OAAuB,IAAnB+7C,EAAInsB,YAAoBmsB,EAAItY,QAAU,KAAOsY,EAAItY,QAAU,IACpD6X,EAAQlzG,KAAKgiB,EAAOkiE,EAAMyvB,GAG1B/7C,EAAO53D,KAAKgiB,EAAOkiE,EAAMyvB,GAEtC,MAAO9uG,GAKAmd,EAAM4uD,UAMH3vE,OAAgB,SAEhBK,QAAQmnF,MAAM5jF,GANlBmd,EAAMiwF,cAAc/tB,EAAMr/E,EAAEmvG,SAAW,eAYnDL,EAAIT,QAAU,WAEV,IAEI,OAAOA,EAAQlzG,KAAKgiB,EAAOkiE,EAAMyvB,GAEnC,MAAO9uG,GAEAmd,EAAM4uD,UAMH3vE,OAAgB,SAEhBK,QAAQmnF,MAAM5jF,GANlBmd,EAAMiwF,cAAc/tB,EAAMr/E,EAAEmvG,SAAW,eAanD9vB,EAAKwtB,cAAgBiC,EACrBzvB,EAAKutB,WAAazgD,EAElB2iD,EAAIM,SAmBRP,eAAgB,SAAUxvB,EAAMlzB,EAAK5vD,EAAMw2D,EAAQs7C,GAG1Cl6G,KAAK20G,4BACJ30G,KAAKgd,KAAKsS,OAAO4O,MAAMl+B,KAAKgd,KAAKsS,OAAO08D,WAAa,MAEvDhsF,KAAK20G,4BAA6B,EAClCrsG,QAAQG,KAAK,yDAIjB,IAAIkyG,EAAM,IAAI1yG,OAAOwyG,eACrBE,EAAIE,KAAK,MAAO7iD,GAAK,GACrB2iD,EAAIG,aAAe1yG,EAKnBuyG,EAAIO,QAAU,IAEdhB,EAAUA,GAAWl6G,KAAK45G,UAE1B,IAAI5wF,EAAQhpB,KAEZ26G,EAAIT,QAAU,WACV,IACI,OAAOA,EAAQlzG,KAAKgiB,EAAOkiE,EAAMyvB,GACnC,MAAO9uG,GACLmd,EAAMiwF,cAAc/tB,EAAMr/E,EAAEmvG,SAAW,eAI/CL,EAAIQ,UAAY,WACZ,IACI,OAAOjB,EAAQlzG,KAAKgiB,EAAOkiE,EAAMyvB,GACnC,MAAO9uG,GACLmd,EAAMiwF,cAAc/tB,EAAMr/E,EAAEmvG,SAAW,eAI/CL,EAAIS,WAAa,aAEjBT,EAAI/7C,OAAS,WACT,IACI,OAAuB,IAAnB+7C,EAAInsB,YAAoBmsB,EAAItY,QAAU,KAAOsY,EAAItY,QAAU,IACpD6X,EAAQlzG,KAAKgiB,EAAOkiE,EAAMyvB,GAG1B/7C,EAAO53D,KAAKgiB,EAAOkiE,EAAMyvB,GAGtC,MAAO9uG,GACLmd,EAAMiwF,cAAc/tB,EAAMr/E,EAAEmvG,SAAW,eAI/C9vB,EAAKwtB,cAAgBiC,EACrBzvB,EAAKutB,WAAazgD,EAIlBy2B,WAAW,WACPksB,EAAIM,QACL,IAcPpB,YAAa,SAAU/C,GAEnB,IAAK,IAAI9uG,EAAI,EAAGA,EAAI8uG,EAAK/uG,OAAQC,IACjC,CACI,IACIqzG,EADArjD,EAAM8+C,EAAK9uG,GAGf,GAAIgwD,EAAIsjD,KAKJ,GAHAD,EAAYrjD,EAAI5vD,KAChB4vD,EAAMA,EAAIsjD,IAENt7G,KAAKgd,KAAKsS,OAAO2jE,aAAaooB,GAE9B,OAAOrjD,MAIf,CAEI,GAA6B,IAAzBA,EAAI/kC,QAAQ,UAA2C,IAAzB+kC,EAAI/kC,QAAQ,SAE1C,OAAO+kC,EAYX,GATIA,EAAI/kC,QAAQ,MAAQ,IAEpB+kC,EAAMA,EAAI/sD,OAAO,EAAG+sD,EAAI/kC,QAAQ,OAKpCooF,EAFgBrjD,EAAI/sD,QAAQhF,KAAK6N,IAAI,EAAGkkD,EAAIujD,YAAY,OAASvlG,EAAAA,GAAY,GAEvDi5B,cAElBjvC,KAAKgd,KAAKsS,OAAO2jE,aAAaooB,GAE9B,OAAOvE,EAAK9uG,IAKxB,OAAO,MAcXwxG,YAAa,SAAU1C,GAEnB,GAAI92G,KAAKgd,KAAKwF,MAAM00F,QAEhB,OAAO,KAGX,IAAK,IAAIlvG,EAAI,EAAGA,EAAI8uG,EAAK/uG,OAAQC,IACjC,CACI,IACIwzG,EADAxjD,EAAM8+C,EAAK9uG,GAGf,GAAIgwD,EAAIsjD,KAKJ,GAHAE,EAAYxjD,EAAI5vD,KAChB4vD,EAAMA,EAAIsjD,IAENt7G,KAAKgd,KAAKsS,OAAO0jE,aAAawoB,GAE9B,OAAOxjD,MAIf,CAEI,GAA6B,IAAzBA,EAAI/kC,QAAQ,UAA2C,IAAzB+kC,EAAI/kC,QAAQ,SAE1C,OAAO+kC,EAYX,GATIA,EAAI/kC,QAAQ,MAAQ,IAEpB+kC,EAAMA,EAAI/sD,OAAO,EAAG+sD,EAAI/kC,QAAQ,OAKpCuoF,EAFgBxjD,EAAI/sD,QAAQhF,KAAK6N,IAAI,EAAGkkD,EAAIujD,YAAY,OAASvlG,EAAAA,GAAY,GAEvDi5B,cAElBjvC,KAAKgd,KAAKsS,OAAO0jE,aAAawoB,GAE9B,OAAO1E,EAAK9uG,IAKxB,OAAO,MAaX4xG,UAAW,SAAU1uB,EAAMyvB,EAAKc,GAE5B,IACIT,EAAU,iCADJ9vB,EAAKutB,YAAcz4G,KAAKo5G,aAAaluB,EAAKlzB,IAAKkzB,KAGpDuwB,GAAUd,IAEXc,EAASd,EAAItY,QAGboZ,IAEAT,EAAUA,EAAU,KAAOS,EAAS,KAGxCz7G,KAAKi5G,cAAc/tB,EAAM8vB,IAY7B1B,aAAc,SAAUpuB,EAAMyvB,GAE1B,IAAIe,GAAW,EAEf,OAAQxwB,EAAK9iF,MAET,IAAK,WAGGm+B,EAAO8lE,KAAK1yF,MAAMghG,EAAIgB,cAC1BzwB,EAAK3kD,KAAOA,MACZ,MAEJ,IAAK,UAED,IAAI2mE,EAAY,aAAavuB,KAAKuM,EAAKlzB,IAAI3uD,MAAM,IAAK,GAAG,IAAI,GAAG4lC,cAC9C,OAAdi8C,EAAK3kD,KAELvmC,KAAKqiB,MAAM4qF,6BAA6B/hB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKk1C,EAAWhiB,EAAK3kD,MAI5EvmC,KAAKqiB,MAAM4qF,6BAA6B/hB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKk1C,EAAWyN,EAAIiB,UAE/E,MAEJ,IAAK,QAED57G,KAAKqiB,MAAMw8C,SAASqsB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAK3kD,MAC7C,MAEJ,IAAK,cAEDvmC,KAAKqiB,MAAMwtF,eAAe3kB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAK3kD,KAAM2kD,EAAK1C,WAAY0C,EAAKzC,YAAayC,EAAKgf,SAAUhf,EAAKif,OAAQjf,EAAKkf,QAASlf,EAAKmf,YAC3I,MAEJ,IAAK,eAED,GAAqB,MAAjBnf,EAAK0sB,SAEL53G,KAAKqiB,MAAMytF,gBAAgB5kB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAK3kD,KAAM2kD,EAAKyjB,UAAWzjB,EAAKmjB,aAO/E,GAFAqN,GAAW,EAEPxwB,EAAKmjB,SAAWhuG,EAAO08B,OAAOw4E,0BAA4BrqB,EAAKmjB,SAAWhuG,EAAO08B,OAAOy4E,yBAA2BtqB,EAAKmjB,SAAWhuG,EAAO08B,OAAOizE,yBAEjJhwG,KAAKq5G,QAAQnuB,EAAMlrF,KAAKo5G,aAAaluB,EAAK0sB,SAAU1sB,GAAO,OAAQlrF,KAAK+5G,sBAEvE,CAAA,GAAI7uB,EAAKmjB,SAAWhuG,EAAO08B,OAAOgzE,2BAMnC,MAAM,IAAIt2F,MAAM,gDAAkDyxE,EAAKmjB,QAJvEruG,KAAKq5G,QAAQnuB,EAAMlrF,KAAKo5G,aAAaluB,EAAK0sB,SAAU1sB,GAAO,OAAQlrF,KAAKg6G,iBAOhF,MAEJ,IAAK,aAEI9uB,EAAK0sB,UAON8D,GAAW,EACX17G,KAAKq5G,QAAQnuB,EAAMlrF,KAAKo5G,aAAaluB,EAAK0sB,SAAU1sB,GAAO,OAAQ,SAAUA,EAAMyvB,GAC/E,IAAIpQ,EAEJ,IAGIA,EAAO8B,KAAK1yF,MAAMghG,EAAIgB,cAE1B,MAAO9vG,IAED0+F,GAEFrf,EAAK0jB,UAAY,OACjB5uG,KAAK+5G,iBAAiB7uB,EAAMyvB,KAI5BzvB,EAAK0jB,UAAY,MACjB5uG,KAAKg6G,gBAAgB9uB,EAAMyvB,OAxBnC36G,KAAKqiB,MAAMqsF,cAAcxjB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAK3kD,KAAM2kD,EAAKyjB,UAAWzjB,EAAK0jB,UAAW1jB,EAAKh0B,SAAUg0B,EAAK/zB,UA4BhH,MAEJ,IAAK,QAED,GAAI+zB,EAAKqsB,OAEL,IAEIrsB,EAAK3kD,KAAOo0E,EAAIiB,SAEpB,MAAO/vG,GAEH,MAAM,IAAI4N,MAAM,sDAAwDyxE,EAAKrhF,KAIrF7J,KAAKqiB,MAAMqtF,SAASxkB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAK3kD,KAAM2kD,EAAKqsB,QACxD,MAEJ,IAAK,QAEGv3G,KAAKgd,KAAKwF,MAAMi3F,eAEhBvuB,EAAK3kD,KAAOo0E,EAAIiB,SAEhB57G,KAAKqiB,MAAMyrF,SAAS5iB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAK3kD,MAAM,GAAM,GAErD2kD,EAAK+rB,YAELj3G,KAAKgd,KAAKwF,MAAMq5F,OAAO3wB,EAAKrhF,MAKhC7J,KAAKqiB,MAAMyrF,SAAS5iB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAK3kD,MAAM,GAAO,GAE9D,MAEJ,IAAK,OACD2kD,EAAK3kD,KAAOo0E,EAAIgB,aAChB37G,KAAKqiB,MAAM8rF,QAAQjjB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAK3kD,MAC5C,MAEJ,IAAK,SACD2kD,EAAK3kD,KAAOo0E,EAAIgB,aAChB37G,KAAKqiB,MAAMutF,UAAU1kB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAK3kD,MAC9C,MAEJ,IAAK,UACD,IAAIA,EAAO8lE,KAAK1yF,MAAMghG,EAAIgB,cAC1B37G,KAAKqiB,MAAM+rF,eAAeljB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKzxB,EAAM2kD,EAAKmjB,QACzD,MAEJ,IAAK,SACDnjB,EAAK3kD,KAAO/X,SAASqxD,cAAc,UACnCqL,EAAK3kD,KAAKu1E,SAAW,aACrB5wB,EAAK3kD,KAAKn+B,KAAO,kBACjB8iF,EAAK3kD,KAAKw1E,OAAQ,EAClB7wB,EAAK3kD,KAAKyvB,KAAO2kD,EAAIgB,aACrBntF,SAASwtF,KAAKnoB,YAAY3I,EAAK3kD,MAC3B2kD,EAAKz3D,WAELy3D,EAAK3kD,KAAO2kD,EAAKz3D,SAASzsB,KAAKkkF,EAAK3lE,gBAAiB2lE,EAAKrhF,IAAK8wG,EAAIgB,eAEvE,MAEJ,IAAK,SACGzwB,EAAKz3D,SAELy3D,EAAK3kD,KAAO2kD,EAAKz3D,SAASzsB,KAAKkkF,EAAK3lE,gBAAiB2lE,EAAKrhF,IAAK8wG,EAAIiB,UAInE1wB,EAAK3kD,KAAOo0E,EAAIiB,SAGpB57G,KAAKqiB,MAAMmsF,UAAUtjB,EAAKrhF,IAAKqhF,EAAK3kD,MAKxCm1E,GAEA17G,KAAKi5G,cAAc/tB,IAa3B6uB,iBAAkB,SAAU7uB,EAAMyvB,GAE9B,IAAIp0E,EAAO8lE,KAAK1yF,MAAMghG,EAAIgB,cAER,YAAdzwB,EAAK9iF,KAELpI,KAAKqiB,MAAMisF,WAAWpjB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKzxB,EAAM2kD,EAAKmjB,QAElC,eAAdnjB,EAAK9iF,KAEVpI,KAAKqiB,MAAMqsF,cAAcxjB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAK3kD,KAAMA,EAAM2kD,EAAK0jB,UAAW1jB,EAAKh0B,SAAUg0B,EAAK/zB,UAE/E,SAAd+zB,EAAK9iF,KAEVpI,KAAKqiB,MAAMmtF,QAAQtkB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKzxB,GAIvCvmC,KAAKqiB,MAAMytF,gBAAgB5kB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAK3kD,KAAMA,EAAM2kD,EAAKmjB,QAGzEruG,KAAKi5G,cAAc/tB,IAWvB+uB,gBAAiB,SAAU/uB,EAAMyvB,GAE7B,IAAIp0E,EAAOo0E,EAAIgB,aAEf37G,KAAKqiB,MAAMisF,WAAWpjB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKzxB,EAAM2kD,EAAKmjB,QAErDruG,KAAKi5G,cAAc/tB,IAYvB8uB,gBAAiB,SAAU9uB,EAAMyvB,GAG7B,IAAIp0E,EAAOo0E,EAAIgB,aACX1Q,EAAMjrG,KAAK63G,SAAStxE,GAExB,IAAK0kE,EACL,CACI,IAAI6P,EAAeH,EAAIG,cAAgBH,EAAIsB,YAG3C,OAFA3zG,QAAQG,KAAK,mBAAqByiF,EAAKrhF,IAAM,kBAAoBixG,EAAe,UAChF96G,KAAKi5G,cAAc/tB,EAAM,eAIX,eAAdA,EAAK9iF,KAELpI,KAAKqiB,MAAMqsF,cAAcxjB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAK3kD,KAAM0kE,EAAK/f,EAAK0jB,UAAW1jB,EAAKh0B,SAAUg0B,EAAK/zB,UAE9E,iBAAd+zB,EAAK9iF,KAEVpI,KAAKqiB,MAAMytF,gBAAgB5kB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKkzB,EAAK3kD,KAAM0kE,EAAK/f,EAAKmjB,QAEjD,QAAdnjB,EAAK9iF,MAEVpI,KAAKqiB,MAAMotF,OAAOvkB,EAAKrhF,IAAKqhF,EAAKlzB,IAAKizC,GAG1CjrG,KAAKi5G,cAAc/tB,IAYvB2sB,SAAU,SAAUtxE,GAEhB,IAAI0kE,EAEJ,IAEI,GAAIhjG,OAAkB,UACtB,CACI,IAAIi0G,EAAY,IAAIC,UACpBlR,EAAMiR,EAAUE,gBAAgB71E,EAAM,iBAItC0kE,EAAM,IAAIoR,cAAc,qBAEpBC,MAAQ,QACZrR,EAAIsR,QAAQh2E,GAGpB,MAAO16B,GAEHo/F,EAAM,KAGV,OAAKA,GAAQA,EAAIvY,kBAAmBuY,EAAIC,qBAAqB,eAAenjG,OAMjEkjG,EAJA,MAiBfqN,eAAgB,WAERt4G,KAAKg0G,gBAEgC,IAAjCh0G,KAAKg0G,cAAc1zF,UAEnBtgB,KAAKg0G,cAAc3+F,KAAKxD,MAAQ5L,KAAKI,MAAOrG,KAAKg0G,cAAcniG,MAAQ,IAAO7R,KAAK24G,UAInF34G,KAAKg0G,cAAc3+F,KAAKvD,OAAS7L,KAAKI,MAAOrG,KAAKg0G,cAAcliG,OAAS,IAAO9R,KAAK24G,UAGrF34G,KAAKg0G,cAAcz5E,OAEnBv6B,KAAKg0G,cAAcz5E,OAAO4yB,aAK1BntD,KAAKg0G,cAAgB,OAajCwI,iBAAkB,WAEd,OAAOx8G,KAAKs1G,kBAWhBrvF,iBAAkB,WAEd,OAAOjmB,KAAKo1G,gBAAkBp1G,KAAKs1G,kBAWvCmH,iBAAkB,WAEd,OAAOz8G,KAAKm1G,iBAWhBjvF,iBAAkB,WAEd,OAAOlmB,KAAKm1G,gBAAkBn1G,KAAKq1G,mBAe3C5tG,OAAOmF,eAAevM,EAAO08B,OAAOx2B,UAAW,iBAE3CmG,IAAK,WACD,IAAIisG,EAAY34G,KAAKs1G,iBAAmBt1G,KAAKo1G,gBAAmB,IAChE,OAAO/0G,EAAO4F,KAAK4R,MAAM8gG,GAAY,EAAG,EAAG,QAWnDlxG,OAAOmF,eAAevM,EAAO08B,OAAOx2B,UAAW,YAE3CmG,IAAK,WACD,OAAOzG,KAAKsI,MAAMvO,KAAK08G,kBAK/Br8G,EAAO08B,OAAOx2B,UAAU8B,YAAchI,EAAO08B,OAa7C18B,EAAOgtG,cAcH5B,WAAY,SAAUR,EAAK5kE,EAAa6wB,EAAUC,EAAU7jC,EAAOlJ,GAE/D,OAAOpqB,KAAK8uG,cAAc7D,EAAK5kE,EAAa6wB,EAAUC,EAAU7jC,EAAOlJ,IAgB3E0kF,cAAe,SAAU7D,EAAK5kE,EAAa6wB,EAAUC,EAAU7jC,EAAOlJ,GAEhD,MAAdA,IAEAA,EAAa,GAGjB,IAAImc,KACAo2E,EAAO1R,EAAIC,qBAAqB,QAAQ,GACxC0R,EAAS3R,EAAIC,qBAAqB,UAAU,GAEhD3kE,EAAKswB,KAAO8lD,EAAKE,aAAa,QAC9Bt2E,EAAK17B,KAAOK,SAASyxG,EAAKE,aAAa,QAAS,IAChDt2E,EAAK61C,WAAalxE,SAAS0xG,EAAOC,aAAa,cAAe,IAAM1lD,EACpE5wB,EAAKywB,SAOL,IAAK,IALD8lD,EAAU7R,EAAIC,qBAAqB,QAEnC/kG,EAAI,EAAUmtB,EAAMntB,EAAI,EACxB+G,EAAI,EAAUomB,EAAMpmB,EAAI,EAEnBlF,EAAI,EAAGA,EAAI80G,EAAQ/0G,OAAQC,IACpC,CACI,IAAIy8C,EAAWv5C,SAAS4xG,EAAQ90G,GAAG60G,aAAa,MAAO,IAEvDt2E,EAAKywB,MAAMvS,IACPt+C,EAAGA,EAAI+E,SAAS4xG,EAAQ90G,GAAG60G,aAAa,KAAM,IAC9C3vG,EAAGA,EAAIhC,SAAS4xG,EAAQ90G,GAAG60G,aAAa,KAAM,IAC9ChrG,MAAO3G,SAAS4xG,EAAQ90G,GAAG60G,aAAa,SAAU,IAClD/qG,OAAQ5G,SAAS4xG,EAAQ90G,GAAG60G,aAAa,UAAW,IACpDzlD,QAASlsD,SAAS4xG,EAAQ90G,GAAG60G,aAAa,WAAY,IAAMzyF,EAC5DitC,QAASnsD,SAAS4xG,EAAQ90G,GAAG60G,aAAa,WAAY,IAAMzyF,EAC5D+2D,UAAWj2E,SAAS4xG,EAAQ90G,GAAG60G,aAAa,YAAa,IAAM3lD,GAAY9sC,EAC3E82D,YAIR,IAAI67B,EAAW9R,EAAIC,qBAAqB,WAExC,IAAKljG,EAAI,EAAGA,EAAI+0G,EAASh1G,OAAQC,IACjC,CACI,IAAImoC,EAAQjlC,SAAS6xG,EAAS/0G,GAAG60G,aAAa,SAAU,IACpDG,EAAS9xG,SAAS6xG,EAAS/0G,GAAG60G,aAAa,UAAW,IACtDjnF,EAAS1qB,SAAS6xG,EAAS/0G,GAAG60G,aAAa,UAAW,IAAMzyF,EAEhEmc,EAAKywB,MAAMgmD,GAAQ97B,QAAQ/wC,GAASva,EAGxC,OAAO51B,KAAKi9G,mBAAmB52E,EAAaE,IAgBhDsoE,eAAgB,SAAUtE,EAAMlkE,EAAa6wB,EAAUC,EAAU7jC,EAAOlJ,GAElD,MAAdA,IAEAA,EAAa,GAGjB,IAAImc,GACAswB,KAAM0zC,EAAK1zC,KAAK8lD,KAAKO,MACrBryG,KAAMK,SAASq/F,EAAK1zC,KAAK8lD,KAAKh/C,MAAO,IACrCye,WAAYlxE,SAASq/F,EAAK1zC,KAAK+lD,OAAOO,YAAa,IAAMhmD,EACzDH,UAGA7wD,EAAI,EAAUmtB,EAAMntB,EAAI,EACxB+G,EAAI,EAAUomB,EAAMpmB,EAAI,EAmC5B,OAjCAq9F,EAAK1zC,KAAKG,MAAY,KAAErvD,QAEpB,SAAmBy1E,GAEf,IAAI34B,EAAWv5C,SAASkyE,EAAOggC,IAAK,IAEpC72E,EAAKywB,MAAMvS,IACPt+C,EAAGA,EAAI+E,SAASkyE,EAAOh6C,GAAI,IAC3Bl2B,EAAGA,EAAIhC,SAASkyE,EAAO/5C,GAAI,IAC3BxxB,MAAO3G,SAASkyE,EAAOjjD,OAAQ,IAC/BroB,OAAQ5G,SAASkyE,EAAOhjD,QAAS,IACjCg9B,QAASlsD,SAASkyE,EAAOigC,SAAU,IAAMjzF,EACzCitC,QAASnsD,SAASkyE,EAAOkgC,SAAU,IAAMlzF,EACzC+2D,UAAWj2E,SAASkyE,EAAOmgC,UAAW,IAAMrmD,GAAY9sC,EACxD82D,cAMRqpB,EAAK1zC,KAAKkmD,UAAYxS,EAAK1zC,KAAKkmD,SAAS77B,SAEzCqpB,EAAK1zC,KAAKkmD,SAAS77B,QAAQv5E,QAEvB,SAAsBu5E,GAElB36C,EAAKywB,MAAMkqB,EAAQs8B,SAASt8B,QAAQA,EAAQu8B,QAAUvyG,SAASg2E,EAAQw8B,QAAS,IAAMtzF,IAO3FpqB,KAAKi9G,mBAAmB52E,EAAaE,IAahD02E,mBAAoB,SAAU52E,EAAas3E,GAcvC,OAZAl2G,OAAOgF,KAAKkxG,EAAe3mD,OAAOrvD,QAE9B,SAAoB88C,GAEhB,IAAI24B,EAASugC,EAAe3mD,MAAMvS,GAElC24B,EAAOh3C,QAAU,IAAIrgC,KAAKktD,QAAQ5sB,EAAa,IAAIhmC,EAAO2N,UAAUovE,EAAOj3E,EAAGi3E,EAAOlwE,EAAGkwE,EAAOvrE,MAAOurE,EAAOtrE,WAM9G6rG,GAWXC,IAAK,SAAUzQ,GAkBX,IAII0Q,EAJAC,EAAY,IAAI51G,YAAYilG,EAAY1mG,MAAM,EAAG,KACjDs3G,EAAY,IAAIllC,WAAWs0B,GAC3B6Q,EAAY,KACZC,EAAeH,EAAU,IAAM,GAAKA,EAAU,GAE9CI,EAAoB,EAExB,GAAqB,WAAjBJ,EAAU,KAEN,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,IACX7qF,QAAQgrF,IAAgB,EAC5B,CASE,OARIA,GAAe,GAAKA,GAAe,EACnCJ,EAAuB,QAChBI,GAAe,GAAKA,GAAe,GAC1CJ,EAAuB,OACA,IAAhBI,IACPJ,EAAuB,QAGnBI,GACJ,KAAK,EACDC,EAAoB,MACpB,MACJ,KAAK,EACDA,EAAoB,MACpB,MACJ,KAAK,EACDA,EAAoB,MACpB,MACJ,KAAK,EACDA,EAAoB,MACpB,MACJ,KAAK,EACDA,EAAoB,MACpB,MACJ,KAAK,EACDA,EAAoB,MACpB,MACJ,KAAK,EACDA,EAAoB,MACpB,MACJ,KAAK,GACDA,EAAoB,MACpB,MACJ,QACIA,GAAqB,EAG7BF,GACIpc,UAAU,EACV0L,WAAY,MACZuQ,qBAAsBA,EACtBM,MAAOL,EAAU,GACjBG,YAAaA,EACbG,WAAYN,EAAU,GACtBO,YAAaP,EAAU,GACvBhsG,OAAQgsG,EAAU,GAClBjsG,MAAOisG,EAAU,GACjBQ,MAAOR,EAAU,GACjBS,iBAAkBT,EAAU,GAC5BU,cAAeV,EAAU,IACzBW,gBAAiBX,EAAU,IAC3BY,aAAcZ,EAAU,IACxB/yF,YAAagzF,EAAUY,SAAS,GAAKb,EAAU,IAAKC,EAAUa,YAC9DV,kBAAmBA,GAI3B,OAAOF,GAWXa,IAAK,SAAU1R,GAkCX,IAAI4Q,EAAY,IAAIllC,WAAWs0B,GAC3B2Q,EAAY,IAAI51G,YAAYilG,GAC5B2R,EAAY,KAkDhB,OAhDqB,KAAjBf,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,IAoCqB,UAnC/Be,GACIld,UAAU,EACV0L,WAAY,MACZuQ,qBAAsB,OACtBhzG,KAAMizG,EAAU,GAChBK,MAAOL,EAAU,GACjBhsG,OAAQgsG,EAAU,GAClBjsG,MAAOisG,EAAU,GACjBiB,MAAOjB,EAAU,GACjBQ,MAAOR,EAAU,GACjBkB,YAAalB,EAAU,GACvBmB,WAAYnB,EAAU,IACtBoB,WAAYpB,EAAU,IACtBqB,cACI56D,OAAOC,aAAau5D,EAAU,KAC9Bx5D,OAAOC,aAAau5D,EAAU,KAC9Bx5D,OAAOC,aAAau5D,EAAU,KAC9Bx5D,OAAOC,aAAau5D,EAAU,MAChCx0G,KAAK,IACP61G,eAAgBtB,EAAU,IAC1BuB,eAAgBvB,EAAU,IAC1BwB,eAAgBxB,EAAU,IAC1ByB,eAAgBzB,EAAU,IAC1B0B,eAAgB1B,EAAU,IAC1B2B,MAAO3B,EAAU,IACjB4B,MAAO5B,EAAU,IACjB6B,MAAO7B,EAAU,IACjB8B,MAAO9B,EAAU,IACjB+B,UAAW/B,EAAU,IACrBgC,WAAY,KACZC,kBAAmB,KACnBC,SAAU,KACVC,UAAW,KACXl1F,YAAagzF,EAAUY,SAASb,EAAU,GAAK,EAAGC,EAAUa,cAElDO,eACVL,EAAUgB,WAAahC,EAAU,IACjCgB,EAAUiB,kBAAoBjC,EAAU,IACxCgB,EAAUkB,SAAWlC,EAAU,IAC/BgB,EAAUmB,UAAYnC,EAAU,IAChCgB,EAAUkB,SAAWlC,EAAU,KAIhCgB,GAWXoB,IAAK,SAAU/S,GAwBX,IAAI4Q,EAAY,IAAIllC,WAAWs0B,GAC3B2Q,EAAY,IAAI51G,YAAYilG,GAC5BgT,EAAY,KACZC,EAAkB,GAAMtC,EAAU,IAAM,EAAK,EAC7CuC,EAAYvC,EAAUsC,GACtBE,EAAmBxC,EAAU,GAC7BD,EAAuB,EAE3B,GAAqB,MAAjBE,EAAU,IAAgC,KAAjBA,EAAU,IAClB,KAAjBA,EAAU,IAAgC,KAAjBA,EAAU,IAClB,KAAjBA,EAAU,IAAgC,KAAjBA,EAAU,IAClB,KAAjBA,EAAU,IAAgC,MAAjBA,EAAU,IAClB,KAAjBA,EAAU,IAAgC,KAAjBA,EAAU,IACjB,KAAlBA,EAAU,KAAkC,KAAlBA,EAAU,MAIhC,MAEA,MAAQ,MAAQ,MAAQ,MAExB,MAAQ,MAAQ,MAAQ,OAC1B9qF,QAAQqtF,IAAqB,EAAG,CAClC,OAAQA,GACJ,KAAK,MACDzC,EAAuB,OACvB,MACJ,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACDA,EAAuB,QACvB,MACJ,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACDA,EAAuB,OAI/BsC,GACIve,UAAU,EACV0L,WAAY,MACZuQ,qBAAsBA,EACtB0C,WAAYzC,EAAU,GACtB0C,OAAQ1C,EAAU,GAClB2C,WAAY3C,EAAU,GACtB4C,SAAU5C,EAAU,GACpBwC,iBAAkBxC,EAAU,GAC5B6C,qBAAsB7C,EAAU,GAChCjsG,MAAOisG,EAAU,GACjBhsG,OAAQgsG,EAAU,IAClB8C,WAAY9C,EAAU,IACtB+C,sBAAuB/C,EAAU,IACjCU,cAAeV,EAAU,IACzBgD,qBAAsBhD,EAAU,IAChCiD,oBAAqBjD,EAAU,IAC/BkD,oBAAqBlD,EAAU,IAC/BuC,UAAWA,EACXt1F,YAAagzF,EAAUY,SAAiC,GAAvByB,EAAkB,GAAQC,EAAY,MAI/E,OAAOF,GAWXc,IAAK,SAAU9T,GAaX,IAAI4Q,EAAY,IAAIllC,WAAWs0B,GAC3B+T,EAAY,KAoBhB,OAlBqB,KAAjBnD,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,KAEVmD,GACItf,UAAU,EACV0L,WAAY,MACZuQ,qBAAsB,OACtBxP,OAA+C,OAArC0P,EAAU,IAAM,EAAIA,EAAU,IACxClsG,MAA8C,OAArCksG,EAAU,IAAM,EAAIA,EAAU,IACvCjsG,OAAiD,OAAvCisG,EAAU,KAAO,EAAIA,EAAU,KACzCoD,cAAwD,OAAvCpD,EAAU,KAAO,EAAIA,EAAU,KAChDqD,eAAyD,OAAvCrD,EAAU,KAAO,EAAIA,EAAU,KACjDhzF,YAAagzF,EAAUY,SAAS,GAAIZ,EAAUh2G,UAI/Cm5G,IAsBf7gH,EAAOk6D,YAAc,SAAUv9C,EAAMnT,GAMjC7J,KAAKgd,KAAOA,EAMZhd,KAAK6J,IAAMA,EAMX7J,KAAK0tB,OAAS1tB,KAAKgd,KAAKqF,MAAMitF,QAAQzlG,EAAM,eAM5C7J,KAAKqhH,YAAc,KAOnBrhH,KAAKo6G,UAAW,EAMhBp6G,KAAKshH,UAEL,IAAK,IAAI1wG,KAAK5Q,KAAK0tB,OAAO6zF,UAC1B,CACI,IAAIpnD,EAASn6D,KAAK0tB,OAAO6zF,UAAU3wG,GAC/B4R,EAAQxiB,KAAKgd,KAAKzJ,IAAIiP,MAAMxiB,KAAK6J,KAErC2Y,EAAMg/F,UAAU5wG,EAAGupD,EAAOppD,MAAQopD,EAAOrpD,IAAMqpD,EAAOppD,MAAQ,KAAMopD,EAAOhP,MAE3EnrD,KAAKshH,OAAO1wG,GAAK4R,EAGjBxiB,KAAK0tB,OAAO0sF,WAEZp6G,KAAKqhH,YAAcrhH,KAAK0tB,OAAO0sF,SAC/Bp6G,KAAKirD,KAAKjrD,KAAKqhH,aACfrhH,KAAKo6G,SAAWp6G,KAAKshH,OAAOthH,KAAKqhH,eAKzChhH,EAAOk6D,YAAYh0D,WAUf0kD,KAAM,SAAUkP,EAAQ39C,GAIpB,YAFejS,IAAXiS,IAAwBA,EAAS,GAE9Bxc,KAAKshH,OAAOnnD,GAAQlP,KAAKkP,EAAQ,KAAM39C,IAUlDojB,KAAM,SAAUu6B,GAEZ,GAAKA,EASDn6D,KAAKshH,OAAOnnD,GAAQv6B,YAPpB,IAAK,IAAI/1B,KAAO7J,KAAKshH,OAEjBthH,KAAKshH,OAAOz3G,GAAK+1B,QAiB7BlzB,IAAK,SAASytD,GAEV,OAAOn6D,KAAKshH,OAAOnnD,KAM3B95D,EAAOk6D,YAAYh0D,UAAU8B,YAAchI,EAAOk6D,YAkBlDl6D,EAAOi6D,MAAQ,SAAUt9C,EAAMnT,EAAK2S,EAAQ2uC,EAAMtP,QAE/BtxC,IAAXiS,IAAwBA,EAAS,QACxBjS,IAAT4gD,IAAsBA,GAAO,QACjB5gD,IAAZsxC,IAAyBA,EAAU7+B,EAAKwF,MAAMi/F,iBAMlDzhH,KAAKgd,KAAOA,EAKZhd,KAAKgK,KAAOH,EAKZ7J,KAAK6J,IAAMA,EAKX7J,KAAKmrD,KAAOA,EAKZnrD,KAAK0hH,WAKL1hH,KAAK6mB,QAAU,KAKf7mB,KAAKo6G,UAAW,EAKhBp6G,KAAK2hH,cAAgB,EAMrB3hH,KAAKoiG,UAAY,EAKjBpiG,KAAK4hH,YAAc,EAKnB5hH,KAAKqe,SAAW,EAKhBre,KAAK6hH,WAAa,EAKlB7hH,KAAK8b,SAAW,EAKhB9b,KAAK8hH,SAAW,EAMhB9hH,KAAKojB,QAAS,EAKdpjB,KAAK+hH,eAAiB,EAKtB/hH,KAAKgiH,WAAa,EAMlBhiH,KAAKqnG,WAAY,EAMjBrnG,KAAKiiH,cAAgB,GAKrBjiH,KAAKkiH,UAAY,KAMjBliH,KAAKmiH,iBAAkB,EAMvBniH,KAAKoiH,UAAW,EAMhBpiH,KAAKqiH,eAAgB,EAMrBriH,KAAKy5G,cAAgBz5G,KAAKgd,KAAKwF,MAAMi3F,cAKrCz5G,KAAK05G,cAAgB15G,KAAKgd,KAAKwF,MAAMk3F,cAKrC15G,KAAKsiH,aAAe,KAKpBtiH,KAAKuiH,eAAiB,KAKtBviH,KAAKwiH,SAAW,KAMhBxiH,KAAKyiH,OAAS,KAMjBziH,KAAK0iH,cAAgB,EAMlB1iH,KAAK2iH,iBAAkB,EAMvB3iH,KAAK4iH,yBAA0B,EAI3B5iH,KAAKy5G,eAELz5G,KAAK6mB,QAAU7mB,KAAKgd,KAAKwF,MAAMqE,QAC/B7mB,KAAKuiH,eAAiBviH,KAAKgd,KAAKwF,MAAMqgG,gBAENt4G,IAA5BvK,KAAK6mB,QAAQi8F,WAEb9iH,KAAKwiH,SAAWxiH,KAAK6mB,QAAQk8F,iBAI7B/iH,KAAKwiH,SAAWxiH,KAAK6mB,QAAQi8F,aAGjC9iH,KAAKwiH,SAASQ,KAAK94G,MAAQsS,EAASxc,KAAKgd,KAAKwF,MAAMhG,OAEhDq/B,GAEA77C,KAAKwiH,SAAS3mE,QAAQ77C,KAAKuiH,iBAG1BviH,KAAK05G,gBAEN15G,KAAKgd,KAAKqF,MAAM6tF,SAASrmG,IAAQ7J,KAAKgd,KAAKqF,MAAMkuF,aAAa1mG,IAE9D7J,KAAKyiH,OAASziH,KAAKgd,KAAKqF,MAAMqvF,aAAa7nG,GAC3C7J,KAAK2hH,cAAgB,EAEjB3hH,KAAKyiH,OAAOpkG,WAEZre,KAAK2hH,cAAgB3hH,KAAKyiH,OAAOpkG,WAKrCre,KAAKgd,KAAKqF,MAAMypF,cAAcv4F,IAAIvT,KAAKijH,iBAAkBjjH,OAOjEA,KAAKkjH,UAAY,IAAI7iH,EAAOud,OAK5B5d,KAAKmjH,OAAS,IAAI9iH,EAAOud,OAKzB5d,KAAK+kB,QAAU,IAAI1kB,EAAOud,OAK1B5d,KAAKilB,SAAW,IAAI5kB,EAAOud,OAK3B5d,KAAK4gG,OAAS,IAAIvgG,EAAOud,OAKzB5d,KAAKojH,OAAS,IAAI/iH,EAAOud,OAKzB5d,KAAKqjH,OAAS,IAAIhjH,EAAOud,OAKzB5d,KAAKsjH,iBAAmB,IAAIjjH,EAAOud,OAKnC5d,KAAK8d,eAAiB,IAAIzd,EAAOud,OAMjC5d,KAAKujH,QAAU/mG,EAMfxc,KAAKwjH,QAAU,KAMfxjH,KAAKyjH,QAAS,EAMdzjH,KAAK0jH,YAAc,EAMnB1jH,KAAK2jH,cAAgB,EAMrB3jH,KAAK4jH,YAAc,EAMnB5jH,KAAK6jH,WAAa,EAMlB7jH,KAAK8jH,YAAc,EAMnB9jH,KAAK+jH,UAAY,EAMjB/jH,KAAK47B,SAAU,EAMf57B,KAAKgkH,2BAA4B,GAIrC3jH,EAAOi6D,MAAM/zD,WAQT08G,iBAAkB,SAAUp5G,GAEpBA,IAAQ7J,KAAK6J,MAEb7J,KAAKyiH,OAASziH,KAAKgd,KAAKqF,MAAMqvF,aAAa1xG,KAAK6J,KAChD7J,KAAK2hH,cAAgB3hH,KAAKyiH,OAAOpkG,WAgBzCmjG,UAAW,SAAUx3G,EAAM+G,EAAOsN,EAAU7B,EAAQ2uC,QAE/B5gD,IAAb8T,GAAuC,OAAbA,IAAqBA,EAAW,QAC/C9T,IAAXiS,GAAmC,OAAXA,IAAmBA,EAAS,QAC3CjS,IAAT4gD,IAAsBA,GAAO,GAEjCnrD,KAAK0hH,QAAQ13G,IACTA,KAAMA,EACN+G,MAAOA,EACP6uB,KAAM7uB,EAAQsN,EACd7B,OAAQA,EACR6B,SAAUA,EACVwjG,WAAuB,IAAXxjG,EACZ8sC,KAAMA,IAUd84D,aAAc,SAAUj6G,UAEbhK,KAAK0hH,QAAQ13G,IAWxBk6G,eAAgB,WAEZlkH,KAAKyiH,OAAO0B,QAAU,KACtBnkH,KAAKqnG,WAAY,EACjBrnG,KAAK4hH,YAAc5hH,KAAK6hH,WACxB7hH,KAAK4/B,OAED5/B,KAAK2iH,kBAED3iH,KAAKsiH,aAELtiH,KAAKyiH,OAAO1mE,WAAW/7C,KAAKsiH,cAEvBtiH,KAAKwiH,UAEVxiH,KAAKyiH,OAAO1mE,WAAW/7C,KAAKwiH,UAG5BxiH,KAAK4iH,wBAEL5iH,KAAKgd,KAAKwF,MAAM8C,OAAOtlB,OAIvBA,KAAK0hH,WACL1hH,KAAK6mB,QAAU,KACf7mB,KAAKwjH,QAAU,KACfxjH,KAAKsiH,aAAe,KAEpBtiH,KAAKkjH,UAAUn6F,UACf/oB,KAAKmjH,OAAOp6F,UACZ/oB,KAAK+kB,QAAQgE,UACb/oB,KAAKilB,SAAS8D,UACd/oB,KAAK4gG,OAAO73E,UACZ/oB,KAAKojH,OAAOr6F,UACZ/oB,KAAKqjH,OAAOt6F,UACZ/oB,KAAKsjH,iBAAiBv6F,aAUlChI,OAAQ,WAEC/gB,KAAKgd,KAAKqF,MAAMuuF,cAAc5wG,KAAK6J,MAMpC7J,KAAKokH,YAAcpkH,KAAKgkH,4BAExBhkH,KAAKkjH,UAAU7hG,SAASrhB,MACxBA,KAAKgkH,2BAA4B,GAGjChkH,KAAKmiH,iBAAmBniH,KAAKgd,KAAKqF,MAAMkuF,aAAavwG,KAAK6J,OAE1D7J,KAAKmiH,iBAAkB,EACvBniH,KAAKirD,KAAKjrD,KAAK0jH,YAAa1jH,KAAK2jH,cAAe3jH,KAAK4jH,YAAa5jH,KAAK+jH,YAGvE/jH,KAAKqnG,YAELrnG,KAAK4hH,YAAc5hH,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAKoiG,UAE1CpiG,KAAK4hH,aAAe5hH,KAAK6hH,aAErB7hH,KAAKy5G,cAEDz5G,KAAKmrD,MAGLnrD,KAAK4gG,OAAOv/E,SAASrhB,MAGrBA,KAAKqnG,WAAY,EAEU,KAAvBrnG,KAAKiiH,eAELjiH,KAAK4hH,YAAc,EACnB5hH,KAAKoiG,UAAYpiG,KAAKgd,KAAKmE,KAAKA,KAChCnhB,KAAKqnG,WAAY,IAIjBrnG,KAAKsjH,iBAAiBjiG,SAASrhB,KAAKiiH,cAAejiH,MACnDA,KAAKirD,KAAKjrD,KAAKiiH,cAAe,EAAGjiH,KAAKwc,QAAQ,GAAM,KAM7B,KAAvBxc,KAAKiiH,eAELjiH,KAAK4/B,OAMT5/B,KAAKmrD,MAELnrD,KAAK4gG,OAAOv/E,SAASrhB,MAEM,KAAvBA,KAAKiiH,gBAELjiH,KAAK4hH,YAAc,EACnB5hH,KAAKoiG,UAAYpiG,KAAKgd,KAAKmE,KAAKA,MAIpCnhB,KAAKqnG,WAAY,EAEjBrnG,KAAKirD,KAAKjrD,KAAKiiH,cAAe,EAAGjiH,KAAKwc,QAAQ,GAAM,IAIpDxc,KAAK4/B,UAxEjB5/B,KAAKsmB,WAsFb+9F,SAAU,SAAU7nG,GAEhB,OAAOxc,KAAKirD,KAAK,KAAM,EAAGzuC,GAAQ,IAetCyuC,KAAM,SAAUkP,EAAQr+C,EAAUU,EAAQ2uC,EAAMm5D,GAK5C,QAHe/5G,IAAX4vD,IAAmC,IAAXA,GAA+B,OAAXA,IAAmBA,EAAS,SACvD5vD,IAAjB+5G,IAA8BA,GAAe,GAE7CtkH,KAAKqnG,YAAcrnG,KAAKqiH,gBAAkBiC,IAAiBtkH,KAAKoiH,SAGhE,OAAOpiH,KAGX,GAAIA,KAAKyiH,QAAUziH,KAAKqnG,YAAcrnG,KAAKqiH,gBAAkBriH,KAAKoiH,UAAYkC,GAC9E,CACI,GAAItkH,KAAKy5G,cACT,CACI,QAAyBlvG,IAArBvK,KAAKyiH,OAAO7iF,KAEZ5/B,KAAKyiH,OAAO8B,QAAQ,QAIpB,IACIvkH,KAAKyiH,OAAO7iF,KAAK,GAErB,MAAO/zB,IAIP7L,KAAKsiH,aAELtiH,KAAKyiH,OAAO1mE,WAAW/7C,KAAKsiH,cAEvBtiH,KAAKwiH,UAEVxiH,KAAKyiH,OAAO1mE,WAAW/7C,KAAKwiH,eAG3BxiH,KAAK05G,gBAEV15G,KAAKyiH,OAAOz9F,QACZhlB,KAAKyiH,OAAOb,YAAc,GAG9B5hH,KAAKqnG,WAAY,EAGrB,GAAe,KAAXltC,GAAiB1yD,OAAOgF,KAAKzM,KAAK0hH,SAAS35G,OAAS,EAIpD,OAAO/H,KAGX,GAAe,KAAXm6D,EACJ,CACI,IAAIn6D,KAAK0hH,QAAQvnD,GA6Bb,OADA7xD,QAAQG,KAAK,mCAAqC0xD,EAAS,kBACpDn6D,KA3BPA,KAAKiiH,cAAgB9nD,EAGrBn6D,KAAK8b,SAAW9b,KAAK0hH,QAAQvnD,GAAQppD,MACrC/Q,KAAKwc,OAASxc,KAAK0hH,QAAQvnD,GAAQ39C,OACnCxc,KAAKmrD,KAAOnrD,KAAK0hH,QAAQvnD,GAAQhP,KACjCnrD,KAAKqe,SAAWre,KAAK0hH,QAAQvnD,GAAQ97C,SACrCre,KAAK6hH,WAAa7hH,KAAK0hH,QAAQvnD,GAAQ0nD,gBAEjB,IAAXrlG,IAEPxc,KAAKwc,OAASA,QAGE,IAAT2uC,IAEPnrD,KAAKmrD,KAAOA,GAGhBnrD,KAAK0jH,YAAcvpD,EACnBn6D,KAAK2jH,cAAgB3jH,KAAK8b,SAC1B9b,KAAK4jH,YAAc5jH,KAAKwc,OACxBxc,KAAK+jH,UAAY/jH,KAAKmrD,UAU1BrvC,EAAWA,GAAY,OAERvR,IAAXiS,IAAwBA,EAASxc,KAAKujH,cAC7Bh5G,IAAT4gD,IAAsBA,EAAOnrD,KAAKmrD,MAEtCnrD,KAAK8b,SAAW7V,KAAK6N,IAAI,EAAGgI,GAC5B9b,KAAKwc,OAASA,EACdxc,KAAKmrD,KAAOA,EACZnrD,KAAKqe,SAAW,EAChBre,KAAK6hH,WAAa,EAElB7hH,KAAK0jH,YAAcvpD,EACnBn6D,KAAK2jH,cAAgB7nG,EACrB9b,KAAK4jH,YAAcpnG,EACnBxc,KAAK+jH,UAAY54D,EAwHrB,OArHInrD,KAAKy5G,cAGDz5G,KAAKgd,KAAKqF,MAAMiuF,eAAetwG,KAAK6J,MAEpC7J,KAAKyiH,OAASziH,KAAK6mB,QAAQ29F,qBAEvBxkH,KAAKsiH,aAELtiH,KAAKyiH,OAAO5mE,QAAQ77C,KAAKsiH,cAIzBtiH,KAAKyiH,OAAO5mE,QAAQ77C,KAAKwiH,UAG7BxiH,KAAKwjH,QAAUxjH,KAAKgd,KAAKqF,MAAMqvF,aAAa1xG,KAAK6J,KACjD7J,KAAKyiH,OAAOzlD,OAASh9D,KAAKwjH,QAEtBxjH,KAAKmrD,MAAmB,KAAXgP,IAEbn6D,KAAKyiH,OAAOt3D,MAAO,GAGlBnrD,KAAKmrD,MAAmB,KAAXgP,IAEdn6D,KAAKyiH,OAAO0B,QAAUnkH,KAAKkkH,eAAe19G,KAAKxG,OAGnDA,KAAK2hH,cAAgB3hH,KAAKyiH,OAAOzlD,OAAO3+C,SAElB,IAAlBre,KAAKqe,WAELre,KAAKqe,SAAWre,KAAK2hH,cACrB3hH,KAAK6hH,WAAa57G,KAAKG,KAA0B,IAArBpG,KAAK2hH,qBAIXp3G,IAAtBvK,KAAKyiH,OAAO1xG,MAEZ/Q,KAAKyiH,OAAOgC,YAAY,EAAGzkH,KAAK8b,SAAU9b,KAAKqe,UAI3Cre,KAAKmrD,MAAmB,KAAXgP,EAEbn6D,KAAKyiH,OAAO1xG,MAAM,EAAG,GAIrB/Q,KAAKyiH,OAAO1xG,MAAM,EAAG/Q,KAAK8b,SAAU9b,KAAKqe,UAIjDre,KAAKqnG,WAAY,EACjBrnG,KAAKoiG,UAAYpiG,KAAKgd,KAAKmE,KAAKA,KAChCnhB,KAAK4hH,YAAc,EACnB5hH,KAAK8hH,SAAW9hH,KAAKoiG,UAAYpiG,KAAK6hH,WACtC7hH,KAAKmjH,OAAO9hG,SAASrhB,QAIrBA,KAAKmiH,iBAAkB,EAEnBniH,KAAKgd,KAAKqF,MAAM6tF,SAASlwG,KAAK6J,OAA0D,IAAlD7J,KAAKgd,KAAKqF,MAAM6tF,SAASlwG,KAAK6J,KAAKokG,YAEzEjuG,KAAKgd,KAAKwF,MAAMq5F,OAAO77G,KAAK6J,IAAK7J,OAMrCA,KAAKgd,KAAKqF,MAAM6tF,SAASlwG,KAAK6J,MAAQ7J,KAAKgd,KAAKqF,MAAM6tF,SAASlwG,KAAK6J,KAAKs9B,QAEzEnnC,KAAKgd,KAAKqF,MAAM4tF,YAAYjwG,KAAK6J,KACjC7J,KAAKmiH,iBAAkB,GAInBniH,KAAKyiH,SAAWziH,KAAKgd,KAAKsS,OAAOmP,UAAuC,IAA3Bz+B,KAAKyiH,OAAOj0B,aAEzDxuF,KAAKyiH,OAAOx3D,OAEZjrD,KAAK2hH,cAAgB3hH,KAAKyiH,OAAOpkG,SAEX,IAAlBre,KAAKqe,WAELre,KAAKqe,SAAWre,KAAK2hH,cACrB3hH,KAAK6hH,WAAkC,IAArB7hH,KAAK2hH,eAG3B3hH,KAAKyiH,OAAOb,YAAc5hH,KAAK8b,SAC/B9b,KAAKyiH,OAAOiC,MAAQ1kH,KAAKyjH,OAErBzjH,KAAKyjH,QAAUzjH,KAAKgd,KAAKwF,MAAMmiG,KAE/B3kH,KAAKyiH,OAAOjmG,OAAS,EAIrBxc,KAAKyiH,OAAOjmG,OAASxc,KAAKujH,QAG9BvjH,KAAKqnG,WAAY,EACjBrnG,KAAKoiG,UAAYpiG,KAAKgd,KAAKmE,KAAKA,KAChCnhB,KAAK4hH,YAAc,EACnB5hH,KAAK8hH,SAAW9hH,KAAKoiG,UAAYpiG,KAAK6hH,WAEtC7hH,KAAKmjH,OAAO9hG,SAASrhB,OAIrBA,KAAKmiH,iBAAkB,EAK5BniH,MAaX4lB,QAAS,SAAUu0C,EAAQr+C,EAAUU,EAAQ2uC,GAEzCgP,EAASA,GAAU,GACnBr+C,EAAWA,GAAY,EACvBU,EAASA,GAAU,OACNjS,IAAT4gD,IAAsBA,GAAO,GAEjCnrD,KAAKirD,KAAKkP,EAAQr+C,EAAUU,EAAQ2uC,GAAM,IAS9CnmC,MAAO,WAEChlB,KAAKqnG,WAAarnG,KAAKyiH,SAEvBziH,KAAKojB,QAAS,EACdpjB,KAAK+hH,eAAiB/hH,KAAK4hH,YAC3B5hH,KAAKgiH,WAAahiH,KAAKgd,KAAKmE,KAAKA,KACjCnhB,KAAK6jH,WAAa7jH,KAAKyiH,OAAOb,YAC9B5hH,KAAK+kB,QAAQ1D,SAASrhB,MACtBA,KAAK4/B,SAUb1a,OAAQ,WAEJ,GAAIllB,KAAKojB,QAAUpjB,KAAKyiH,OACxB,CACI,GAAIziH,KAAKy5G,cACT,CACI,IAAI1nG,EAAI9L,KAAK6N,IAAI,EAAG9T,KAAK8b,SAAY9b,KAAK+hH,eAAiB,KAE3D/hH,KAAKyiH,OAASziH,KAAK6mB,QAAQ29F,qBAC3BxkH,KAAKyiH,OAAOzlD,OAASh9D,KAAKwjH,QAEtBxjH,KAAKsiH,aAELtiH,KAAKyiH,OAAO5mE,QAAQ77C,KAAKsiH,cAIzBtiH,KAAKyiH,OAAO5mE,QAAQ77C,KAAKwiH,UAGzBxiH,KAAKmrD,OAELnrD,KAAKyiH,OAAOt3D,MAAO,GAGlBnrD,KAAKmrD,MAA+B,KAAvBnrD,KAAKiiH,gBAEnBjiH,KAAKyiH,OAAO0B,QAAUnkH,KAAKkkH,eAAe19G,KAAKxG,OAGnD,IAAIqe,EAAWre,KAAKqe,SAAYre,KAAK+hH,eAAiB,SAE5Bx3G,IAAtBvK,KAAKyiH,OAAO1xG,MAEZ/Q,KAAKyiH,OAAOgC,YAAY,EAAG1yG,EAAGsM,GAK1Bre,KAAKmrD,MAAQnrD,KAAKgd,KAAKsS,OAAOgZ,OAGS,KAAnCtoC,KAAKgd,KAAKsS,OAAOs8D,cAEjB5rF,KAAKyiH,OAAO1xG,MAAM,GAIlB/Q,KAAKyiH,OAAO1xG,MAAM,EAAGgB,GAKzB/R,KAAKyiH,OAAO1xG,MAAM,EAAGgB,EAAGsM,QAMhCre,KAAKyiH,OAAOb,YAAc5hH,KAAK6jH,WAC/B7jH,KAAKyiH,OAAOx3D,OAGhBjrD,KAAKqnG,WAAY,EACjBrnG,KAAKojB,QAAS,EACdpjB,KAAKoiG,WAAcpiG,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAKgiH,WAC9ChiH,KAAKilB,SAAS5D,SAASrhB,QAU/B4/B,KAAM,WAEF,GAAI5/B,KAAKqnG,WAAarnG,KAAKyiH,OAEvB,GAAIziH,KAAKy5G,cACT,CACI,QAAyBlvG,IAArBvK,KAAKyiH,OAAO7iF,KAEZ5/B,KAAKyiH,OAAO8B,QAAQ,QAIpB,IACIvkH,KAAKyiH,OAAO7iF,KAAK,GAErB,MAAO/zB,IAMP7L,KAAKsiH,aAELtiH,KAAKyiH,OAAO1mE,WAAW/7C,KAAKsiH,cAEvBtiH,KAAKwiH,UAEVxiH,KAAKyiH,OAAO1mE,WAAW/7C,KAAKwiH,eAI3BxiH,KAAK05G,gBAEV15G,KAAKyiH,OAAOz9F,QACZhlB,KAAKyiH,OAAOb,YAAc,GAOlC,GAHA5hH,KAAKmiH,iBAAkB,EACvBniH,KAAKqnG,WAAY,GAEZrnG,KAAKojB,OACV,CACI,IAAIwhG,EAAa5kH,KAAKiiH,cAEK,KAAvBjiH,KAAKiiH,eAELjiH,KAAKsjH,iBAAiBjiG,SAASrhB,KAAKiiH,cAAejiH,MAGvDA,KAAKiiH,cAAgB,GAEE,OAAnBjiH,KAAKkiH,WAELliH,KAAKkiH,UAAUtiF,OAGnB5/B,KAAKojH,OAAO/hG,SAASrhB,KAAM4kH,KAiBnCC,OAAQ,SAAUxmG,EAAU8sC,EAAMgP,QAEjB5vD,IAAT4gD,IAAsBA,GAAO,QAClB5gD,IAAX4vD,IAAwBA,EAASn6D,KAAKiiH,eAEtCjiH,KAAKojB,SAKTpjB,KAAKirD,KAAKkP,EAAQ,EAAG,EAAGhP,GAExBnrD,KAAK8kH,OAAOzmG,EAAU,KAY1B0mG,QAAS,SAAU1mG,GAEfre,KAAK8kH,OAAOzmG,EAAU,IAa1BymG,OAAQ,SAAUzmG,EAAU7B,GAEnBxc,KAAKqnG,YAAarnG,KAAKojB,QAAU5G,IAAWxc,KAAKwc,cAKrCjS,IAAb8T,IAA0BA,EAAW,UAE1B9T,IAAXiS,GAMJxc,KAAKkiH,UAAYliH,KAAKgd,KAAKzJ,IAAI+hD,MAAMt1D,MAAM4I,IAAM4T,OAAQA,GAAU6B,EAAUhe,EAAO87F,OAAOK,OAAOC,MAAM,GAExGz8F,KAAKkiH,UAAUnhB,WAAWxtF,IAAIvT,KAAKglH,aAAchlH,OAN7CsI,QAAQG,KAAK,+CAgBrBu8G,aAAc,WAEVhlH,KAAK8d,eAAeuD,SAASrhB,KAAMA,KAAKwc,QAEpB,IAAhBxc,KAAKwc,QAELxc,KAAK4/B,QAgBbqlF,mBAAoB,SAAUC,GAItBllH,KAAK05G,eAAiB15G,KAAKyiH,SAE3BziH,KAAK0iH,cAAgBwC,EACrBllH,KAAKyiH,OAAOjmG,OAASxc,KAAK0iH,cAAgB1iH,KAAKujH,UAWvDj9F,QAAS,SAAUhB,QAEA/a,IAAX+a,IAAwBA,GAAS,GAErCtlB,KAAK2iH,iBAAkB,EACvB3iH,KAAK4iH,wBAA0Bt9F,EAC/BtlB,KAAK4/B,OAEDta,EAEAtlB,KAAKgd,KAAKwF,MAAM8C,OAAOtlB,OAIvBA,KAAK0hH,WACL1hH,KAAK6mB,QAAU,KACf7mB,KAAKwjH,QAAU,KACfxjH,KAAKsiH,aAAe,KAEpBtiH,KAAKkjH,UAAUn6F,UACf/oB,KAAKmjH,OAAOp6F,UACZ/oB,KAAK+kB,QAAQgE,UACb/oB,KAAKilB,SAAS8D,UACd/oB,KAAK4gG,OAAO73E,UACZ/oB,KAAKojH,OAAOr6F,UACZ/oB,KAAKqjH,OAAOt6F,UACZ/oB,KAAKsjH,iBAAiBv6F,aAMlC1oB,EAAOi6D,MAAM/zD,UAAU8B,YAAchI,EAAOi6D,MAO5C7yD,OAAOmF,eAAevM,EAAOi6D,MAAM/zD,UAAW,cAE1CmG,IAAK,WACD,OAAO1M,KAAKgd,KAAKqF,MAAM6tF,SAASlwG,KAAK6J,KAAKokG,cAUlDxmG,OAAOmF,eAAevM,EAAOi6D,MAAM/zD,UAAW,aAE1CmG,IAAK,WACD,OAAO1M,KAAKgd,KAAKqF,MAAMiuF,eAAetwG,KAAK6J,QASnDpC,OAAOmF,eAAevM,EAAOi6D,MAAM/zD,UAAW,QAE1CmG,IAAK,WAED,OAAQ1M,KAAKyjH,QAAUzjH,KAAKgd,KAAKwF,MAAMmiG,MAI3Ch4G,IAAK,SAAUzC,IAEXA,EAAQA,IAAS,KAEHlK,KAAKyjH,SAKfv5G,GAEAlK,KAAKyjH,QAAS,EACdzjH,KAAK8jH,YAAc9jH,KAAK4jH,YAEpB5jH,KAAKy5G,cAELz5G,KAAKwiH,SAASQ,KAAK94G,MAAQ,EAEtBlK,KAAK05G,eAAiB15G,KAAKyiH,SAEhCziH,KAAKyiH,OAAOjmG,OAAS,KAKzBxc,KAAKyjH,QAAS,EAEVzjH,KAAKy5G,cAELz5G,KAAKwiH,SAASQ,KAAK94G,MAAQlK,KAAK8jH,YAE3B9jH,KAAK05G,eAAiB15G,KAAKyiH,SAEhCziH,KAAKyiH,OAAOjmG,OAASxc,KAAK8jH,cAIlC9jH,KAAKqjH,OAAOhiG,SAASrhB,UAU7ByH,OAAOmF,eAAevM,EAAOi6D,MAAM/zD,UAAW,UAE1CmG,IAAK,WACD,OAAO1M,KAAKujH,SAGhB52G,IAAK,SAAUzC,GAGPlK,KAAK05G,gBAELxvG,EAAQlK,KAAKgd,KAAK0E,KAAK7J,MAAM3N,EAAO,EAAG,IAGvClK,KAAKyjH,OAELzjH,KAAK8jH,YAAc55G,GAIvBlK,KAAK4jH,YAAc15G,EACnBlK,KAAKujH,QAAUr5G,EAEXlK,KAAKy5G,cAELz5G,KAAKwiH,SAASQ,KAAK94G,MAAQA,EAEtBlK,KAAK05G,eAAiB15G,KAAKyiH,SAEhCziH,KAAKyiH,OAAOjmG,OAASxc,KAAK0iH,cAAgBx4G,OA+BtD7J,EAAO88B,aAAe,SAAUngB,GAK5Bhd,KAAKgd,KAAOA,EAKZhd,KAAKmlH,cAAgB,IAAI9kH,EAAOud,OAMhC5d,KAAKolH,eAAiB,IAAI/kH,EAAOud,OAMjC5d,KAAKqjH,OAAS,IAAIhjH,EAAOud,OAMzB5d,KAAKqlH,SAAW,IAAIhlH,EAAOud,OAM3B5d,KAAK6mB,QAAU,KAMf7mB,KAAKy5G,eAAgB,EAMrBz5G,KAAK05G,eAAgB,EAMrB15G,KAAKk3G,SAAU,EAMfl3G,KAAKyhH,iBAAkB,EAMvBzhH,KAAKkuG,aAAc,EAMnBluG,KAAKslH,SAAW,GAShBtlH,KAAK+/B,aAAc,EAOnB//B,KAAKulH,YAAa,EAOlBvlH,KAAKyjH,QAAS,EAOdzjH,KAAKwlH,cAAgB,KAOrBxlH,KAAKujH,QAAU,EAOfvjH,KAAKylH,WAMLzlH,KAAK0lH,WAAa,IAAIrlH,EAAO42B,SAM7Bj3B,KAAK2lH,WAAY,EAMjB3lH,KAAK4lH,eAAiB,KAMtB5lH,KAAK6lH,cAAgB,MAIzBxlH,EAAO88B,aAAa52B,WAOhB6Y,KAAM,WAQF,GANIpf,KAAKgd,KAAKsS,OAAO4Q,MAAqC,IAA9BlgC,KAAKgd,KAAKsS,OAAO2O,WAEzCj+B,KAAKslH,SAAW,GAIhBr9G,OAAqB,aACzB,CAEI,IAA4C,IAAxCA,OAAqB,aAAE69G,aAIvB,OAFA9lH,KAAKk3G,SAAU,OACfl3G,KAAKkuG,aAAc,GAKvB,IAA+C,IAA3CjmG,OAAqB,aAAE89G,gBAIvB,OAFA/lH,KAAK05G,eAAgB,OACrB15G,KAAKkuG,aAAc,GAK3B,GAAIjmG,OAAqB,cAAKA,OAAqB,aAAE+9G,aAEjDhmH,KAAK6mB,QAAU5e,OAAqB,aAAE+9G,kBAItC,GAAM/9G,OAAqB,aAEvB,IACIjI,KAAK6mB,QAAU,IAAI5e,OAAqB,aAC1C,MAAOwnF,GACLzvF,KAAK6mB,QAAU,KACf7mB,KAAKy5G,eAAgB,EACrBz5G,KAAKkuG,aAAc,OAGtB,GAAMjmG,OAA2B,mBAElC,IACIjI,KAAK6mB,QAAU,IAAI5e,OAA2B,mBAChD,MAAOwnF,GACLzvF,KAAK6mB,QAAU,KACf7mB,KAAKy5G,eAAgB,EACrBz5G,KAAKkuG,aAAc,EAK/B,GAAqB,OAAjBluG,KAAK6mB,QACT,CAEI,QAAwBtc,IAApBtC,OAAc,MAGd,YADAjI,KAAKk3G,SAAU,GAKfl3G,KAAK05G,eAAgB,OAKzB15G,KAAKy5G,eAAgB,OAEWlvG,IAA5BvK,KAAK6mB,QAAQi8F,WAEb9iH,KAAK6iH,WAAa7iH,KAAK6mB,QAAQk8F,iBAI/B/iH,KAAK6iH,WAAa7iH,KAAK6mB,QAAQi8F,aAGnC9iH,KAAK6iH,WAAWG,KAAK94G,MAAQ,EAC7BlK,KAAK6iH,WAAWhnE,QAAQ77C,KAAK6mB,QAAQm8C,aAGpChjE,KAAKk3G,SAGFl3G,KAAKgd,KAAKsS,OAAO4jE,oBAEjBlzF,KAAKimH,gBAYjBA,aAAc,WAENjmH,KAAKk3G,SAAYjvG,OAAqB,eAA6C,IAAxCA,OAAqB,aAAE69G,eAKlE9lH,KAAKgd,KAAKsS,OAAO86D,WAAa,GAAKpqF,KAAKgd,KAAKsS,OAAOs8D,eAAiB,GAErE5rF,KAAKgd,KAAKsF,MAAMkiB,qBAAqBxkC,KAAKkmH,OAAQlmH,MAAM,GAIxDA,KAAKgd,KAAKsF,MAAMkiB,qBAAqBxkC,KAAKkmH,OAAQlmH,MAGtDA,KAAKkuG,aAAc,IAUvBgY,OAAQ,WAEJ,GAAIlmH,KAAKk3G,UAAYl3G,KAAKkuG,aAAsC,OAAvBluG,KAAKwlH,cAE1C,OAAO,EAIX,GAAIxlH,KAAK05G,cAEL15G,KAAKkuG,aAAc,EACnBluG,KAAKwlH,cAAgB,UAEpB,GAAIxlH,KAAKy5G,cACd,CAII,IAAIz8C,EAASh9D,KAAK6mB,QAAQwpD,aAAa,EAAG,EAAG,OAC7CrwE,KAAKwlH,cAAgBxlH,KAAK6mB,QAAQ29F,qBAClCxkH,KAAKwlH,cAAcxoD,OAASA,EAC5Bh9D,KAAKwlH,cAAc3pE,QAAQ77C,KAAK6mB,QAAQm8C,kBAEPz4D,IAA7BvK,KAAKwlH,cAAcz0G,MAEnB/Q,KAAKwlH,cAAcW,OAAO,GAI1BnmH,KAAKwlH,cAAcz0G,MAAM,GAIY,cAArC/Q,KAAKwlH,cAAc3+F,QAAQpE,OAC3BziB,KAAKwlH,cAAc3+F,QAAQ3B,SAKnC,OAAO,GASXkhG,QAAS,WAEL,IAAIpmH,KAAKk3G,QAKT,IAAK,IAAIlvG,EAAI,EAAGA,EAAIhI,KAAKylH,QAAQ19G,OAAQC,IAEjChI,KAAKylH,QAAQz9G,IAEbhI,KAAKylH,QAAQz9G,GAAG43B,QAW5BygE,SAAU,WAEN,IAAIrgG,KAAKk3G,QAKT,IAAK,IAAIlvG,EAAI,EAAGA,EAAIhI,KAAKylH,QAAQ19G,OAAQC,IAEjChI,KAAKylH,QAAQz9G,IAEbhI,KAAKylH,QAAQz9G,GAAGgd,SAW5Bs7E,UAAW,WAEP,IAAItgG,KAAKk3G,QAKT,IAAK,IAAIlvG,EAAI,EAAGA,EAAIhI,KAAKylH,QAAQ19G,OAAQC,IAEjChI,KAAKylH,QAAQz9G,IAEbhI,KAAKylH,QAAQz9G,GAAGkd,UAa5B22F,OAAQ,SAAUhyG,EAAK2Y,GAEnBA,EAAQA,GAAS,KAEjB,IAAI6jG,EAAYrmH,KAAKgd,KAAKqF,MAAMqvF,aAAa7nG,GAE7C,GAAIw8G,IAE4C,IAAxCrmH,KAAKgd,KAAKqF,MAAMiuF,eAAezmG,GACnC,CACI7J,KAAKgd,KAAKqF,MAAM+tF,YAAYvmG,EAAK,cAAc,GAE/C,IAAImf,EAAQhpB,KAEZ,IACIA,KAAK6mB,QAAQy/F,gBAAgBD,EAAW,SAAUrpD,GAE1CA,IAEAh0C,EAAMhM,KAAKqF,MAAMguF,aAAaxmG,EAAKmzD,GACnCh0C,EAAMm8F,cAAc9jG,SAASxX,EAAK2Y,MAI9C,MAAO3W,OAiBnB06G,mBAAoB,SAAUC,EAAO/yF,EAAUlO,GAEtB,iBAAVihG,IAEPA,GAAUA,IAGdxmH,KAAK0lH,WAAWzjG,QAEhB,IAAK,IAAIja,EAAI,EAAGA,EAAIw+G,EAAMz+G,OAAQC,IAE1Bw+G,EAAMx+G,aAAc3H,EAAOi6D,MAEtBt6D,KAAKgd,KAAKqF,MAAMiuF,eAAekW,EAAMx+G,GAAG6B,MAEzC7J,KAAK0lH,WAAWnyG,IAAIizG,EAAMx+G,GAAG6B,KAG3B7J,KAAKgd,KAAKqF,MAAMiuF,eAAekW,EAAMx+G,KAE3ChI,KAAK0lH,WAAWnyG,IAAIizG,EAAMx+G,IAKJ,IAA1BhI,KAAK0lH,WAAW7tF,OAEhB73B,KAAK2lH,WAAY,EACjBlyF,EAASzsB,KAAKue,KAIdvlB,KAAK2lH,WAAY,EACjB3lH,KAAK4lH,eAAiBnyF,EACtBzzB,KAAK6lH,cAAgBtgG,IAW7BxE,OAAQ,WAEJ,IAAI/gB,KAAKk3G,QAAT,EAKIl3G,KAAKkuG,aAAsC,OAAvBluG,KAAKwlH,eAA2BxlH,KAAKwlH,cAAciB,gBAAkBzmH,KAAKwlH,cAAckB,eAAiB1mH,KAAKwlH,cAAciB,gBAAkBzmH,KAAKwlH,cAAcmB,iBAErL3mH,KAAKkuG,aAAc,EACnBluG,KAAKwlH,cAAgB,MAGzB,IAAK,IAAIx9G,EAAI,EAAGA,EAAIhI,KAAKylH,QAAQ19G,OAAQC,IAErChI,KAAKylH,QAAQz9G,GAAG+Y,SAGpB,GAAI/gB,KAAK2lH,UACT,CAGI,IAFA,IAAI97G,EAAM7J,KAAK0lH,WAAWv1E,MAEnBtmC,GAEC7J,KAAKgd,KAAKqF,MAAMiuF,eAAezmG,IAE/B7J,KAAK0lH,WAAWpgG,OAAOzb,GAG3BA,EAAM7J,KAAK0lH,WAAWzxF,KAGI,IAA1Bj0B,KAAK0lH,WAAW7tF,QAEhB73B,KAAK2lH,WAAY,EACjB3lH,KAAK4lH,eAAe5+G,KAAKhH,KAAK6lH,mBAgB1CtyG,IAAK,SAAU1J,EAAK2S,EAAQ2uC,EAAMtP,QAEftxC,IAAXiS,IAAwBA,EAAS,QACxBjS,IAAT4gD,IAAsBA,GAAO,QACjB5gD,IAAZsxC,IAAyBA,EAAU77C,KAAKyhH,iBAE5C,IAAIj/F,EAAQ,IAAIniB,EAAOi6D,MAAMt6D,KAAKgd,KAAMnT,EAAK2S,EAAQ2uC,EAAMtP,GAI3D,OAFA77C,KAAKylH,QAAQlxG,KAAKiO,GAEXA,GAWXozC,UAAW,SAAS/rD,GAIhB,OAFkB,IAAIxJ,EAAOk6D,YAAYv6D,KAAKgd,KAAMnT,IAaxDyb,OAAQ,SAAU9C,GAId,IAFA,IAAIxa,EAAIhI,KAAKylH,QAAQ19G,OAEdC,KAEH,GAAIhI,KAAKylH,QAAQz9G,KAAOwa,EAIpB,OAFAxiB,KAAKylH,QAAQz9G,GAAGse,SAAQ,GACxBtmB,KAAKylH,QAAQ9/F,OAAO3d,EAAG,IAChB,EAIf,OAAO,GAYX4+G,YAAa,SAAU/8G,GAKnB,IAHA,IAAI7B,EAAIhI,KAAKylH,QAAQ19G,OACjByxB,EAAU,EAEPxxB,KAEChI,KAAKylH,QAAQz9G,GAAG6B,MAAQA,IAExB7J,KAAKylH,QAAQz9G,GAAGse,SAAQ,GACxBtmB,KAAKylH,QAAQ9/F,OAAO3d,EAAG,GACvBwxB,KAIR,OAAOA,GAaXyxB,KAAM,SAAUphD,EAAK2S,EAAQ2uC,GAEzB,IAAInrD,KAAKk3G,QAAT,CAKA,IAAI10F,EAAQxiB,KAAKuT,IAAI1J,EAAK2S,EAAQ2uC,GAIlC,OAFA3oC,EAAMyoC,OAECzoC,IAUXwd,QAAS,WAEL,IAAIhgC,KAAKyjH,OAAT,CAKAzjH,KAAKyjH,QAAS,EAEVzjH,KAAKy5G,gBAELz5G,KAAK8jH,YAAc9jH,KAAK6iH,WAAWG,KAAK94G,MACxClK,KAAK6iH,WAAWG,KAAK94G,MAAQ,GAIjC,IAAK,IAAIlC,EAAI,EAAGA,EAAIhI,KAAKylH,QAAQ19G,OAAQC,IAEjChI,KAAKylH,QAAQz9G,GAAG0xG,gBAEhB15G,KAAKylH,QAAQz9G,GAAG28G,MAAO,GAI/B3kH,KAAKqjH,OAAOhiG,aAUhB8e,UAAW,WAEP,GAAKngC,KAAKyjH,SAAUzjH,KAAKulH,WAAzB,CAKAvlH,KAAKyjH,QAAS,EAEVzjH,KAAKy5G,gBAELz5G,KAAK6iH,WAAWG,KAAK94G,MAAQlK,KAAK8jH,aAItC,IAAK,IAAI97G,EAAI,EAAGA,EAAIhI,KAAKylH,QAAQ19G,OAAQC,IAEjChI,KAAKylH,QAAQz9G,GAAG0xG,gBAEhB15G,KAAKylH,QAAQz9G,GAAG28G,MAAO,GAI/B3kH,KAAKqlH,SAAShkG,aASlBiF,QAAS,WAELtmB,KAAKomH,UAEL,IAAK,IAAIp+G,EAAI,EAAGA,EAAIhI,KAAKylH,QAAQ19G,OAAQC,IAEjChI,KAAKylH,QAAQz9G,IAEbhI,KAAKylH,QAAQz9G,GAAGse,UAIxBtmB,KAAKylH,WAELzlH,KAAKmlH,cAAcp8F,UAEf/oB,KAAK6mB,UAED5e,OAAqB,aAGrBA,OAAqB,aAAE+9G,aAAehmH,KAAK6mB,QAIvC7mB,KAAK6mB,QAAQggG,OAEb7mH,KAAK6mB,QAAQggG,WASjCxmH,EAAO88B,aAAa52B,UAAU8B,YAAchI,EAAO88B,aAMnD11B,OAAOmF,eAAevM,EAAO88B,aAAa52B,UAAW,QAEjDmG,IAAK,WAED,OAAO1M,KAAKyjH,QAIhB92G,IAAK,SAAUzC,GAIX,GAFAA,EAAQA,IAAS,EAGjB,CACI,GAAIlK,KAAKyjH,OAEL,OAGJzjH,KAAKulH,YAAa,EAClBvlH,KAAKggC,cAGT,CACI,IAAKhgC,KAAKyjH,OAEN,OAGJzjH,KAAKulH,YAAa,EAClBvlH,KAAKmgC,gBAUjB14B,OAAOmF,eAAevM,EAAO88B,aAAa52B,UAAW,UAEjDmG,IAAK,WAED,OAAO1M,KAAKujH,SAIhB52G,IAAK,SAAUzC,GAWX,GATIA,EAAQ,EAERA,EAAQ,EAEHA,EAAQ,IAEbA,EAAQ,GAGRlK,KAAKujH,UAAYr5G,EACrB,CAGI,GAFAlK,KAAKujH,QAAUr5G,EAEXlK,KAAKy5G,cAELz5G,KAAK6iH,WAAWG,KAAK94G,MAAQA,OAK7B,IAAK,IAAIlC,EAAI,EAAGA,EAAIhI,KAAKylH,QAAQ19G,OAAQC,IAEjChI,KAAKylH,QAAQz9G,GAAG0xG,eAEhB15G,KAAKylH,QAAQz9G,GAAGi9G,mBAAmB/6G,GAK/ClK,KAAKolH,eAAe/jG,SAASnX,OA0EzC7J,EAAOs8B,aAAe,SAAU3f,EAAMnL,EAAOC,GAQzC9R,KAAKgd,KAAOA,EAQZhd,KAAK8mH,IAAMzmH,EAAOwtB,IAOlB7tB,KAAK+4C,KAAO,KAOZ/4C,KAAK6R,MAAQ,EAOb7R,KAAK8R,OAAS,EASd9R,KAAK+mH,SAAW,KAUhB/mH,KAAK8gF,SAAW,KAShB9gF,KAAKgnH,UAAY,KAUjBhnH,KAAKinH,UAAY,KASjBjnH,KAAKmP,OAAS,IAAI9O,EAAOoN,MAUzBzN,KAAKknH,gBAAiB,EAUtBlnH,KAAKmnH,eAAgB,EAWrBnnH,KAAKonH,sBAAuB,EAO5BpnH,KAAKqnH,wBAAyB,EAO9BrnH,KAAKsnH,sBAAuB,EA0B5BtnH,KAAKunH,oBAAsB,IAAIlnH,EAAOud,OAUtC5d,KAAKwnH,0BAA4B,IAAInnH,EAAOud,OAU5C5d,KAAKynH,0BAA4B,IAAIpnH,EAAOud,OAY5C5d,KAAK0nH,wBAAyB,EAe9B1nH,KAAK2nH,iBAAmB,KAQxB3nH,KAAK4nH,yBAA2B,KAuBhC5nH,KAAK6nH,iBAAmB,IAAIxnH,EAAOud,OAWnC5d,KAAK8nH,mBAAqB,IAAIznH,EAAOud,OAWrC5d,KAAK+nH,kBAAoB,IAAI1nH,EAAOud,OAUpC5d,KAAKgoH,kBAAoBhoH,KAAK8mH,IAAImB,uBAOlCjoH,KAAKF,YAAc,IAAIO,EAAOoN,MAAM,EAAG,GAQvCzN,KAAKkoH,oBAAsB,IAAI7nH,EAAOoN,MAAM,EAAG,GAS/CzN,KAAKmqG,QAAUz+F,KAAM,EAAG+D,IAAK,EAAGhE,MAAO,EAAGiE,OAAQ,EAAGvJ,EAAG,EAAG+G,EAAG,GAO9DlN,KAAKmd,OAAS,IAAI9c,EAAO2N,UAOzBhO,KAAKmoH,YAAc,EAOnBnoH,KAAKooH,kBAAoB,EAQzBpoH,KAAK6uB,MAAQ,KAeb7uB,KAAKqoH,mBACD58G,MAAO,SACPiE,OAAQ,IA6BZ1P,KAAKsoH,eACDC,oBAAoB,EACpBC,oBAAqB,KACrBC,WAAW,EACXC,SAAU,KACVC,4BAA4B,EAC5BC,iBAAiB,EACjBC,gBAAiB,IAQrB7oH,KAAK8oH,WAAazoH,EAAOs8B,aAAaosF,SAOtC/oH,KAAKgpH,qBAAuB3oH,EAAOs8B,aAAaosF,SAUhD/oH,KAAKipH,gBAAiB,EAUtBjpH,KAAK8zF,WAAa,KAOlB9zF,KAAKkpH,kBAAoB,IAAI7oH,EAAOoN,MAAM,EAAG,GAW7CzN,KAAKmpH,oBAAsB,IAkB3BnpH,KAAKopH,aAAe,IAAI/oH,EAAOud,OAO/B5d,KAAKqpH,SAAW,KAOhBrpH,KAAKspH,gBAAkB,KAMvBtpH,KAAKupH,kBAAoB,KAOzBvpH,KAAKwpH,mBAAqB,KAO1BxpH,KAAKypH,UAAY,IAAIppH,EAAO2N,UAO5BhO,KAAK0pH,iBAAmB,IAAIrpH,EAAOoN,MAAM,EAAG,GAO5CzN,KAAK2pH,eAAiB,IAAItpH,EAAOoN,MAAM,EAAG,GAO1CzN,KAAK4pH,YAAc,EASnB5pH,KAAK6pH,gBAAkB,EAOvB7pH,KAAK8pH,qBAAuB,IAO5B9pH,KAAK+pH,cAAgB,IAAI1pH,EAAO2N,UAOhChO,KAAKgqH,YAAc,IAAI3pH,EAAO2N,UAO9BhO,KAAKiqH,wBAA0B,IAAI5pH,EAAO2N,UAO1ChO,KAAKkqH,sBAAwB,IAAI7pH,EAAO2N,UAMxChO,KAAKmqH,SAAU,EAEXntG,EAAK0Q,QAEL1tB,KAAK2tB,YAAY3Q,EAAK0Q,QAG1B1tB,KAAKoqH,WAAWv4G,EAAOC,IAU3BzR,EAAOs8B,aAAa0tF,UAAY,EAQhChqH,EAAOs8B,aAAaosF,SAAW,EAQ/B1oH,EAAOs8B,aAAa2tF,SAAW,EAQ/BjqH,EAAOs8B,aAAa4tF,OAAS,EAQ7BlqH,EAAOs8B,aAAa6tF,WAAa,EAEjCnqH,EAAOs8B,aAAap2B,WAQhB6Y,KAAM,WAIF,IAAIqrG,EAASzqH,KAAKsoH,cAElBmC,EAAOlC,mBAAqBvoH,KAAKgd,KAAKsS,OAAOw+D,aAAe9tF,KAAKgd,KAAKsS,OAAOmP,SAGxEz+B,KAAKgd,KAAKsS,OAAOo+D,MAAS1tF,KAAKgd,KAAKsS,OAAOk9D,QAAWxsF,KAAKgd,KAAKsS,OAAO66D,UAEpEnqF,KAAKgd,KAAKsS,OAAO+Y,UAAYroC,KAAKgd,KAAKsS,OAAOgZ,OAE9CmiF,EAAO/B,SAAW,IAAIroH,EAAOoN,MAAM,EAAG,GAItCg9G,EAAO/B,SAAW,IAAIroH,EAAOoN,MAAM,EAAG,IAI1CzN,KAAKgd,KAAKsS,OAAO66D,SAEjBsgC,EAAOjC,oBAAsB,SAC7BiC,EAAO5B,gBAAkB,mBAIzB4B,EAAOjC,oBAAsB,GAC7BiC,EAAO5B,gBAAkB,IAK7B,IAAI7/F,EAAQhpB,KAEZA,KAAK0qH,mBAAqB,SAAS77F,GAC/B,OAAO7F,EAAM2hG,kBAAkB97F,IAGnC7uB,KAAK4qH,cAAgB,SAAS/7F,GAC1B,OAAO7F,EAAM6hG,aAAah8F,IAI9B5mB,OAAOgnB,iBAAiB,oBAAqBjvB,KAAK0qH,oBAAoB,GACtEziH,OAAOgnB,iBAAiB,SAAUjvB,KAAK4qH,eAAe,GAElD5qH,KAAKsoH,cAAcC,qBAEnBvoH,KAAK8qH,kBAAoB,SAASj8F,GAC9B,OAAO7F,EAAM+hG,iBAAiBl8F,IAGlC7uB,KAAKgrH,iBAAmB,SAASn8F,GAC7B,OAAO7F,EAAMiiG,gBAAgBp8F,IAGjCL,SAASS,iBAAiB,yBAA0BjvB,KAAK8qH,mBAAmB,GAC5Et8F,SAASS,iBAAiB,sBAAuBjvB,KAAK8qH,mBAAmB,GACzEt8F,SAASS,iBAAiB,qBAAsBjvB,KAAK8qH,mBAAmB,GACxEt8F,SAASS,iBAAiB,mBAAoBjvB,KAAK8qH,mBAAmB,GAEtEt8F,SAASS,iBAAiB,wBAAyBjvB,KAAKgrH,kBAAkB,GAC1Ex8F,SAASS,iBAAiB,qBAAsBjvB,KAAKgrH,kBAAkB,GACvEx8F,SAASS,iBAAiB,oBAAqBjvB,KAAKgrH,kBAAkB,GACtEx8F,SAASS,iBAAiB,kBAAmBjvB,KAAKgrH,kBAAkB,IAGxEhrH,KAAKgd,KAAKiI,SAAS1R,IAAIvT,KAAKkrH,aAAclrH,MAI1CA,KAAK8mH,IAAIh5F,UAAU9tB,KAAKgd,KAAK+Q,OAAQ/tB,KAAKmP,QAE1CnP,KAAKmd,OAAOlP,MAAMjO,KAAKmP,OAAOhJ,EAAGnG,KAAKmP,OAAOjC,EAAGlN,KAAK6R,MAAO7R,KAAK8R,QAEjE9R,KAAKmrH,YAAYnrH,KAAKgd,KAAKnL,MAAO7R,KAAKgd,KAAKlL,QAG5C9R,KAAKgoH,kBAAoBhoH,KAAK8mH,IAAImB,qBAAqBjoH,KAAKsoH,cAAcE,qBAEtEnoH,EAAO+qH,WAEPprH,KAAK+4C,KAAO,IAAI14C,EAAO+qH,SAASprH,KAAMA,KAAK6R,MAAO7R,KAAK8R,SAG3D9R,KAAKmqH,SAAU,EAEgB,OAA3BnqH,KAAKupH,oBAELvpH,KAAKsyD,UAAYtyD,KAAKupH,kBACtBvpH,KAAKupH,kBAAoB,OAYjC57F,YAAa,SAAUD,QAESnjB,IAAxBmjB,EAAkB,YAEd1tB,KAAKmqH,QAELnqH,KAAKsyD,UAAY5kC,EAAkB,UAInC1tB,KAAKupH,kBAAoB77F,EAAkB,gBAIbnjB,IAAlCmjB,EAA4B,sBAE5B1tB,KAAKqrH,oBAAsB39F,EAA4B,qBAGvDA,EAAyB,mBAEzB1tB,KAAK2nH,iBAAmBj6F,EAAyB,mBAezD08F,WAAY,SAAUv4G,EAAOC,GAEzB,IAAI5K,EACAmO,EAAO,IAAIhV,EAAO2N,UAEG,KAArBhO,KAAKgd,KAAKiP,SAEsB,iBAArBjsB,KAAKgd,KAAKiP,OAGjB/kB,EAASsnB,SAASmlE,eAAe3zF,KAAKgd,KAAKiP,QAEtCjsB,KAAKgd,KAAKiP,QAAwC,IAA9BjsB,KAAKgd,KAAKiP,OAAOrgB,WAG1C1E,EAASlH,KAAKgd,KAAKiP,SAKtB/kB,GAaDlH,KAAK8zF,WAAa5sF,EAClBlH,KAAKipH,gBAAiB,EAEtBjpH,KAAKsrH,gBAAgBtrH,KAAK+pH,eAE1B10G,EAAKxD,MAAQ7R,KAAK+pH,cAAcl4G,MAChCwD,EAAKvD,OAAS9R,KAAK+pH,cAAcj4G,OAEjC9R,KAAKmP,OAAOxC,IAAI3M,KAAK+pH,cAAc5jH,EAAGnG,KAAK+pH,cAAc78G,KAlBzDlN,KAAK8zF,WAAa,KAClB9zF,KAAKipH,gBAAiB,EAEtB5zG,EAAKxD,MAAQ7R,KAAK8mH,IAAIyE,aAAa15G,MACnCwD,EAAKvD,OAAS9R,KAAK8mH,IAAIyE,aAAaz5G,OAEpC9R,KAAKmP,OAAOxC,IAAI,EAAG,IAevB,IAAIw0D,EAAW,EACXC,EAAY,EAEK,iBAAVvvD,EAEPsvD,EAAWtvD,GAKX7R,KAAKkpH,kBAAkB/iH,EAAI+E,SAAS2G,EAAO,IAAM,IACjDsvD,EAAW9rD,EAAKxD,MAAQ7R,KAAKkpH,kBAAkB/iH,GAG7B,iBAAX2L,EAEPsvD,EAAYtvD,GAKZ9R,KAAKkpH,kBAAkBh8G,EAAIhC,SAAS4G,EAAQ,IAAM,IAClDsvD,EAAY/rD,EAAKvD,OAAS9R,KAAKkpH,kBAAkBh8G,GAGrDi0D,EAAWl7D,KAAKI,MAAM86D,GACtBC,EAAYn7D,KAAKI,MAAM+6D,GAEvBphE,KAAKypH,UAAUx7G,MAAM,EAAG,EAAGkzD,EAAUC,GAErCphE,KAAKwrH,iBAAiBrqD,EAAUC,GAAW,IAU/C8pD,aAAc,WAEVlrH,KAAKyrH,aAAY,IAmBrBN,YAAa,SAAUt5G,EAAOC,GAE1B9R,KAAKypH,UAAUx7G,MAAM,EAAG,EAAG4D,EAAOC,GAE9B9R,KAAK0rH,mBAAqBrrH,EAAOs8B,aAAa4tF,QAE9CvqH,KAAKwrH,iBAAiB35G,EAAOC,GAAQ,GAGzC9R,KAAKyrH,aAAY,IAsBrBE,aAAc,SAAUC,EAAQC,EAAQC,EAAOC,EAAON,EAAaprG,GAE/DrgB,KAAK0pH,iBAAiBz7G,MAAM29G,EAAQC,GACpC7rH,KAAK2pH,eAAe17G,MAAc,EAAR69G,EAAmB,EAARC,QAEjBxhH,IAAhBkhH,IAA6BA,GAAc,QACjClhH,IAAV8V,IAAuBA,GAAQ,GAE/BorG,GAEAzrH,KAAKyrH,YAAYprG,IA+BzB2rG,kBAAmB,SAAUv4F,EAAU5M,GAEnC7mB,KAAKqpH,SAAW51F,EAChBzzB,KAAKspH,gBAAkBziG,GAc3BolG,iBAAkB,WAEd,IAAK5rH,EAAO2N,UAAUyO,eAAezc,KAAMA,KAAKiqH,2BAC3C5pH,EAAO2N,UAAUyO,eAAezc,KAAKgd,KAAMhd,KAAKkqH,uBACrD,CACI,IAAIr4G,EAAQ7R,KAAK6R,MACbC,EAAS9R,KAAK8R,OAElB9R,KAAKiqH,wBAAwBh8G,MAAM,EAAG,EAAG4D,EAAOC,GAChD9R,KAAKkqH,sBAAsBj8G,MAAM,EAAG,EAAGjO,KAAKgd,KAAKnL,MAAO7R,KAAKgd,KAAKlL,QAE9D9R,KAAK+4C,MAEL/4C,KAAK+4C,KAAKswE,SAASx3G,EAAOC,GAG9B9R,KAAKopH,aAAa/nG,SAASrhB,KAAM6R,EAAOC,GAGpC9R,KAAK0rH,mBAAqBrrH,EAAOs8B,aAAa4tF,SAE9CvqH,KAAKgd,KAAKyF,MAAMpH,OAAOxJ,EAAOC,GAC9B9R,KAAKgd,KAAKuF,KAAKlH,OAAOxJ,EAAOC,MAqBzCo6G,UAAW,SAAUnF,EAAUC,EAAWlmC,EAAUmmC,GAEhDjnH,KAAK+mH,SAAWA,EAChB/mH,KAAKgnH,UAAYA,OAEO,IAAblmC,IAEP9gF,KAAK8gF,SAAWA,QAGK,IAAdmmC,IAEPjnH,KAAKinH,UAAYA,IAWzBxnG,UAAW,WAEP,KAAIzf,KAAKgd,KAAKmE,KAAKA,KAAQnhB,KAAK4pH,YAAc5pH,KAAK6pH,iBAAnD,CAKA,IAAIsC,EAAensH,KAAK6pH,gBACxB7pH,KAAK8pH,qBAAuBqC,GAAgB,IAAM,EAAI,IAEtDnsH,KAAK8mH,IAAIh5F,UAAU9tB,KAAKgd,KAAK+Q,OAAQ/tB,KAAKmP,QAE1C,IAAIi9G,EAAYpsH,KAAK+pH,cAAcl4G,MAC/Bw6G,EAAarsH,KAAK+pH,cAAcj4G,OAChCqL,EAASnd,KAAKsrH,gBAAgBtrH,KAAK+pH,eAEnCuC,EAAgBnvG,EAAOtL,QAAUu6G,GAAajvG,EAAOrL,SAAWu6G,EAGhEE,EAAqBvsH,KAAKwsH,0BAE1BF,GAAiBC,KAEbvsH,KAAKqpH,UAELrpH,KAAKqpH,SAASriH,KAAKhH,KAAKspH,gBAAiBtpH,KAAMmd,GAGnDnd,KAAKysH,eAELzsH,KAAKisH,oBAIT,IAAIS,EAAkC,EAAvB1sH,KAAK6pH,gBAGhB7pH,KAAK6pH,gBAAkBsC,IAEvBO,EAAWzmH,KAAK2N,IAAIu4G,EAAcnsH,KAAK8pH,uBAG3C9pH,KAAK6pH,gBAAkBxpH,EAAO4F,KAAK4R,MAAM60G,EAAU,GAAI1sH,KAAKmpH,qBAC5DnpH,KAAK4pH,YAAc5pH,KAAKgd,KAAKmE,KAAKA,OAUtCmC,YAAa,WAETtjB,KAAKyf,YAGLzf,KAAK6pH,gBAAkB7pH,KAAKmpH,qBAahCqC,iBAAkB,SAAU35G,EAAOC,EAAQuJ,GAEvCrb,KAAK6R,MAAQA,EAAQ7R,KAAKkpH,kBAAkB/iH,EAC5CnG,KAAK8R,OAASA,EAAS9R,KAAKkpH,kBAAkBh8G,EAE9ClN,KAAKgd,KAAKnL,MAAQ7R,KAAK6R,MACvB7R,KAAKgd,KAAKlL,OAAS9R,KAAK8R,OAExB9R,KAAKooH,kBAAoBpoH,KAAK6R,MAAQ7R,KAAK8R,OAC3C9R,KAAK2sH,yBAEDtxG,IAGArb,KAAKgd,KAAK4d,SAASvf,OAAOrb,KAAK6R,MAAO7R,KAAK8R,QAG3C9R,KAAKgd,KAAKqC,OAAO2C,QAAQhiB,KAAK6R,MAAO7R,KAAK8R,QAG1C9R,KAAKgd,KAAKC,MAAM5B,OAAOrb,KAAK6R,MAAO7R,KAAK8R,UAYhD66G,uBAAwB,WAEpB3sH,KAAKF,YAAYqG,EAAInG,KAAKgd,KAAKnL,MAAQ7R,KAAK6R,MAC5C7R,KAAKF,YAAYoN,EAAIlN,KAAKgd,KAAKlL,OAAS9R,KAAK8R,OAE7C9R,KAAKkoH,oBAAoB/hH,EAAInG,KAAK6R,MAAQ7R,KAAKgd,KAAKnL,MACpD7R,KAAKkoH,oBAAoBh7G,EAAIlN,KAAK8R,OAAS9R,KAAKgd,KAAKlL,OAErD9R,KAAKmoH,YAAcnoH,KAAK6R,MAAQ7R,KAAK8R,OAGjC9R,KAAKgd,KAAK+Q,QAEV/tB,KAAK8mH,IAAIh5F,UAAU9tB,KAAKgd,KAAK+Q,OAAQ/tB,KAAKmP,QAG9CnP,KAAKmd,OAAOlP,MAAMjO,KAAKmP,OAAOhJ,EAAGnG,KAAKmP,OAAOjC,EAAGlN,KAAK6R,MAAO7R,KAAK8R,QAG7D9R,KAAKgd,KAAKsF,OAAStiB,KAAKgd,KAAKsF,MAAMtL,OAEnChX,KAAKgd,KAAKsF,MAAMtL,MAAM/I,MAAMjO,KAAKF,YAAYqG,EAAGnG,KAAKF,YAAYoN,IAmBzE0/G,iBAAkB,SAAU1F,EAAgBC,QAElB58G,IAAlB48G,IAA+BA,GAAgB,IAE5B,IAAnBD,IAA6C,IAAlBC,GAM/BnnH,KAAKknH,eAAiBA,EACtBlnH,KAAKmnH,cAAgBA,EAErBnnH,KAAKyrH,aAAY,IAPbnjH,QAAQG,KAAK,+EAmBrBokH,oBAAqB,SAAUC,GAE3B,MAAoB,qBAAhBA,GAAsD,uBAAhBA,EAE/B,WAEc,sBAAhBA,GAAuD,wBAAhBA,EAErC,YAIA,MAYfN,uBAAwB,WAEpB,IAAIO,EAAsB/sH,KAAKgoH,kBAC3BgF,EAAsBhtH,KAAKonH,qBAE/BpnH,KAAKgoH,kBAAoBhoH,KAAK8mH,IAAImB,qBAAqBjoH,KAAKsoH,cAAcE,qBAE1ExoH,KAAKonH,qBAAwBpnH,KAAKknH,iBAAmBlnH,KAAKitH,aACrDjtH,KAAKmnH,gBAAkBnnH,KAAKktH,WAEjC,IAAIC,EAAUJ,IAAwB/sH,KAAKgoH,kBACvCoF,EAAqBJ,IAAwBhtH,KAAKonH,qBAmBtD,OAjBIgG,IAEIptH,KAAKonH,qBAELpnH,KAAKwnH,0BAA0BnmG,WAI/BrhB,KAAKynH,0BAA0BpmG,aAInC8rG,GAAWC,IAEXptH,KAAKunH,oBAAoBlmG,SAASrhB,KAAM+sH,EAAqBC,GAG1DG,GAAWC,GAWtBzC,kBAAmB,SAAU97F,GAEzB7uB,KAAK6uB,MAAQA,EAEb7uB,KAAKyrH,aAAY,IAWrBZ,aAAc,SAAUh8F,GAEpB7uB,KAAK6uB,MAAQA,EAEb7uB,KAAKyrH,aAAY,IAUrB4B,UAAW,WAEP,IAAI3E,EAAW1oH,KAAKsoH,cAAcI,SAE9BA,GAEAzgH,OAAOygH,SAASA,EAASviH,EAAGuiH,EAASx7G,IAyB7CqyB,QAAS,WAELv/B,KAAKqtH,YACLrtH,KAAKyrH,aAAY,IAUrBgB,aAAc,WAEV,IAAIn6D,EAAYtyD,KAAK0rH,iBAErB,GAAIp5D,IAAcjyD,EAAOs8B,aAAa4tF,OAAtC,CAsDA,GAhDAvqH,KAAKqtH,YAEDrtH,KAAKsoH,cAAcK,6BAInBn6F,SAASkkE,gBAAgB/yE,MAAMqnG,UAAY/+G,OAAOmD,YAAc,MAGhEpL,KAAKonH,qBAELpnH,KAAKstH,aAIDh7D,IAAcjyD,EAAOs8B,aAAa0tF,UAElCrqH,KAAKutH,cAEAj7D,IAAcjyD,EAAOs8B,aAAa2tF,UAElCtqH,KAAKwtH,cAAgBxtH,KAAKytH,gBAC3BztH,KAAKsoH,cAAcM,iBAKnB5oH,KAAK0tH,YAAW,GAChB1tH,KAAK2tH,cACL3tH,KAAK0tH,cAIL1tH,KAAK0tH,aAGJp7D,IAAcjyD,EAAOs8B,aAAaosF,UAEvC/oH,KAAK6R,MAAQ7R,KAAKgd,KAAKnL,MACvB7R,KAAK8R,OAAS9R,KAAKgd,KAAKlL,QAEnBwgD,IAAcjyD,EAAOs8B,aAAa6tF,aAEvCxqH,KAAK6R,MAAS7R,KAAKgd,KAAKnL,MAAQ7R,KAAK0pH,iBAAiBvjH,EAAKnG,KAAK2pH,eAAexjH,EAC/EnG,KAAK8R,OAAU9R,KAAKgd,KAAKlL,OAAS9R,KAAK0pH,iBAAiBx8G,EAAKlN,KAAK2pH,eAAez8G,IAIpFlN,KAAKsoH,cAAcM,kBACnBt2D,IAAcjyD,EAAOs8B,aAAa2tF,UAAYh4D,IAAcjyD,EAAOs8B,aAAa6tF,YACrF,CACI,IAAIrtG,EAASnd,KAAKsrH,gBAAgBtrH,KAAKgqH,aACvChqH,KAAK6R,MAAQ5L,KAAK2N,IAAI5T,KAAK6R,MAAOsL,EAAOtL,OACzC7R,KAAK8R,OAAS7L,KAAK2N,IAAI5T,KAAK8R,OAAQqL,EAAOrL,QAI/C9R,KAAK6R,MAAqB,EAAb7R,KAAK6R,MAClB7R,KAAK8R,OAAuB,EAAd9R,KAAK8R,OAEnB9R,KAAK4tH,oBAhED5tH,KAAK6tH,cAoFbvC,gBAAiB,SAAUpkH,GAEvB,IAAIiW,EAASjW,GAAU,IAAI7G,EAAO2N,UAC9B8lF,EAAa9zF,KAAKytH,eAClBlC,EAAevrH,KAAK8mH,IAAIyE,aACxBuC,EAAe9tH,KAAK8mH,IAAIgH,aAE5B,GAAKh6B,EAKL,CAEI,IAAIi6B,EAAaj6B,EAAWk6B,wBACxBC,EAAcn6B,EAAuB,aAAIA,EAAWo6B,aAAaF,wBAA0Bl6B,EAAWk6B,wBAE1G7wG,EAAOlP,MAAM8/G,EAAWriH,KAAOuiH,EAAWviH,KAAMqiH,EAAWt+G,IAAMw+G,EAAWx+G,IAAKs+G,EAAWl8G,MAAOk8G,EAAWj8G,QAE9G,IAAIq8G,EAAKnuH,KAAKqoH,kBAEd,GAAI8F,EAAG1iH,MACP,CACQ2iH,EAA4B,WAAbD,EAAG1iH,MAAqBqiH,EAAevC,EAC1DpuG,EAAO1R,MAAQxF,KAAK2N,IAAIuJ,EAAO1R,MAAO2iH,EAAav8G,OAGvD,GAAIs8G,EAAGz+G,OACP,CACI,IAAI0+G,EAA6B,WAAdD,EAAGz+G,OAAsBo+G,EAAevC,EAC3DpuG,EAAOzN,OAASzJ,KAAK2N,IAAIuJ,EAAOzN,OAAQ0+G,EAAat8G,cArBzDqL,EAAOlP,MAAM,EAAG,EAAGs9G,EAAa15G,MAAO05G,EAAaz5G,QA6BxD,OAJAqL,EAAOlP,MACHhI,KAAKsI,MAAM4O,EAAOhX,GAAIF,KAAKsI,MAAM4O,EAAOjQ,GACxCjH,KAAKsI,MAAM4O,EAAOtL,OAAQ5L,KAAKsI,MAAM4O,EAAOrL,SAEzCqL,GAYXyW,MAAO,SAAUtV,EAAYC,GAEP,MAAdD,IAEAte,KAAKquH,sBAAwB/vG,GAGjB,MAAZC,IAEAve,KAAKsuH,oBAAsB/vG,IAenCgwG,YAAa,SAAUjwG,EAAYC,GAE/B,IAAIiwG,EAAexuH,KAAKsrH,gBAAgBtrH,KAAKgqH,aACzCj8F,EAAS/tB,KAAKgd,KAAK+Q,OACnBo8E,EAASnqG,KAAKmqG,OAElB,GAAI7rF,EACJ,CACI6rF,EAAOz+F,KAAOy+F,EAAO1+F,MAAQ,EAEzBgjH,EAAe1gG,EAAOigG,wBAE1B,GAAIhuH,KAAK6R,MAAQ28G,EAAa38G,QAAU7R,KAAKonH,qBAC7C,CACI,IAAIsH,EAAcD,EAAa/iH,KAAO8iH,EAAaroH,EAC/CwoH,EAAcH,EAAa38G,MAAQ,EAAM7R,KAAK6R,MAAQ,EAItD1C,GAFJw/G,EAAa1oH,KAAK6N,IAAI66G,EAAY,IAERD,EAE1BvkB,EAAOz+F,KAAOzF,KAAKsI,MAAMY,GAG7B4e,EAAOpO,MAAMivG,WAAazkB,EAAOz+F,KAAO,KAEpB,IAAhBy+F,EAAOz+F,OAEPy+F,EAAO1+F,QAAU+iH,EAAa38G,MAAQ48G,EAAa58G,MAAQs4F,EAAOz+F,MAClEqiB,EAAOpO,MAAMkvG,YAAc1kB,EAAO1+F,MAAQ,MAIlD,GAAI8S,EACJ,CACI4rF,EAAO16F,IAAM06F,EAAOz6F,OAAS,EAE7B,IAAI++G,EAAe1gG,EAAOigG,wBAE1B,GAAIhuH,KAAK8R,OAAS08G,EAAa18G,SAAW9R,KAAKonH,qBAC/C,CACI,IAAIsH,EAAcD,EAAah/G,IAAM++G,EAAathH,EAC9CyhH,EAAcH,EAAa18G,OAAS,EAAM9R,KAAK8R,OAAS,EAIxD3C,GAFJw/G,EAAa1oH,KAAK6N,IAAI66G,EAAY,IAERD,EAC1BvkB,EAAO16F,IAAMxJ,KAAKsI,MAAMY,GAG5B4e,EAAOpO,MAAMmvG,UAAY3kB,EAAO16F,IAAM,KAEnB,IAAf06F,EAAO16F,MAEP06F,EAAOz6F,SAAW8+G,EAAa18G,OAAS28G,EAAa38G,OAASq4F,EAAO16F,KACrEse,EAAOpO,MAAMovG,aAAe5kB,EAAOz6F,OAAS,MAKpDy6F,EAAOhkG,EAAIgkG,EAAOz+F,KAClBy+F,EAAOj9F,EAAIi9F,EAAO16F,KAYtBo+G,WAAY,WAER7tH,KAAK2tH,YAAY,GAAI,IAErB,IAAIxwG,EAASnd,KAAKsrH,gBAAgBtrH,KAAKgqH,aACvChqH,KAAKwrH,iBAAiBruG,EAAOtL,MAAOsL,EAAOrL,QAAQ,IAYvD87G,aAAc,WAEL5tH,KAAKonH,uBAENpnH,KAAK6R,MAAQxR,EAAO4F,KAAK4R,MAAM7X,KAAK6R,MAAO7R,KAAK+mH,UAAY,EAAG/mH,KAAK8gF,UAAY9gF,KAAK6R,OACrF7R,KAAK8R,OAASzR,EAAO4F,KAAK4R,MAAM7X,KAAK8R,OAAQ9R,KAAKgnH,WAAa,EAAGhnH,KAAKinH,WAAajnH,KAAK8R,SAG7F9R,KAAK2tH,cAEA3tH,KAAKsoH,cAAcG,YAEhBzoH,KAAKwtH,cAAgBxtH,KAAK4nH,yBAE1B5nH,KAAKuuH,aAAY,GAAM,GAIvBvuH,KAAKuuH,YAAYvuH,KAAKquH,sBAAuBruH,KAAKsuH,sBAI1DtuH,KAAK2sH,0BAYTgB,YAAa,SAAUqB,EAAUC,QAEZ1kH,IAAbykH,IAA0BA,EAAWhvH,KAAK6R,MAAQ,WACpCtH,IAAd0kH,IAA2BA,EAAYjvH,KAAK8R,OAAS,MAEzD,IAAIic,EAAS/tB,KAAKgd,KAAK+Q,OAElB/tB,KAAKsoH,cAAcG,YAEpB16F,EAAOpO,MAAMivG,WAAa,GAC1B7gG,EAAOpO,MAAMmvG,UAAY,GACzB/gG,EAAOpO,MAAMkvG,YAAc,GAC3B9gG,EAAOpO,MAAMovG,aAAe,IAGhChhG,EAAOpO,MAAM9N,MAAQm9G,EACrBjhG,EAAOpO,MAAM7N,OAASm9G,GAW1BxD,YAAa,SAAUprG,GAEfA,IAEArgB,KAAK+pH,cAAcl4G,MAAQ,EAC3B7R,KAAK+pH,cAAcj4G,OAAS,GAGhC9R,KAAK6pH,gBAAkB7pH,KAAK8pH,sBAUhC7nG,MAAO,SAAUuD,GAETA,GAAcxlB,KAAK+4C,MAEnB/4C,KAAK+4C,KAAK92B,SAWlBqrG,WAAY,WAERttH,KAAK6R,MAAQ7R,KAAK8mH,IAAIyE,aAAa15G,MACnC7R,KAAK8R,OAAS9R,KAAK8mH,IAAIyE,aAAaz5G,QAWxC47G,WAAY,SAAUwB,GAElB,IAIIC,EAJAhyG,EAASnd,KAAKsrH,gBAAgBtrH,KAAKgqH,aACnCn4G,EAAQsL,EAAOtL,MACfC,EAASqL,EAAOrL,OAMhBq9G,EAFAD,EAEajpH,KAAK6N,IAAKhC,EAAS9R,KAAKgd,KAAKlL,OAAUD,EAAQ7R,KAAKgd,KAAKnL,OAIzD5L,KAAK2N,IAAK9B,EAAS9R,KAAKgd,KAAKlL,OAAUD,EAAQ7R,KAAKgd,KAAKnL,OAG1E7R,KAAK6R,MAAQ5L,KAAKsI,MAAMvO,KAAKgd,KAAKnL,MAAQs9G,GAC1CnvH,KAAK8R,OAAS7L,KAAKsI,MAAMvO,KAAKgd,KAAKlL,OAASq9G,IAWhD5B,YAAa,WAET,IAAIpwG,EAASnd,KAAKsrH,gBAAgBtrH,KAAKgqH,aAEvChqH,KAAK6R,MAAQsL,EAAOtL,MACpB7R,KAAK8R,OAASqL,EAAOrL,OAEjB9R,KAAKwtH,eAMLxtH,KAAK8gF,WAEL9gF,KAAK6R,MAAQ5L,KAAK2N,IAAI5T,KAAK6R,MAAO7R,KAAK8gF,WAGvC9gF,KAAKinH,YAELjnH,KAAK8R,OAAS7L,KAAK2N,IAAI5T,KAAK8R,OAAQ9R,KAAKinH,cAcjDmI,uBAAwB,WAEpB,IAAIC,EAAW7gG,SAASqxD,cAAc,OAMtC,OAJAwvC,EAAS1vG,MAAMwqF,OAAS,IACxBklB,EAAS1vG,MAAMsK,QAAU,IACzBolG,EAAS1vG,MAAM2vG,WAAa,OAErBD,GA6BXE,gBAAiB,SAAU10F,EAAW20F,GAElC,GAAIxvH,KAAKwtH,aAEL,OAAO,EAGX,CAAA,GAAKxtH,KAAKsoH,cAAcC,mBAAxB,CAYA,GAA2C,mBAAvCvoH,KAAKsoH,cAAcO,gBACvB,CACI,IAAIvmG,EAAQtiB,KAAKgd,KAAKsF,MAEtB,GAAIA,EAAM8f,eACN9f,EAAM8f,gBAAkB9f,EAAM+f,eAC7BmtF,IAAuC,IAApBA,GAGpB,YADAltG,EAAM8f,cAAc2O,mBAAmB,kBAAmB/wC,KAAKuvH,gBAAiBvvH,MAAO66B,GAAW,SAKxFtwB,IAAdswB,GAA2B76B,KAAKgd,KAAK4J,aAAevmB,EAAOI,SAE3DT,KAAKgd,KAAKuC,MAAMof,SAAW9D,GAG/B,IAAIw0F,EAAWrvH,KAAK2nH,iBAEf0H,IAEDrvH,KAAKyvH,uBAELzvH,KAAK4nH,yBAA2B5nH,KAAKovH,yBACrCC,EAAWrvH,KAAK4nH,0BAGpB,IAAI8H,GACAC,cAAeN,GAOnB,GAJArvH,KAAK0nH,wBAAyB,EAE9B1nH,KAAK6nH,iBAAiBxmG,SAASrhB,KAAM0vH,GAEjC1vH,KAAK4nH,yBACT,CAGI,IAAI75F,EAAS/tB,KAAKgd,KAAK+Q,OACVA,EAAO+lE,WACbpD,aAAa2+B,EAAUthG,GAC9BshG,EAASx7B,YAAY9lE,GAYzB,OATI/tB,KAAKgd,KAAKsS,OAAO2+D,mBAEjBohC,EAASrvH,KAAKgd,KAAKsS,OAAOy+D,mBAAmByE,QAAQo9B,sBAIrDP,EAASrvH,KAAKgd,KAAKsS,OAAOy+D,sBAGvB,EAhEH,IAAI/kE,EAAQhpB,KAEZyuF,WAAW,WACPzlE,EAAMiiG,mBACP,MAuEX4E,eAAgB,WAEZ,SAAK7vH,KAAKwtH,eAAiBxtH,KAAKsoH,cAAcC,sBAK9CvoH,KAAK0nH,wBAAyB,EAE9Bl5F,SAASxuB,KAAKgd,KAAKsS,OAAO0+D,qBAEnB,IAWXyhC,qBAAsB,WAElB,IAAIJ,EAAWrvH,KAAK4nH,yBAEpB,GAAIyH,GAAYA,EAASv7B,WACzB,CAGI,IAAI7nE,EAASojG,EAASv7B,WACtB7nE,EAAOykE,aAAa1wF,KAAKgd,KAAK+Q,OAAQshG,GACtCpjG,EAAO+I,YAAYq6F,GAGvBrvH,KAAK4nH,yBAA2B,MAYpCkI,eAAgB,SAAUC,GAEtB,IAAIC,IAAkBhwH,KAAK4nH,yBACvByH,EAAWrvH,KAAK4nH,0BAA4B5nH,KAAK2nH,iBAEjDoI,GAEIC,GAAiBhwH,KAAKqrH,sBAAwBhrH,EAAOs8B,aAAa0tF,YAG9DgF,IAAarvH,KAAKgd,KAAK+Q,SAEvB/tB,KAAKwpH,oBACDjgC,YAAa8lC,EAAS1vG,MAAM9N,MAC5B23E,aAAc6lC,EAAS1vG,MAAM7N,QAGjCu9G,EAAS1vG,MAAM9N,MAAQ,OACvBw9G,EAAS1vG,MAAM7N,OAAS,SAO5B9R,KAAKwpH,qBAEL6F,EAAS1vG,MAAM9N,MAAQ7R,KAAKwpH,mBAAmBjgC,YAC/C8lC,EAAS1vG,MAAM7N,OAAS9R,KAAKwpH,mBAAmBhgC,aAEhDxpF,KAAKwpH,mBAAqB,MAI9BxpH,KAAKwrH,iBAAiBxrH,KAAKypH,UAAU53G,MAAO7R,KAAKypH,UAAU33G,QAAQ,GACnE9R,KAAK2tH,gBAYb5C,iBAAkB,SAAUl8F,GAExB7uB,KAAK6uB,MAAQA,EAET7uB,KAAKwtH,cAELxtH,KAAK8vH,gBAAe,GAEpB9vH,KAAKysH,eACLzsH,KAAKyrH,aAAY,KAIjBzrH,KAAK8vH,gBAAe,GAEpB9vH,KAAKyvH,uBAELzvH,KAAKysH,eACLzsH,KAAKyrH,aAAY,IAGrBzrH,KAAK8nH,mBAAmBzmG,SAASrhB,KAAMA,KAAK6R,MAAO7R,KAAK8R,SAY5Dm5G,gBAAiB,SAAUp8F,GAEvB7uB,KAAK6uB,MAAQA,EAEb7uB,KAAKyvH,uBAELnnH,QAAQG,KAAK,+FAEbzI,KAAK+nH,kBAAkB1mG,SAASrhB,OAmBpCiwH,YAAa,SAAU11F,EAAQ1oB,EAAOC,EAAQo+G,GAM1C,QAJc3lH,IAAVsH,IAAuBA,EAAQ7R,KAAK6R,YACzBtH,IAAXuH,IAAwBA,EAAS9R,KAAK8R,aACxBvH,IAAd2lH,IAA2BA,GAAY,IAEtC31F,IAAWA,EAAc,MAE1B,OAAOA,EAMX,GAHAA,EAAOvjB,MAAM7Q,EAAI,EACjBo0B,EAAOvjB,MAAM9J,EAAI,EAEZqtB,EAAO1oB,OAAS,GAAO0oB,EAAOzoB,QAAU,GAAOD,GAAS,GAAOC,GAAU,EAE1E,OAAOyoB,EAGX,IAAI41F,EAAUt+G,EACVu+G,EAAW71F,EAAOzoB,OAASD,EAAS0oB,EAAO1oB,MAE3Cw+G,EAAW91F,EAAO1oB,MAAQC,EAAUyoB,EAAOzoB,OAC3Cw+G,EAAUx+G,EAEVy+G,EAAgBF,EAAUx+G,EA0B9B,OAtBI0+G,EAFAA,EAEeL,GAICA,IAKhB31F,EAAO1oB,MAAQ5L,KAAKI,MAAM8pH,GAC1B51F,EAAOzoB,OAAS7L,KAAKI,MAAM+pH,KAI3B71F,EAAO1oB,MAAQ5L,KAAKI,MAAMgqH,GAC1B91F,EAAOzoB,OAAS7L,KAAKI,MAAMiqH,IAOxB/1F,GAWXjU,QAAS,WAELtmB,KAAKgd,KAAKiI,SAASK,OAAOtlB,KAAKkrH,aAAclrH,MAE7CiI,OAAOkoB,oBAAoB,oBAAqBnwB,KAAK0qH,oBAAoB,GACzEziH,OAAOkoB,oBAAoB,SAAUnwB,KAAK4qH,eAAe,GAErD5qH,KAAKsoH,cAAcC,qBAEnB/5F,SAAS2B,oBAAoB,yBAA0BnwB,KAAK8qH,mBAAmB,GAC/Et8F,SAAS2B,oBAAoB,sBAAuBnwB,KAAK8qH,mBAAmB,GAC5Et8F,SAAS2B,oBAAoB,qBAAsBnwB,KAAK8qH,mBAAmB,GAC3Et8F,SAAS2B,oBAAoB,mBAAoBnwB,KAAK8qH,mBAAmB,GAEzEt8F,SAAS2B,oBAAoB,wBAAyBnwB,KAAKgrH,kBAAkB,GAC7Ex8F,SAAS2B,oBAAoB,qBAAsBnwB,KAAKgrH,kBAAkB,GAC1Ex8F,SAAS2B,oBAAoB,oBAAqBnwB,KAAKgrH,kBAAkB,GACzEx8F,SAAS2B,oBAAoB,kBAAmBnwB,KAAKgrH,kBAAkB,MAOnF3qH,EAAOs8B,aAAap2B,UAAU8B,YAAchI,EAAOs8B,aAYnDl1B,OAAOmF,eAAevM,EAAOs8B,aAAap2B,UAAW,kBAEjDmG,IAAK,WAED,OAAI1M,KAAKipH,gBACJjpH,KAAKwtH,cAAgBxtH,KAAK0nH,yBAA2B1nH,KAAK4nH,yBAEpD,KAGM5nH,KAAKgd,KAAK+Q,QAAU/tB,KAAKgd,KAAK+Q,OAAO+lE,YAEjC,QA2C7BrsF,OAAOmF,eAAevM,EAAOs8B,aAAap2B,UAAW,aAEjDmG,IAAK,WAED,OAAO1M,KAAK8oH,YAIhBn8G,IAAK,SAAUzC,GAaX,OAXIA,IAAUlK,KAAK8oH,aAEV9oH,KAAKwtH,eAENxtH,KAAKwrH,iBAAiBxrH,KAAKypH,UAAU53G,MAAO7R,KAAKypH,UAAU33G,QAAQ,GACnE9R,KAAKyrH,aAAY,IAGrBzrH,KAAK8oH,WAAa5+G,GAGflK,KAAK8oH,cAcpBrhH,OAAOmF,eAAevM,EAAOs8B,aAAap2B,UAAW,uBAEjDmG,IAAK,WAED,OAAO1M,KAAKgpH,sBAIhBr8G,IAAK,SAAUzC,GAmBX,OAjBIA,IAAUlK,KAAKgpH,uBAGXhpH,KAAKwtH,cAELxtH,KAAK8vH,gBAAe,GACpB9vH,KAAKgpH,qBAAuB9+G,EAC5BlK,KAAK8vH,gBAAe,GAEpB9vH,KAAKyrH,aAAY,IAIjBzrH,KAAKgpH,qBAAuB9+G,GAI7BlK,KAAKgpH,wBAgBpBvhH,OAAOmF,eAAevM,EAAOs8B,aAAap2B,UAAW,oBAEjDmG,IAAK,WAED,OAAO1M,KAAKwtH,aAAextH,KAAKgpH,qBAAuBhpH,KAAK8oH,cAkBpErhH,OAAOmF,eAAevM,EAAOs8B,aAAap2B,UAAW,yBAEjDmG,IAAK,WAED,OAAO1M,KAAKqnH,wBAIhB16G,IAAK,SAAUzC,GAEPA,IAAUlK,KAAKqnH,yBAEfrnH,KAAKqnH,uBAAyBn9G,EAC9BlK,KAAKyrH,aAAY,OA0B7BhkH,OAAOmF,eAAevM,EAAOs8B,aAAap2B,UAAW,uBAEjDmG,IAAK,WAED,OAAO1M,KAAKsnH,sBAIhB36G,IAAK,SAAUzC,GAEPA,IAAUlK,KAAKsnH,uBAEftnH,KAAKsnH,qBAAuBp9G,EAC5BlK,KAAKyrH,aAAY,OAa7BhkH,OAAOmF,eAAevM,EAAOs8B,aAAap2B,UAAW,gBAEjDmG,IAAK,WACD,SAAU8hB,SAA4B,mBAClCA,SAAkC,yBAClCA,SAA+B,sBAC/BA,SAA8B,wBAY1C/mB,OAAOmF,eAAevM,EAAOs8B,aAAap2B,UAAW,cAEjDmG,IAAK,WACD,MAA4D,aAArD1M,KAAK6sH,oBAAoB7sH,KAAKgoH,sBAY7CvgH,OAAOmF,eAAevM,EAAOs8B,aAAap2B,UAAW,eAEjDmG,IAAK,WACD,MAA4D,cAArD1M,KAAK6sH,oBAAoB7sH,KAAKgoH,sBAe7CvgH,OAAOmF,eAAevM,EAAOs8B,aAAap2B,UAAW,kBAEjDmG,IAAK,WACD,OAAQ1M,KAAK8R,OAAS9R,KAAK6R,SAenCpK,OAAOmF,eAAevM,EAAOs8B,aAAap2B,UAAW,mBAEjDmG,IAAK,WACD,OAAQ1M,KAAK6R,MAAQ7R,KAAK8R,UA2BlCzR,EAAO6I,MAAMq0B,MAAQ,SAAUvgB,GAK3Bhd,KAAKgd,KAAOA,EAKZhd,KAAKu6B,OAAS,KAKdv6B,KAAKwwH,IAAM,KAKXxwH,KAAK+tB,OAAS,KAKd/tB,KAAK6mB,QAAU,KAMf7mB,KAAK62D,KAAO,eAMZ72D,KAAKywH,YAAc,IAMnBzwH,KAAKo8E,WAAa,GAMlBp8E,KAAKwjE,UAAY,EAMjBxjE,KAAK0wH,cAAe,EAMpB1wH,KAAKmiF,SAAW,EAMhBniF,KAAKoiF,SAAW,EAMhBpiF,KAAK2wH,aAAe,EAMpB3wH,KAAKgqB,OAAQ,EAObhqB,KAAKw9B,YAAa,EAMlBx9B,KAAK4wH,MAAQ,KAMb5wH,KAAK6wH,MAAQ,MAIjBxwH,EAAO6I,MAAMq0B,MAAMh3B,WAQf6Y,KAAM,WAEEpf,KAAKgd,KAAK4J,aAAevmB,EAAOI,OAEhCT,KAAK6mB,QAAU7mB,KAAKgd,KAAK6J,SAIzB7mB,KAAKwwH,IAAM,IAAInwH,EAAOoyD,WAAWzyD,KAAKgd,KAAM,UAAWhd,KAAKgd,KAAKnL,MAAO7R,KAAKgd,KAAKlL,QAAQ,GAC1F9R,KAAKu6B,OAASv6B,KAAKgd,KAAKoF,KAAKuJ,MAAM,EAAG,EAAG3rB,KAAKwwH,KAC9CxwH,KAAKgd,KAAKuC,MAAMC,SAASxf,KAAKu6B,QAE9Bv6B,KAAKgd,KAAKhG,MAAMoyG,aAAa71G,IAAIvT,KAAKqb,OAAQrb,MAE9CA,KAAK+tB,OAAS1tB,EAAO6jC,WAAWjhB,OAAOjjB,KAAMA,KAAKgd,KAAKnL,MAAO7R,KAAKgd,KAAKlL,QACxE9R,KAAK6mB,QAAU7mB,KAAK+tB,OAAOoW,WAAW,OAG1CnkC,KAAK4wH,MAAQ,IAAIvwH,EAAO6R,KACxBlS,KAAK6wH,MAAQ,IAAIxwH,EAAO2N,WAW5BqN,OAAQ,WAEJrb,KAAKwwH,IAAIn1G,OAAOrb,KAAKgd,KAAKnL,MAAO7R,KAAKgd,KAAKlL,QAE3C9R,KAAK+tB,OAAOlc,MAAQ7R,KAAKgd,KAAKnL,MAC9B7R,KAAK+tB,OAAOjc,OAAS9R,KAAKgd,KAAKlL,QAUnC2N,UAAW,WAEHzf,KAAKgqB,OAAShqB,KAAKu6B,SAEnBv6B,KAAKwwH,IAAI9vG,QACT1gB,KAAKwwH,IAAIhyD,KAAKx+D,KAAK+tB,OAAQ,EAAG,GAE9B/tB,KAAK6mB,QAAQkwB,UAAU,EAAG,EAAG/2C,KAAKgd,KAAKnL,MAAO7R,KAAKgd,KAAKlL,QACxD9R,KAAKgqB,OAAQ,IAUrB/H,MAAO,WAECjiB,KAAK6mB,SAEL7mB,KAAK6mB,QAAQkwB,UAAU,EAAG,EAAG/2C,KAAKgd,KAAKnL,MAAO7R,KAAKgd,KAAKlL,QAGxD9R,KAAKu6B,QAELv6B,KAAKwwH,IAAI9vG,SAejB3P,MAAO,SAAU5K,EAAG+G,EAAGsT,EAAOiwG,GAET,iBAANtqH,IAAkBA,EAAI,GAChB,iBAAN+G,IAAkBA,EAAI,GACjCsT,EAAQA,GAAS,wBACGjW,IAAhBkmH,IAA6BA,EAAc,GAE/CzwH,KAAKmiF,SAAWh8E,EAChBnG,KAAKoiF,SAAWl1E,EAChBlN,KAAK8wH,aAAetwG,EACpBxgB,KAAKywH,YAAcA,EAEnBzwH,KAAKgqB,OAAQ,EAEbhqB,KAAK6mB,QAAQC,OACb9mB,KAAK6mB,QAAQE,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GACzC/mB,KAAK6mB,QAAQ48C,YAAcjjD,EAC3BxgB,KAAK6mB,QAAQ43C,UAAYj+C,EACzBxgB,KAAK6mB,QAAQgwC,KAAO72D,KAAK62D,KACzB72D,KAAK6mB,QAAQq1C,YAAcl8D,KAAK2wH,cAUpC/wF,KAAM,WAEF5/B,KAAK6mB,QAAQG,WAUjBlU,KAAM,WAIF,IAAK,IAFD3M,EAAInG,KAAKmiF,SAEJn6E,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAE9BhI,KAAK0wH,eAEL1wH,KAAK6mB,QAAQ43C,UAAY,aACzBz+D,KAAK6mB,QAAQq8C,SAASj8D,UAAUe,GAAI7B,EAAI,EAAGnG,KAAKoiF,SAAW,GAC3DpiF,KAAK6mB,QAAQ43C,UAAYz+D,KAAK8wH,cAGlC9wH,KAAK6mB,QAAQq8C,SAASj8D,UAAUe,GAAI7B,EAAGnG,KAAKoiF,UAE5Cj8E,GAAKnG,KAAKywH,YAGdzwH,KAAKoiF,UAAYpiF,KAAKo8E,YAa1B20C,UAAW,SAAUvuG,EAAOrc,EAAG+G,EAAGsT,GAE9BxgB,KAAK+Q,MAAM5K,EAAG+G,EAAGsT,GACjBxgB,KAAK8S,KAAK,UAAY0P,EAAM3Y,IAAM,YAAc2Y,EAAMxF,KAAKwF,MAAM0rF,aACjEluG,KAAK8S,KAAK,cAAgB9S,KAAKgd,KAAKqF,MAAMkuF,aAAa/tF,EAAM3Y,KAAO,sBAAwB2Y,EAAM2/F,iBAClGniH,KAAK8S,KAAK,YAAc0P,EAAM4hG,UAAY,cAAgB5hG,EAAMyrF,YAChEjuG,KAAK8S,KAAK,mBAAqB0P,EAAMm/F,cAAgB,aAAen/F,EAAM6kF,WAC1ErnG,KAAK8S,KAAK,SAAW0P,EAAMo/F,aAC3B5hH,KAAK8S,KAAK,WAAa0P,EAAMhG,OAAS,WAAagG,EAAMmiG,MACzD3kH,KAAK8S,KAAK,aAAe0P,EAAMi3F,cAAgB,WAAaj3F,EAAMk3F,eAEtC,KAAxBl3F,EAAMy/F,gBAENjiH,KAAK8S,KAAK,WAAa0P,EAAMy/F,cAAgB,cAAgBz/F,EAAMnE,SAAW,SAAWmE,EAAMq/F,WAAa,KAC5G7hH,KAAK8S,KAAK,UAAY0P,EAAMk/F,QAAQl/F,EAAMy/F,eAAelxG,MAAQ,UAAYyR,EAAMk/F,QAAQl/F,EAAMy/F,eAAeriF,MAChH5/B,KAAK8S,KAAK,aAAe0P,EAAM1G,WAGnC9b,KAAK4/B,QAYTvgB,OAAQ,SAAUA,EAAQmB,EAAOwwG,GAE7B,IAAI5zG,EAAWiC,EAAOjC,SAClBlW,EAASmY,EAAOnY,OAChBgW,EAAOmC,EAAOnC,KAEdE,IAEApd,KAAK6wH,MAAM5iH,MAAMiP,EAAK/W,EAAIiX,EAASjX,EAAG+W,EAAKhQ,EAAIkQ,EAASlQ,EAAGkQ,EAASvL,MAAOuL,EAAStL,QACpF9R,KAAKixH,UAAUjxH,KAAK6wH,MAAOrwG,EAAOwwG,IAGlC9pH,IAEAlH,KAAK4wH,MAAM3iH,MAAMiP,EAAKzK,QAASyK,EAAKxK,QAASxL,EAAOf,EAAGe,EAAOgG,GAC9DlN,KAAKkxH,KAAKlxH,KAAK4wH,MAAOpwG,EAAOwwG,GAC7BhxH,KAAKkxH,KAAKhqH,EAAQsZ,GAAO,EAAO,KAcxC2wG,WAAY,SAAU9xG,EAAQlZ,EAAG+G,EAAGsT,GAEhC,IAAIrD,EAASkC,EAAOlC,OAChBC,EAAWiC,EAAOjC,SAClBlW,EAASmY,EAAOnY,OAChBgW,EAAOmC,EAAOnC,KAElBld,KAAK+Q,MAAM5K,EAAG+G,EAAGsT,GACjBxgB,KAAK8S,KAAK,WAAauM,EAAOxN,MAAQ,MAAQwN,EAAOvN,OAAS,KAC9D9R,KAAK8S,KAAK,MAAQuM,EAAOlZ,EAAI,OAASkZ,EAAOnS,GAEzCiQ,GAEAnd,KAAK8S,KAAK,aAAeqK,EAAOhX,EAAI,OAASgX,EAAOjQ,EAAI,OAASiQ,EAAOtL,MAAQ,OAASsL,EAAOrL,QAGpG9R,KAAK8S,KAAK,WAAaoK,EAAK/W,EAAI,OAAS+W,EAAKhQ,EAAI,OAASgQ,EAAKrL,MAAQ,OAASqL,EAAKpL,QACtF9R,KAAK8S,KAAK,cAAgBsK,EAAY,MAAQA,EAASjX,EAAI,OAASiX,EAASlQ,EAAI,OAASkQ,EAASvL,MAAQ,OAASuL,EAAStL,OAAUsL,IACvIpd,KAAK8S,KAAK,kBAAoBuM,EAAO5B,aACrCzd,KAAK8S,KAAK,gBAAkBuM,EAAO9B,QAAQpX,EAAI,OAASkZ,EAAO9B,QAAQrQ,GACvElN,KAAK8S,KAAK,YAAc5L,EAAUA,EAAO8C,MAAQ9C,EAAUA,IAC3DlH,KAAK4/B,QAaTglE,MAAO,SAAUA,EAAOz+F,EAAG+G,EAAGsT,GAE1BxgB,KAAK+Q,MAAM5K,EAAG+G,EAAGsT,GACjBxgB,KAAK8S,KAAK,mBAAqB8xF,EAAMQ,QAAU,aAAeR,EAAMS,QAAU,KAC9ErlG,KAAK8S,KAAK,cAAgB8xF,EAAM3wE,KAAO,cAAgB2wE,EAAMvmF,UAC7Dre,KAAK8S,KAAK,WAAa8xF,EAAMxhF,OAAS,YAAcwhF,EAAM78F,QAC1D/H,KAAK4/B,QAcTvU,QAAS,SAAUA,EAAS+lG,EAAUC,EAAWC,EAAS9wG,GAEvC,MAAX6K,SAKa9gB,IAAb6mH,IAA0BA,GAAW,GACzCC,EAAYA,GAAa,oBACzBC,EAAUA,GAAW,qBAEJ,IAAbF,IAAsC,IAAjB/lG,EAAQygB,OAKjC9rC,KAAK+Q,MAAMsa,EAAQllB,EAAGklB,EAAQne,EAAI,IAAKsT,GACvCxgB,KAAK6mB,QAAQs8C,YACbnjE,KAAK6mB,QAAQu8C,IAAI/3C,EAAQllB,EAAGklB,EAAQne,EAAGme,EAAQyV,OAAOhzB,OAAQ,EAAa,EAAV7H,KAAKsH,IAElE8d,EAAQhE,OAERrnB,KAAK6mB,QAAQ43C,UAAY4yD,EAIzBrxH,KAAK6mB,QAAQ43C,UAAY6yD,EAG7BtxH,KAAK6mB,QAAQ2f,OACbxmC,KAAK6mB,QAAQw8C,YAGbrjE,KAAK6mB,QAAQs8C,YACbnjE,KAAK6mB,QAAQy8C,OAAOj4C,EAAQmjB,aAAaroC,EAAGklB,EAAQmjB,aAAathC,GACjElN,KAAK6mB,QAAQ08C,OAAOl4C,EAAQvP,SAAS3V,EAAGklB,EAAQvP,SAAS5O,GACzDlN,KAAK6mB,QAAQ28C,UAAY,EACzBxjE,KAAK6mB,QAAQ68C,SACb1jE,KAAK6mB,QAAQw8C,YAGbrjE,KAAK8S,KAAK,OAASuY,EAAQvU,GAAK,YAAcuU,EAAQhE,QACtDrnB,KAAK8S,KAAK,YAAcuY,EAAQkmG,OAAS,aAAelmG,EAAQmmG,QAChExxH,KAAK8S,KAAK,aAAeuY,EAAQllB,EAAI,cAAgBklB,EAAQne,EAAI,QAAUme,EAAQ8d,YACnFnpC,KAAK8S,KAAK,aAAeuY,EAAQhN,SAAW,OAC5Cre,KAAK8S,KAAK,YAAcuY,EAAQwgB,OAAS,WAAaxgB,EAAQygB,MAC9D9rC,KAAK4/B,UAaT6xF,gBAAiB,SAAUl3F,EAAQp0B,EAAG+G,EAAGsT,GAErCxgB,KAAK+Q,MAAM5K,EAAG+G,EAAGsT,GACjBxgB,KAAK8S,KAAK,kBAAoBynB,EAAO1oB,MAAQ,MAAQ0oB,EAAOzoB,OAAS,KACrE9R,KAAK8S,KAAK,MAAQynB,EAAOjY,MAAMuzB,WAAWvqB,QAAQ,GAAK,OAASiP,EAAOjY,MAAMwzB,WAAWxqB,QAAQ,IAChGtrB,KAAK8S,KAAK,SAAWynB,EAAOjY,MAAM6zB,cAAgB,cAAgB5b,EAAOjY,MAAM+1B,eAAe/sB,QAAQ,IACtGtrB,KAAK8S,KAAK,SAAWynB,EAAOjY,MAAMyzB,cAAgB,cAAgBxb,EAAOjY,MAAM6yB,eAAe7pB,QAAQ,IACtGtrB,KAAK8S,KAAK,cAAgBynB,EAAOjY,MAAM61B,WAAa,cAAgB5d,EAAOjY,MAAMg2B,WACjFt4C,KAAK4/B,QAaT/1B,IAAK,SAAUA,EAAK1D,EAAG+G,EAAGsT,GAEtBxgB,KAAK+Q,MAAM5K,EAAG+G,EAAGsT,EAAO,KAExBxgB,KAAK8S,KAAK,OAAQjJ,EAAI+4C,QAAS,UAAW/4C,EAAIgiC,QAC9C7rC,KAAK8S,KAAK,YAAajJ,EAAI6nH,SAAU,UAAW7nH,EAAI8nH,QACpD3xH,KAAK8S,KAAK,aAAcjJ,EAAIkiC,SAASzgB,QAAQ,GAAI,YAAazhB,EAAIwU,SAASiN,QAAQ,IAEnFtrB,KAAK4/B,QAYTgyF,UAAW,SAAUzrH,EAAG+G,EAAGsT,GAEvBxgB,KAAK+Q,MAAM5K,EAAG+G,EAAGsT,GACjBxgB,KAAK8S,KAAK,SACV9S,KAAK8S,KAAK,MAAQ9S,KAAKgd,KAAKsF,MAAMnc,EAAI,OAASnG,KAAKgd,KAAKsF,MAAMpV,GAC/DlN,KAAK8S,KAAK,YAAc9S,KAAKgd,KAAKsF,MAAMivG,OAAS,aAAevxH,KAAKgd,KAAKsF,MAAMkvG,QAChFxxH,KAAK8S,KAAK,YAAc9S,KAAKgd,KAAKsF,MAAMtL,MAAM7Q,EAAEmlB,QAAQ,GAAK,aAAetrB,KAAKgd,KAAKsF,MAAMtL,MAAM7Q,EAAEmlB,QAAQ,IAC5GtrB,KAAK8S,KAAK,aAAe9S,KAAKgd,KAAKsF,MAAM8f,cAAcwL,QAAU,cAAgB5tC,KAAKgd,KAAKsF,MAAM8f,cAAcyL,SAC/G7tC,KAAK4/B,QAYTiyF,aAAc,SAAUt3F,EAAQ/Z,EAAOwwG,GAEnC,IAAI7zG,EAASod,EAAOxsB,YAEpBoP,EAAOhX,GAAKnG,KAAKgd,KAAKqC,OAAOlZ,EAC7BgX,EAAOjQ,GAAKlN,KAAKgd,KAAKqC,OAAOnS,EAE7BlN,KAAKixH,UAAU9zG,EAAQqD,EAAOwwG,IAYlCc,aAAc,SAAUh8D,EAAMt1C,EAAOwwG,GAEjC,IAEIp7G,EAAO5V,KAFI81D,EAAKue,SAIX1sE,QAAQ,SAASoqH,GACtBn8G,EAAKq7G,UAAUc,EAASvxG,EAAOwwG,IAChChxH,OAaPgyH,WAAY,SAAUz3F,EAAQp0B,EAAG+G,EAAGsT,GAEhCxgB,KAAK+Q,MAAM5K,EAAG+G,EAAGsT,GAEjBxgB,KAAK8S,KAAK,aAAoBynB,EAAO1oB,MAAQ,MAAQ0oB,EAAOzoB,OAAS,aAAeyoB,EAAO1O,OAAO1lB,EAAI,MAAQo0B,EAAO1O,OAAO3e,GAC5HlN,KAAK8S,KAAK,MAAQynB,EAAOp0B,EAAEmlB,QAAQ,GAAK,OAASiP,EAAOrtB,EAAEoe,QAAQ,IAClEtrB,KAAK8S,KAAK,UAAYynB,EAAO5rB,MAAM2c,QAAQ,GAAK,cAAgBiP,EAAOP,SAAS1O,QAAQ,IACxFtrB,KAAK8S,KAAK,YAAcynB,EAAOld,QAAU,eAAiBkd,EAAOixB,UACjExrD,KAAK8S,KAAK,aAAeynB,EAAOmxB,QAAQvlD,EAAEmlB,QAAQ,GAAK,OAASiP,EAAOmxB,QAAQx+C,EAAEoe,QAAQ,GAAK,OAASiP,EAAOmxB,QAAQ75C,MAAMyZ,QAAQ,GAAK,OAASiP,EAAOmxB,QAAQ55C,OAAOwZ,QAAQ,IAEhLtrB,KAAK4/B,QAaTqyF,aAAc,SAAU13F,EAAQp0B,EAAG+G,EAAGsT,GAElCxgB,KAAK+Q,MAAM5K,EAAG+G,EAAGsT,EAAO,KAEpB+Z,EAAOvwB,MAEPhK,KAAK8S,KAAKynB,EAAOvwB,MAGrBhK,KAAK8S,KAAK,KAAMynB,EAAOp0B,EAAEmlB,QAAQ,GAAI,KAAMiP,EAAOrtB,EAAEoe,QAAQ,IAC5DtrB,KAAK8S,KAAK,SAAUynB,EAAOze,SAAS3V,EAAEmlB,QAAQ,GAAI,SAAUiP,EAAOze,SAAS5O,EAAEoe,QAAQ,IACtFtrB,KAAK8S,KAAK,WAAYynB,EAAOtd,MAAM9W,EAAEmlB,QAAQ,GAAI,WAAYiP,EAAOtd,MAAM/P,EAAEoe,QAAQ,IAEpFtrB,KAAK4/B,QAaTsyF,SAAU,SAAUp/G,EAAM3M,EAAG+G,EAAGsT,GAE5BxgB,KAAK+Q,MAAM5K,EAAG+G,EAAGsT,EAAO,IACxBxgB,KAAK8S,KAAK,WAAYA,EAAK/B,MAAM5K,EAAEmlB,QAAQ,GAAI,WAAYxY,EAAK/B,MAAM7D,EAAEoe,QAAQ,IAChFtrB,KAAK8S,KAAK,SAAUA,EAAKhC,IAAI3K,EAAEmlB,QAAQ,GAAI,SAAUxY,EAAKhC,IAAI5D,EAAEoe,QAAQ,IACxEtrB,KAAK8S,KAAK,UAAWA,EAAK/K,OAAOujB,QAAQ,GAAI,SAAUxY,EAAKnE,OAC5D3O,KAAK4/B,QAaTo/B,MAAO,SAAU74D,EAAG+G,EAAGsT,EAAO3V,GAE1BA,EAAOA,GAAQ,EAEf7K,KAAK+Q,QACL/Q,KAAK6mB,QAAQ43C,UAAYj+C,EACzBxgB,KAAK6mB,QAAQ63C,SAASv4D,EAAG+G,EAAGrC,EAAMA,GAClC7K,KAAK4/B,QAaTsxF,KAAM,SAAU34F,EAAQ/X,EAAOwwG,EAAQmB,QAEpB5nH,IAAXymH,IAAwBA,GAAS,QACnBzmH,IAAd4nH,IAA2BA,EAAY,GAE3C3xG,EAAQA,GAAS,oBAEjBxgB,KAAK+Q,QAEL/Q,KAAK6mB,QAAQ43C,UAAYj+C,EACzBxgB,KAAK6mB,QAAQ48C,YAAcjjD,EAC3BxgB,KAAK6mB,QAAQ28C,UAAYxjE,KAAKwjE,UAE1BjrC,aAAkBl4B,EAAO2N,WAA2B,IAAdmkH,EAElCnB,EAEAhxH,KAAK6mB,QAAQ63C,SAASnmC,EAAOpyB,EAAInG,KAAKgd,KAAKqC,OAAOlZ,EAAGoyB,EAAOrrB,EAAIlN,KAAKgd,KAAKqC,OAAOnS,EAAGqrB,EAAO1mB,MAAO0mB,EAAOzmB,QAIzG9R,KAAK6mB,QAAQiqD,WAAWv4C,EAAOpyB,EAAInG,KAAKgd,KAAKqC,OAAOlZ,EAAGoyB,EAAOrrB,EAAIlN,KAAKgd,KAAKqC,OAAOnS,EAAGqrB,EAAO1mB,MAAO0mB,EAAOzmB,QAG1GymB,aAAkBl4B,EAAO4M,QAAwB,IAAdklH,GAExCnyH,KAAK6mB,QAAQs8C,YACbnjE,KAAK6mB,QAAQu8C,IAAI7qC,EAAOpyB,EAAInG,KAAKgd,KAAKqC,OAAOlZ,EAAGoyB,EAAOrrB,EAAIlN,KAAKgd,KAAKqC,OAAOnS,EAAGqrB,EAAOzqB,OAAQ,EAAa,EAAV7H,KAAKsH,IAAQ,GAC9GvN,KAAK6mB,QAAQw8C,YAET2tD,EAEAhxH,KAAK6mB,QAAQ2f,OAIbxmC,KAAK6mB,QAAQ68C,UAGZnrC,aAAkBl4B,EAAOoN,OAAuB,IAAd0kH,EAEvCnyH,KAAK6mB,QAAQ63C,SAASnmC,EAAOpyB,EAAInG,KAAKgd,KAAKqC,OAAOlZ,EAAGoyB,EAAOrrB,EAAIlN,KAAKgd,KAAKqC,OAAOnS,EAAG,EAAG,GAElFqrB,aAAkBl4B,EAAO6R,MAAsB,IAAdigH,GAEtCnyH,KAAK6mB,QAAQs8C,YACbnjE,KAAK6mB,QAAQy8C,OAAQ/qC,EAAOxnB,MAAM5K,EAAI,GAAOnG,KAAKgd,KAAKqC,OAAOlZ,EAAIoyB,EAAOxnB,MAAM7D,EAAI,GAAOlN,KAAKgd,KAAKqC,OAAOnS,GAC3GlN,KAAK6mB,QAAQ08C,OAAQhrC,EAAOznB,IAAI3K,EAAI,GAAOnG,KAAKgd,KAAKqC,OAAOlZ,EAAIoyB,EAAOznB,IAAI5D,EAAI,GAAOlN,KAAKgd,KAAKqC,OAAOnS,GACvGlN,KAAK6mB,QAAQw8C,YACbrjE,KAAK6mB,QAAQ68C,WAERnrC,aAAkBl4B,EAAOuR,SAAyB,IAAdugH,KAEzCnyH,KAAK6mB,QAAQs8C,YACbnjE,KAAK6mB,QAAQurG,QAAQ75F,EAAOpyB,EAAInG,KAAKgd,KAAKqC,OAAOlZ,EAAGoyB,EAAOrrB,EAAIlN,KAAKgd,KAAKqC,OAAOnS,EAAGqrB,EAAO1mB,MAAM,EAAG0mB,EAAOzmB,OAAO,EAAG,EAAE,EAAI7L,KAAKsH,IAAG,GAClIvN,KAAK6mB,QAAQw8C,YAET2tD,EAEAhxH,KAAK6mB,QAAQ2f,OAIbxmC,KAAK6mB,QAAQ68C,UAIrB1jE,KAAK4/B,QAYTqxF,UAAW,SAAU14F,EAAQ/X,EAAOwwG,QAEjBzmH,IAAXymH,IAAwBA,GAAS,GAErCxwG,EAAQA,GAAS,uBAEjBxgB,KAAK+Q,QAEDigH,GAEAhxH,KAAK6mB,QAAQ43C,UAAYj+C,EACzBxgB,KAAK6mB,QAAQ63C,SAASnmC,EAAOpyB,EAAInG,KAAKgd,KAAKqC,OAAOlZ,EAAGoyB,EAAOrrB,EAAIlN,KAAKgd,KAAKqC,OAAOnS,EAAGqrB,EAAO1mB,MAAO0mB,EAAOzmB,UAIzG9R,KAAK6mB,QAAQ28C,UAAYxjE,KAAKwjE,UAC9BxjE,KAAK6mB,QAAQ48C,YAAcjjD,EAC3BxgB,KAAK6mB,QAAQiqD,WAAWv4C,EAAOpyB,EAAInG,KAAKgd,KAAKqC,OAAOlZ,EAAGoyB,EAAOrrB,EAAIlN,KAAKgd,KAAKqC,OAAOnS,EAAGqrB,EAAO1mB,MAAO0mB,EAAOzmB,SAG/G9R,KAAK4/B,QAcTo2B,KAAM,SAAUA,EAAM7vD,EAAG+G,EAAGsT,EAAOq2C,GAE/Br2C,EAAQA,GAAS,mBACjBq2C,EAAOA,GAAQ,eAEf72D,KAAK+Q,QACL/Q,KAAK6mB,QAAQgwC,KAAOA,EAEhB72D,KAAK0wH,eAEL1wH,KAAK6mB,QAAQ43C,UAAY,aACzBz+D,KAAK6mB,QAAQq8C,SAASlN,EAAM7vD,EAAI,EAAG+G,EAAI,IAG3ClN,KAAK6mB,QAAQ43C,UAAYj+C,EACzBxgB,KAAK6mB,QAAQq8C,SAASlN,EAAM7vD,EAAG+G,GAE/BlN,KAAK4/B,QAWTyyF,SAAU,SAAUC,EAAU9xG,GAE1BA,EAAQA,GAAS,oBAEjBxgB,KAAK+Q,QAEL,IAAIoM,EAASm1G,EAASn1G,OAEtB,GAA8B,IAA1Bm1G,EAASh4B,MAAMvyF,OACnB,CACI/H,KAAK6mB,QAAQ48C,YAAcjjD,EAC3BxgB,KAAK6mB,QAAQiqD,WAAW3zD,EAAOhX,EAAGgX,EAAOjQ,EAAGiQ,EAAOtL,MAAOsL,EAAOrL,QACjE9R,KAAKg2D,KAAK,SAAWs8D,EAASj4B,QAAQtyF,OAAQoV,EAAOhX,EAAI,EAAGgX,EAAOjQ,EAAI,GAAI,eAAgB,gBAE3FlN,KAAK6mB,QAAQ48C,YAAc,eAE3B,IAASz7D,EAAI,EAAGA,EAAIsqH,EAASj4B,QAAQtyF,OAAQC,IAEzChI,KAAK6mB,QAAQiqD,WAAWwhD,EAASj4B,QAAQryF,GAAG7B,EAAGmsH,EAASj4B,QAAQryF,GAAGkF,EAAGolH,EAASj4B,QAAQryF,GAAG6J,MAAOygH,EAASj4B,QAAQryF,GAAG8J,aAKzH,IAAK,IAAI9J,EAAI,EAAGA,EAAIsqH,EAASh4B,MAAMvyF,OAAQC,IAEvChI,KAAKqyH,SAASC,EAASh4B,MAAMtyF,IAIrChI,KAAK4/B,QAcTrN,KAAM,SAAUgI,EAAQ/Z,EAAOwwG,GAEvBz2F,EAAOhI,OAEPvyB,KAAK+Q,QAEDwpB,EAAOhI,KAAKnqB,OAAS/H,EAAOmwB,QAAQC,OAEpCpwB,EAAOmwB,QAAQkmC,OAAO67D,KAAKpvG,OAAOnjB,KAAK6mB,QAAS0T,EAAOhI,KAAM/R,EAAOwwG,EAAQhxH,KAAKwjE,WAE5EjpC,EAAOhI,KAAKnqB,OAAS/H,EAAOmwB,QAAQgiG,MAEzCnyH,EAAOmwB,QAAQiiG,MAAMF,KAAKpvG,OAAOnjB,KAAK6mB,QAAS0T,EAAOhI,KAAM/R,EAAOwwG,GAE9Dz2F,EAAOhI,KAAKnqB,OAAS/H,EAAOmwB,QAAQkiG,OAEzCryH,EAAOmwB,QAAQmiG,MAAMC,WAAW5yH,KAAK6mB,QAAS0T,EAAOhI,KAAM/R,GAG/DxgB,KAAK4/B,SAcbizF,SAAU,SAAUt4F,EAAQp0B,EAAG+G,EAAGsT,GAE1B+Z,EAAOhI,OAEPvyB,KAAK+Q,MAAM5K,EAAG+G,EAAGsT,EAAO,KAEpB+Z,EAAOhI,KAAKnqB,OAAS/H,EAAOmwB,QAAQC,OAEpCpwB,EAAOmwB,QAAQkmC,OAAO67D,KAAKO,eAAe9yH,KAAMu6B,EAAOhI,MAElDgI,EAAOhI,KAAKnqB,OAAS/H,EAAOmwB,QAAQkiG,OAEzC1yH,KAAKgd,KAAK4F,QAAQmwG,MAAMD,eAAe9yH,KAAMu6B,EAAOhI,MAGxDvyB,KAAK4/B,SAYbozF,WAAY,WAERhzH,KAAK+Q,QAEL/Q,KAAK6mB,QAAQ9P,WAAW/W,KAAKgd,KAAKqC,OAAOnC,KAAK/W,GAAInG,KAAKgd,KAAKqC,OAAOnC,KAAKhQ,EAAG,GAC3ElN,KAAKgd,KAAK4F,QAAQmwG,MAAME,gBAAgBjzH,KAAK6mB,SAE7C7mB,KAAK4/B,QAYTszF,UAAW,SAAU3gG,EAAM/R,GAEvBxgB,KAAK+Q,QACL1Q,EAAOmwB,QAAQmiG,MAAMC,WAAW5yH,KAAK6mB,QAAS0L,EAAM/R,GACpDxgB,KAAK4/B,QAcTuzF,YAAa,SAAU31G,GAanB,QAXsBjT,IAAlBiT,IAA+BA,EAAgBxd,KAAKgd,KAAKC,OAEzDO,EAAc1U,eAAe,iBAE7BR,QAAQC,IAAI,IAAMiV,EAAcsZ,cAAgB,IAAKtZ,GAIrDlV,QAAQC,IAAI,KAAMiV,GAGlBA,EAAc4Q,UAAY5Q,EAAc4Q,SAASrmB,OAAS,EAE1D,IAAK,IAAIC,EAAI,EAAGA,EAAIwV,EAAc4Q,SAASrmB,OAAQC,IAE/ChI,KAAKgd,KAAKqJ,MAAM8sG,YAAY31G,EAAc4Q,SAASpmB,KAc/D4yB,SAAU,SAAUz0B,EAAG+G,EAAGsT,GAEtB,IAAI7S,EAAI3N,KAAKgd,KAAK4d,SACd1hB,EAAIvL,EAAE8tD,cAWV,GATAz7D,KAAK+Q,MAAM5K,EAAG+G,EAAGsT,GAEjBxgB,KAAK8S,MAAMnF,EAAEguD,GAAK,QAAU,UAAY,cAAgBhuD,EAAEkE,MAAQ,MAAQlE,EAAEmE,OAAS,KACrF9R,KAAK8S,KAAK,eAAiBnF,EAAEylH,YAC7BpzH,KAAK8S,KAAK,sBAAwBnF,EAAEstB,mBACpCj7B,KAAK8S,KAAK,eAAiBnF,EAAEyc,YAC7BpqB,KAAK8S,KAAK,gBAAkBnF,EAAE8f,aAC9BztB,KAAK8S,KAAK,kBAENnF,EAAEguD,GACN,CACI37D,KAAK8S,KAAK,8BAA+BnF,EAAE0lH,uBAAuBtrH,OAAS,KAE3E,IAAK,IAAIC,EAAI,EAAGA,EAAI2F,EAAE0lH,uBAAuBtrH,OAAQC,IAEjDhI,KAAK8S,KAAK,OAASnF,EAAE0lH,uBAAuBrrH,IAGhDhI,KAAK8S,KAAK,gBAAkBoG,EAAEu9D,WAC9Bz2E,KAAK8S,KAAK,kBAAoBnF,EAAE2lH,aAChCtzH,KAAK8S,KAAK,qBAAuBnF,EAAE4lH,gBACnCvzH,KAAK8S,KAAK,+BAAiCoG,EAAEs6G,0BAC7CxzH,KAAK8S,KAAK,kBAAoBoG,EAAEujD,kBAIhCz8D,KAAK8S,KAAK,kBAAoBoG,EAAEujD,aAChCz8D,KAAK8S,KAAK,iBAAmC,IAAhBoG,EAAEo5C,UAAkB,SAA4B,IAAhBp5C,EAAEo5C,UAAkB,UAAYp5C,EAAEo5C,YAGnGtyD,KAAK4/B,QAIT6zF,WAAY,SAAUttH,EAAG+G,EAAGsT,EAAOiwG,GAC/B,IAAI5mC,EAAOxpF,EAAO6jC,WAElBlkC,KAAK+Q,MAAM5K,EAAG+G,EAAGsT,EAAOiwG,GAAe,KACvCzwH,KAAK8S,KAAK,eACV9S,KAAK8S,KAAK,QAAS+2E,EAAKE,YACxB/pF,KAAK8S,KAAK,QAAS+2E,EAAKG,WACxBhqF,KAAK8S,KAAK,SAAU+2E,EAAK9hF,QACzB/H,KAAK4/B,QAYT21B,aAAc,SAAU97B,EAAOjZ,EAAOwwG,EAAQ16F,GAE1CmD,EAAM9xB,QAAQ3H,KAAKuyB,KAAMvyB,KAAMs2B,EAAa9V,EAAOwwG,IAYvD0C,OAAQ,SAAUvtH,EAAG+G,EAAGsT,GAEpBxgB,KAAKg2D,KAAK,WAAa31D,EAAOC,QAAU,KACnCN,KAAKgd,KAAK4J,aAAevmB,EAAOK,MAAQ,QAAU,UAAY,KAC9DV,KAAKgd,KAAKsS,OAAO2O,SAAW,WAAa,cAC1C93B,EAAG+G,EAAGsT,EAAOxgB,KAAK62D,OAS1BvwC,QAAS,WAELjmB,EAAO6jC,WAAW5e,OAAOtlB,QAMjCK,EAAO6I,MAAMq0B,MAAMh3B,UAAU8B,YAAchI,EAAO6I,MAAMq0B,MAmBxDl9B,EAAOwtB,KAYHC,UAAW,SAAU0b,EAASj6B,GAE1BA,EAAQA,GAAS,IAAIlP,EAAOoN,MAE5B,IAAIkmH,EAAMnqF,EAAQwkF,wBAEdX,EAAYhtH,EAAOwtB,IAAI+lG,QACvBC,EAAaxzH,EAAOwtB,IAAIimG,QACxBC,EAAYvlG,SAASkkE,gBAAgBqhC,UACrCC,EAAaxlG,SAASkkE,gBAAgBshC,WAK1C,OAHAzkH,EAAMpJ,EAAIwtH,EAAIjoH,KAAOmoH,EAAaG,EAClCzkH,EAAMrC,EAAIymH,EAAIlkH,IAAM49G,EAAY0G,EAEzBxkH,GAiBXxB,UAAW,SAAUy7B,EAASyqF,GAM1B,YAJgB1pH,IAAZ0pH,IAAyBA,EAAU,OAEvCzqF,EAAUA,IAAYA,EAAQ59B,SAAW49B,EAAQ,GAAKA,IAEjB,IAArBA,EAAQ59B,WAMb5L,KAAKk0H,UAAU1qF,EAAQwkF,wBAAyBiG,IAc/DC,UAAW,SAAUC,EAAQF,GAEzBA,GAAWA,GAAW,EAEtB,IAAIzlH,GAAWqD,MAAO,EAAGC,OAAQ,EAAGpG,KAAM,EAAGD,MAAO,EAAGgE,IAAK,EAAGC,OAAQ,GAKvE,OAHAlB,EAAOqD,OAASrD,EAAO/C,MAAQ0oH,EAAO1oH,MAAQwoH,IAAYzlH,EAAO9C,KAAOyoH,EAAOzoH,KAAOuoH,GACtFzlH,EAAOsD,QAAUtD,EAAOkB,OAASykH,EAAOzkH,OAASukH,IAAYzlH,EAAOiB,IAAM0kH,EAAO1kH,IAAMwkH,GAEhFzlH,GAWX4lH,eAAgB,SAAU77F,GAItB,IAAIxY,GAFJwY,EAAS,MAAQA,EAASv4B,KAAKurH,aAAe,IAAMhzF,EAAO3sB,SAAW5L,KAAK+N,UAAUwqB,GAAUA,GAEzE,MAClB5nB,EAAI4nB,EAAe,OAYvB,MAViB,mBAANxY,IAEPA,EAAIA,EAAE/Y,KAAKuxB,IAGE,mBAAN5nB,IAEPA,EAAIA,EAAE3J,KAAKuxB,IAGRxY,EAAIpP,GAiBf0jH,iBAAkB,SAAU7qF,EAASyqF,GAEjC,IAAItmH,EAAI3N,KAAK+N,UAAUy7B,EAASyqF,GAEhC,QAAStmH,GAAKA,EAAE+B,QAAU,GAAK/B,EAAElC,OAAS,GAAKkC,EAAE8B,KAAOzP,KAAK8tH,aAAaj8G,OAASlE,EAAEjC,MAAQ1L,KAAK8tH,aAAah8G,QA6BnHm2G,qBAAsB,SAAUqM,GAE5B,IAAIC,EAAStsH,OAAOssH,OAChBzH,EAAcyH,EAAOzH,aAAeyH,EAAOC,gBAAkBD,EAAOE,cAExE,GAAI3H,GAA2C,iBAArBA,EAAY1kH,KAGlC,OAAO0kH,EAAY1kH,KAElB,GAA2B,iBAAhB0kH,EAGZ,OAAOA,EAGX,IAAI3pH,EAAW,mBACXD,EAAY,oBAEhB,GAAwB,WAApBoxH,EAEA,OAAQC,EAAOziH,OAASyiH,EAAO1iH,MAAS1O,EAAWD,EAElD,GAAwB,aAApBoxH,EAEL,OAAQt0H,KAAKurH,aAAaz5G,OAAS9R,KAAKurH,aAAa15G,MAAS1O,EAAWD,EAExE,GAAwB,uBAApBoxH,GAA0E,iBAAvBrsH,OAAO6kH,YAG/D,OAA+B,IAAvB7kH,OAAO6kH,aAA4C,MAAvB7kH,OAAO6kH,YAAuB3pH,EAAWD,EAE5E,GAAI+E,OAAOysH,WAChB,CACI,GAAIzsH,OAAOysH,WAAW,2BAA2BnhC,QAE7C,OAAOpwF,EAEN,GAAI8E,OAAOysH,WAAW,4BAA4BnhC,QAEnD,OAAOrwF,EAIf,OAAQlD,KAAKurH,aAAaz5G,OAAS9R,KAAKurH,aAAa15G,MAAS1O,EAAWD,GAqB7EqoH,aAAc,IAAIlrH,EAAO2N,UAqBzB8/G,aAAc,IAAIztH,EAAO2N,UAczB2mH,eAAgB,IAAIt0H,EAAO2N,WAI/B3N,EAAOg7B,OAAOoB,UAAU,SAAUnN,GAG9B,IAAIwkG,EAAU7rH,QAAW,gBAAiBA,OACtC,WAAc,OAAOA,OAAO2sH,aAC5B,WAAc,OAAOpmG,SAASkkE,gBAAgBmhC,YAE9CD,EAAU3rH,QAAW,gBAAiBA,OACtC,WAAc,OAAOA,OAAO4sH,aAC5B,WAAc,OAAOrmG,SAASkkE,gBAAgB26B,WAiDlD,GAvCA5lH,OAAOmF,eAAevM,EAAOwtB,IAAK,WAC9BnhB,IAAKonH,IAWTrsH,OAAOmF,eAAevM,EAAOwtB,IAAK,WAC9BnhB,IAAKknH,IAGTnsH,OAAOmF,eAAevM,EAAOwtB,IAAI09F,aAAc,KAC3C7+G,IAAKonH,IAGTrsH,OAAOmF,eAAevM,EAAOwtB,IAAI09F,aAAc,KAC3C7+G,IAAKknH,IAGTnsH,OAAOmF,eAAevM,EAAOwtB,IAAIigG,aAAc,KAC3C5jH,MAAO,IAGXzC,OAAOmF,eAAevM,EAAOwtB,IAAIigG,aAAc,KAC3C5jH,MAAO,IAGUolB,EAAO66D,SACvB37D,SAASkkE,gBAAgBoiC,aAAe7sH,OAAOkD,YAC/CqjB,SAASkkE,gBAAgBqiC,cAAgB9sH,OAAOmD,YAMrD,CAII,IAAI0pH,EAAc,WACd,OAAO7uH,KAAK6N,IAAI7L,OAAOkD,WAAYqjB,SAASkkE,gBAAgBoiC,cAE5DC,EAAe,WACf,OAAO9uH,KAAK6N,IAAI7L,OAAOmD,YAAaojB,SAASkkE,gBAAgBqiC,eAIjEttH,OAAOmF,eAAevM,EAAOwtB,IAAI09F,aAAc,SAC3C7+G,IAAKooH,IAGTrtH,OAAOmF,eAAevM,EAAOwtB,IAAI09F,aAAc,UAC3C7+G,IAAKqoH,IAGTttH,OAAOmF,eAAevM,EAAOwtB,IAAIigG,aAAc,SAC3CphH,IAAKooH,IAGTrtH,OAAOmF,eAAevM,EAAOwtB,IAAIigG,aAAc,UAC3CphH,IAAKqoH,SAKTttH,OAAOmF,eAAevM,EAAOwtB,IAAI09F,aAAc,SAC3C7+G,IAAK,WACD,OAAOzE,OAAOkD,cAItB1D,OAAOmF,eAAevM,EAAOwtB,IAAI09F,aAAc,UAC3C7+G,IAAK,WACD,OAAOzE,OAAOmD,eAItB3D,OAAOmF,eAAevM,EAAOwtB,IAAIigG,aAAc,SAE3CphH,IAAK,WACD,IAAI8C,EAAIgf,SAASkkE,gBAAgBoiC,YAC7BllH,EAAI3H,OAAOkD,WAEf,OAAOqE,EAAII,EAAIA,EAAIJ,KAK3B/H,OAAOmF,eAAevM,EAAOwtB,IAAIigG,aAAc,UAE3CphH,IAAK,WACD,IAAI8C,EAAIgf,SAASkkE,gBAAgBqiC,aAC7BnlH,EAAI3H,OAAOmD,YAEf,OAAOoE,EAAII,EAAIA,EAAIJ,KAU/B/H,OAAOmF,eAAevM,EAAOwtB,IAAI8mG,eAAgB,KAC7CzqH,MAAO,IAGXzC,OAAOmF,eAAevM,EAAOwtB,IAAI8mG,eAAgB,KAC7CzqH,MAAO,IAGXzC,OAAOmF,eAAevM,EAAOwtB,IAAI8mG,eAAgB,SAE7CjoH,IAAK,WACD,IAAI0J,EAAIoY,SAASkkE,gBACjB,OAAOzsF,KAAK6N,IAAIsC,EAAE0+G,YAAa1+G,EAAE4+G,YAAa5+G,EAAE6+G,gBAKxDxtH,OAAOmF,eAAevM,EAAOwtB,IAAI8mG,eAAgB,UAE7CjoH,IAAK,WACD,IAAI0J,EAAIoY,SAASkkE,gBACjB,OAAOzsF,KAAK6N,IAAIsC,EAAE2+G,aAAc3+G,EAAE8+G,aAAc9+G,EAAE++G,kBAK3D,MAAM,GAoBT90H,EAAO42B,SAAW,SAAUkC,GAOxBn5B,KAAK8b,SAAW,EAMhB9b,KAAKm5B,KAAOA,OAIhB94B,EAAO42B,SAAS1wB,WAUZgN,IAAK,SAAUo7E,GAOX,OALK3uF,KAAKitB,OAAO0hE,IAEb3uF,KAAKm5B,KAAK5kB,KAAKo6E,GAGZA,GAWXn6D,SAAU,SAAUm6D,GAEhB,OAAO3uF,KAAKm5B,KAAKlG,QAAQ07D,IAa7BymC,SAAU,SAAUz/F,EAAUzrB,GAI1B,IAFA,IAAIlC,EAAIhI,KAAKm5B,KAAKpxB,OAEXC,KAEH,GAAIhI,KAAKm5B,KAAKnxB,GAAG2tB,KAAczrB,EAE3B,OAAOlK,KAAKm5B,KAAKnxB,GAIzB,OAAO,MAWXilB,OAAQ,SAAU0hE,GAEd,OAAQ3uF,KAAKm5B,KAAKlG,QAAQ07D,IAAS,GASvC1sE,MAAO,WAEHjiB,KAAKm5B,KAAKpxB,OAAS,GAWvBud,OAAQ,SAAUqpE,GAEd,IAAInP,EAAMx/E,KAAKm5B,KAAKlG,QAAQ07D,GAE5B,GAAInP,GAAO,EAGP,OADAx/E,KAAKm5B,KAAKxT,OAAO65D,EAAK,GACfmP,GAYfr5D,OAAQ,SAAUzrB,EAAKK,GAInB,IAFA,IAAIlC,EAAIhI,KAAKm5B,KAAKpxB,OAEXC,KAEChI,KAAKm5B,KAAKnxB,KAEVhI,KAAKm5B,KAAKnxB,GAAG6B,GAAOK,IAgBhCwsB,QAAS,SAAU7sB,GAMf,IAJA,IAAIhD,EAAOH,MAAMH,UAAUE,MAAMO,KAAKC,UAAW,GAE7Ce,EAAIhI,KAAKm5B,KAAKpxB,OAEXC,KAEChI,KAAKm5B,KAAKnxB,IAAMhI,KAAKm5B,KAAKnxB,GAAG6B,IAE7B7J,KAAKm5B,KAAKnxB,GAAG6B,GAAK1C,MAAMnH,KAAKm5B,KAAKnxB,GAAInB,IAYlDuf,UAAW,SAAUE,QAED/b,IAAZ+b,IAAyBA,GAAU,GAIvC,IAFA,IAAIte,EAAIhI,KAAKm5B,KAAKpxB,OAEXC,KAEH,GAAIhI,KAAKm5B,KAAKnxB,GACd,CACI,IAAI2mF,EAAO3uF,KAAKslB,OAAOtlB,KAAKm5B,KAAKnxB,IAE7Bse,GAEAqoE,EAAKroE,UAKjBtmB,KAAK8b,SAAW,EAChB9b,KAAKm5B,UAYb1xB,OAAOmF,eAAevM,EAAO42B,SAAS1wB,UAAW,SAE7CmG,IAAK,WACD,OAAO1M,KAAKm5B,KAAKpxB,UAWzBN,OAAOmF,eAAevM,EAAO42B,SAAS1wB,UAAW,SAE7CmG,IAAK,WAID,OAFA1M,KAAK8b,SAAW,EAEZ9b,KAAKm5B,KAAKpxB,OAAS,EAEZ/H,KAAKm5B,KAAK,GAIV,QAanB1xB,OAAOmF,eAAevM,EAAO42B,SAAS1wB,UAAW,QAE7CmG,IAAK,WAED,OAAI1M,KAAK8b,SAAW9b,KAAKm5B,KAAKpxB,QAE1B/H,KAAK8b,WAEE9b,KAAKm5B,KAAKn5B,KAAK8b,WAIf,QAOnBzb,EAAO42B,SAAS1wB,UAAU8B,YAAchI,EAAO42B,SAc/C52B,EAAO04B,YAcHC,cAAe,SAAUqhE,EAASvhE,EAAY/wB,GAE1C,GAAgB,OAAZsyF,EAAoB,OAAO,UACZ9vF,IAAfuuB,IAA4BA,EAAa,QAC9BvuB,IAAXxC,IAAwBA,EAASsyF,EAAQtyF,QAE7C,IAAIstH,EAAcv8F,EAAa7yB,KAAKI,MAAMJ,KAAKuE,SAAWzC,GAE1D,YAAgCwC,IAAzB8vF,EAAQg7B,GAA6B,KAAOh7B,EAAQg7B,IAgB/DC,iBAAkB,SAAUj7B,EAASvhE,EAAY/wB,GAE7C,GAAe,MAAXsyF,EACA,OAAO,UAGQ9vF,IAAfuuB,IAA4BA,EAAa,QAC9BvuB,IAAXxC,IAAwBA,EAASsyF,EAAQtyF,QAE7C,IAAIstH,EAAcv8F,EAAa7yB,KAAKI,MAAMJ,KAAKuE,SAAWzC,GAC1D,GAAIstH,EAAch7B,EAAQtyF,OAC1B,CACI,IAAIyxB,EAAU6gE,EAAQ10E,OAAO0vG,EAAa,GAC1C,YAAsB9qH,IAAfivB,EAAQ,GAAmB,KAAOA,EAAQ,GAIjD,OAAO,MAqBflU,OAAQ,SAAUhP,EAAOwiB,EAAYJ,GAEjC,IAAI3wB,EAASuO,EAAMvO,OAEnB,KAAI+wB,GAAc/wB,GAAoB,IAAV2wB,GAA5B,CAEa,MAATA,IAAiBA,EAAQ,GAI7B,IAAK,IAFD68F,EAAYxtH,EAAS2wB,EAEhB1wB,EAAI8wB,EAAY9wB,EAAIutH,IAAavtH,EAEtCsO,EAAMtO,GAAKsO,EAAMtO,EAAI0wB,GAGzBpiB,EAAMvO,OAASwtH,IAUnB17F,QAAS,SAAUvjB,GAEf,IAAK,IAAItO,EAAIsO,EAAMvO,OAAS,EAAGC,EAAI,EAAGA,IACtC,CACI,IAAIuS,EAAItU,KAAKI,MAAMJ,KAAKuE,UAAYxC,EAAI,IACpCytF,EAAOn/E,EAAMtO,GACjBsO,EAAMtO,GAAKsO,EAAMiE,GACjBjE,EAAMiE,GAAKk7E,EAGf,OAAOn/E,GAWXk/G,gBAAiB,SAAUl/G,GAOvB,IAAK,IALDm/G,EAAiBn/G,EAAMvO,OACvB2tH,EAAiBp/G,EAAM,GAAGvO,OAE1BiL,EAAS,IAAItM,MAAMgvH,GAEd1tH,EAAI,EAAGA,EAAI0tH,EAAgB1tH,IACpC,CACIgL,EAAOhL,GAAK,IAAItB,MAAM+uH,GAEtB,IAAK,IAAIl7G,EAAIk7G,EAAiB,EAAGl7G,GAAK,EAAGA,IAErCvH,EAAOhL,GAAGuS,GAAKjE,EAAMiE,GAAGvS,GAIhC,OAAOgL,GAcX2iH,aAAc,SAAUp/G,EAAQ+J,GAO5B,GALyB,iBAAdA,IAEPA,GAAcA,EAAY,IAAO,KAAO,KAG1B,KAAdA,IAAmC,MAAfA,GAAoC,eAAdA,EAG1C/J,GADAA,EAASlW,EAAO04B,WAAWy8F,gBAAgBj/G,IAC3BjN,eAEf,IAAmB,KAAfgX,GAAmC,MAAdA,GAAmC,gBAAdA,EAE/C/J,EAASA,EAAOjN,UAChBiN,EAASlW,EAAO04B,WAAWy8F,gBAAgBj/G,QAE1C,GAA4B,MAAxBtQ,KAAKiK,IAAIoQ,IAAoC,cAAdA,EACxC,CACI,IAAK,IAAItY,EAAI,EAAGA,EAAIuO,EAAOxO,OAAQC,IAE/BuO,EAAOvO,GAAGsB,UAGdiN,EAASA,EAAOjN,UAGpB,OAAOiN,GAaXq/G,YAAa,SAAU1rH,EAAO2rH,GAE1B,IAAKA,EAAI9tH,OAEL,OAAO+tH,IAEN,GAAmB,IAAfD,EAAI9tH,QAAgBmC,EAAQ2rH,EAAI,GAErC,OAAOA,EAAI,GAIf,IADA,IAAI7tH,EAAI,EACD6tH,EAAI7tH,GAAKkC,GACZlC,IAGJ,IAAI+tH,EAAMF,EAAI7tH,EAAI,GACdguH,EAAQhuH,EAAI6tH,EAAI9tH,OAAU8tH,EAAI7tH,GAAK4S,OAAOgC,kBAE9C,OAASo5G,EAAO9rH,GAAWA,EAAQ6rH,EAAQC,EAAOD,GAiBtDE,YAAa,SAAU3/G,GAEnB,IAAI4C,EAAI5C,EAAM42D,MAGd,OAFA52D,EAAM64D,QAAQj2D,GAEPA,GAiBXg9G,WAAY,SAAU5/G,GAElB,IAAI4C,EAAI5C,EAAMg5B,QAGd,OAFAh5B,EAAM/B,KAAK2E,GAEJA,GAkBXtG,OAAQ,SAAU0D,GAEd,IAAI4C,EAAI5C,EAAMg5B,QAGd,OAFAh5B,EAAM/B,KAAK2E,GAEJA,GAuBXi9G,YAAa,SAAUplH,EAAOD,QAEdvG,IAARuG,GAA6B,OAARA,IAErBA,EAAMC,EACNA,EAAQ,GAKZ,IAAK,IAFDiC,KAEKhL,EAAI+I,EAAO/I,GAAK8I,EAAK9I,IAE1BgL,EAAOuB,KAAKvM,GAGhB,OAAOgL,GAqCXojH,gBAAiB,SAAUrlH,EAAOD,EAAK6uB,QAErBp1B,IAAVwG,GAAiC,OAAVA,IAAkBA,EAAQ,QAEzCxG,IAARuG,GAA6B,OAARA,IAErBA,EAAMC,EACNA,EAAQ,QAGCxG,IAATo1B,IAAsBA,EAAO,GAKjC,IAAK,IAHD3sB,KACA6kB,EAAQ5xB,KAAK6N,IAAIzT,EAAO4F,KAAKoyF,mBAAmBvnF,EAAMC,IAAU4uB,GAAQ,IAAK,GAExE33B,EAAI,EAAGA,EAAI6vB,EAAO7vB,IAEvBgL,EAAOuB,KAAKxD,GACZA,GAAS4uB,EAGb,OAAO3sB,IAuBf3S,EAAOg2H,WAAa,WAOhBr2H,KAAKi0B,KAAO,KAOZj0B,KAAK+9D,KAAO,KAOZ/9D,KAAKmwC,MAAQ,KAObnwC,KAAK2mE,KAAO,KAOZ3mE,KAAK63B,MAAQ,GAIjBx3B,EAAOg2H,WAAW9vH,WASdgN,IAAK,SAAUo7E,GAGX,OAAmB,IAAf3uF,KAAK63B,OAA8B,OAAf73B,KAAKmwC,OAAgC,OAAdnwC,KAAK2mE,MAEhD3mE,KAAKmwC,MAAQw+C,EACb3uF,KAAK2mE,KAAOgoB,EACZ3uF,KAAKi0B,KAAO06D,EACZA,EAAK5wB,KAAO/9D,KACZA,KAAK63B,QACE82D,IAIX3uF,KAAK2mE,KAAK1yC,KAAO06D,EAEjBA,EAAK5wB,KAAO/9D,KAAK2mE,KAEjB3mE,KAAK2mE,KAAOgoB,EAEZ3uF,KAAK63B,QAEE82D,IASX1sE,MAAO,WAEHjiB,KAAKmwC,MAAQ,KACbnwC,KAAK2mE,KAAO,KACZ3mE,KAAKi0B,KAAO,KACZj0B,KAAK+9D,KAAO,KACZ/9D,KAAK63B,MAAQ,GAUjBvS,OAAQ,SAAUqpE,GAEd,GAAmB,IAAf3uF,KAAK63B,MAIL,OAFA73B,KAAKiiB,aACL0sE,EAAK16D,KAAO06D,EAAK5wB,KAAO,MAIxB4wB,IAAS3uF,KAAKmwC,MAGdnwC,KAAKmwC,MAAQnwC,KAAKmwC,MAAMlc,KAEnB06D,IAAS3uF,KAAK2mE,OAGnB3mE,KAAK2mE,KAAO3mE,KAAK2mE,KAAK5I,MAGtB4wB,EAAK5wB,OAGL4wB,EAAK5wB,KAAK9pC,KAAO06D,EAAK16D,MAGtB06D,EAAK16D,OAGL06D,EAAK16D,KAAK8pC,KAAO4wB,EAAK5wB,MAG1B4wB,EAAK16D,KAAO06D,EAAK5wB,KAAO,KAEL,OAAf/9D,KAAKmwC,QAELnwC,KAAK2mE,KAAO,MAGhB3mE,KAAK63B,SAWTnB,QAAS,SAAUjD,GAEf,GAAKzzB,KAAKmwC,OAAUnwC,KAAK2mE,KAAzB,CAKA,IAAI2vD,EAASt2H,KAAKmwC,MAElB,GAEQmmF,GAAUA,EAAO7iG,IAEjB6iG,EAAO7iG,GAAUzsB,KAAKsvH,GAG1BA,EAASA,EAAOriG,WAGbqiG,IAAWt2H,KAAK2mE,KAAK1yC,SAMpC5zB,EAAOg2H,WAAW9vH,UAAU8B,YAAchI,EAAOg2H,WAmBjDh2H,EAAOg9B,OAAS,SAAUrgB,GAKtBhd,KAAKgd,KAAOA,EAKZhd,KAAKwwH,IAAM,KAKXxwH,KAAK+tB,OAAS,KAKd/tB,KAAK28D,IAAM,KAKX38D,KAAKu2H,WACCC,EAAG,OAAQC,EAAG,UAAWC,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWvyE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW19C,EAAG,YAC/MmvH,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWvyE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW19C,EAAG,YAClNmvH,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWvyE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW19C,EAAG,SAClNmvH,EAAG,OAAQC,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWvyE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW19C,EAAG,YAC/MmvH,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWvyE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW19C,EAAG,UAU5NhH,EAAOg9B,OAAO65F,aAAe,EAO7B72H,EAAOg9B,OAAO85F,YAAc,EAO5B92H,EAAOg9B,OAAO+5F,YAAc,EAO5B/2H,EAAOg9B,OAAOg6F,YAAc,EAO5Bh3H,EAAOg9B,OAAOi6F,yBAA2B,EAEzCj3H,EAAOg9B,OAAO92B,WAoCV6/B,QAAS,SAAUv8B,EAAK08B,EAAMgxF,EAAYC,EAAaC,EAAS94D,EAAiBlrC,EAAUlO,QAEpEhb,IAAfgtH,IAA4BA,EAAa,QACzBhtH,IAAhBitH,IAA6BA,EAAcD,QAC/BhtH,IAAZktH,IAAyBA,EAAU,QACfltH,IAApBo0D,IAAiCA,GAAkB,GAEvD,IAAI5+C,EAAIwmB,EAAK,GAAGx+B,OAASwvH,EACrB5mH,EAAI41B,EAAKx+B,OAASyvH,EAGL,OAAbx3H,KAAKwwH,MAELxwH,KAAKwwH,IAAMxwH,KAAKgd,KAAKoF,KAAK61C,aAC1Bj4D,KAAK+tB,OAAS/tB,KAAKwwH,IAAIziG,OACvB/tB,KAAK28D,IAAM38D,KAAKwwH,IAAI3pG,SAGxB7mB,KAAKwwH,IAAIn1G,OAAO0E,EAAGpP,GACnB3Q,KAAKwwH,IAAI9vG,QAGT,IAAK,IAAIxT,EAAI,EAAGA,EAAIq5B,EAAKx+B,OAAQmF,IAI7B,IAAK,IAFDwqH,EAAMnxF,EAAKr5B,GAEN/G,EAAI,EAAGA,EAAIuxH,EAAI3vH,OAAQ5B,IAChC,CACI,IAAIiQ,EAAIshH,EAAIvxH,GAEF,MAANiQ,GAAmB,MAANA,IAEbpW,KAAK28D,IAAI8B,UAAYz+D,KAAKu2H,SAASkB,GAASrhH,GAC5CpW,KAAK28D,IAAI+B,SAASv4D,EAAIoxH,EAAYrqH,EAAIsqH,EAAaD,EAAYC,IAK3E,OAAO74D,EACH3+D,KAAKwwH,IAAI7xD,gBAAgB90D,EAAK4pB,EAAUlO,GACxCvlB,KAAKiM,QAmBb8sC,KAAM,SAAUlvC,EAAKgI,EAAOC,EAAQ+hB,EAAWC,EAAYtT,EAAOm+C,EAAiBlrC,EAAUlO,QAEjEhb,IAApBo0D,IAAiCA,GAAkB,GAGtC,OAAb3+D,KAAKwwH,MAELxwH,KAAKwwH,IAAMxwH,KAAKgd,KAAKoF,KAAK61C,aAC1Bj4D,KAAK+tB,OAAS/tB,KAAKwwH,IAAIziG,OACvB/tB,KAAK28D,IAAM38D,KAAKwwH,IAAI3pG,SAGxB7mB,KAAKwwH,IAAIn1G,OAAOxJ,EAAOC,GAEvB9R,KAAK28D,IAAI8B,UAAYj+C,EAErB,IAAK,IAAItT,EAAI,EAAGA,EAAI4E,EAAQ5E,GAAK4mB,EAE7B9zB,KAAK28D,IAAI+B,SAAS,EAAGxxD,EAAG2E,EAAO,GAGnC,IAAK,IAAI1L,EAAI,EAAGA,EAAI0L,EAAO1L,GAAK0tB,EAE5B7zB,KAAK28D,IAAI+B,SAASv4D,EAAG,EAAG,EAAG2L,GAG/B,OAAO6sD,EACH3+D,KAAKwwH,IAAI7xD,gBAAgB90D,EAAK4pB,EAAUlO,GACxCvlB,KAAKiM,QAgBbA,KAAM,SAAUoC,EAAMlI,EAAG+G,EAAG2E,EAAOC,EAAQuvD,EAAW/jD,GAMlD,OAJY,MAARjP,IAAgBA,EAAOrO,KAAKgd,KAAKoF,KAAK61C,cAE1C5pD,EAAKgN,OAAOrb,KAAKwwH,IAAI3+G,MAAO7R,KAAKwwH,IAAI1+G,QAE9BzD,EAAKmwD,KAAKx+D,KAAKwwH,IAAKrqH,EAAG+G,EAAG2E,EAAOC,EAAQuvD,EAAW/jD,KAMnEjd,EAAOg9B,OAAO92B,UAAU8B,YAAchI,EAAOg9B,OAsB7Ch9B,EAAO+qH,SAAW,SAAU7qB,EAAS1uF,EAAOC,GAKxC9R,KAAKgd,KAAOujF,EAAQvjF,KAKpBhd,KAAKugG,QAAUA,EAGfvgG,KAAK6R,MAAQA,EACb7R,KAAK8R,OAASA,EAEd9R,KAAK23H,aAAe,IAAIt3H,EAAO2N,UAAU,EAAG,EAAG6D,EAAOC,GACtD9R,KAAKg5C,YAAc,IAAI34C,EAAO2N,UAAU,EAAG,EAAG6D,EAAOC,GACrD9R,KAAK43H,WAAa,IAAIv3H,EAAO2N,UAAU,EAAG,EAAG6D,EAAOC,GACpD9R,KAAK63H,WAAa,IAAIx3H,EAAO2N,UAAU,EAAG,EAAG6D,EAAOC,GAMpD9R,KAAK83H,eAAiB,IAAIz3H,EAAOoN,MAAM,EAAG,GAC1CzN,KAAK+3H,cAAgB,IAAI13H,EAAOoN,MAAM,EAAG,GACzCzN,KAAKg4H,aAAe,IAAI33H,EAAOoN,MAAM,EAAG,GACxCzN,KAAKi4H,aAAe,IAAI53H,EAAOoN,MAAM,EAAG,GAMxCzN,KAAKk4H,YAAc,IAAI73H,EAAOoN,MAAM,EAAG,GACvCzN,KAAKm4H,WAAa,IAAI93H,EAAOoN,MAAM,EAAG,GACtCzN,KAAKi5C,mBAAqB,IAAI54C,EAAOoN,MAAM,EAAG,GAC9CzN,KAAKo4H,UAAY,IAAI/3H,EAAOoN,MAAM,EAAG,GACrCzN,KAAKq4H,UAAY,IAAIh4H,EAAOoN,MAAM,EAAG,GAErCzN,KAAKs4H,YAAc,EACnBt4H,KAAKu4H,aAAe,EACpBv4H,KAAKw4H,cAAgB,EACrBx4H,KAAKy4H,cAAgB,EAErBz4H,KAAK04H,OAAS7mH,EAAQC,EACtB9R,KAAK24H,OAAS7mH,EAASD,EAEvB7R,KAAKmvH,WAAa,EAElBnvH,KAAK44H,WAITv4H,EAAO+qH,SAAS7kH,WASZyb,QAAS,SAAUnQ,EAAOC,GAGtB9R,KAAK6R,MAAQA,EACb7R,KAAK8R,OAASA,EAEd9R,KAAK04H,OAAS7mH,EAAQC,EACtB9R,KAAK24H,OAAS7mH,EAASD,EAEvB7R,KAAKq4H,UAAY,IAAIh4H,EAAOoN,MAAM,EAAG,GAErCzN,KAAK63H,WAAWhmH,MAAQ7R,KAAK6R,MAC7B7R,KAAK63H,WAAW/lH,OAAS9R,KAAK8R,OAE9B9R,KAAKu/B,WAeTs5F,kBAAmB,SAAUhnH,EAAOC,EAAQsc,EAAU5C,QAE/BjhB,IAAfihB,IAA4BA,GAAa,GAE7CxrB,KAAKs4H,YAAczmH,EACnB7R,KAAKu4H,aAAezmH,EAEpB9R,KAAK23H,aAAa9lH,MAAQA,EAC1B7R,KAAK23H,aAAa7lH,OAASA,EAE3B,IAAIgnH,EAAQ,IAAIz4H,EAAO04H,UAAU/4H,KAAMA,KAAK83H,eAAgB93H,KAAK23H,aAAc33H,KAAKk4H,aAcpF,OAZI1sG,GAEAxrB,KAAKgd,KAAKC,MAAM1J,IAAIulH,GAGxB94H,KAAK44H,OAAOrkH,KAAKukH,QAEO,IAAb1qG,GAAgD,cAAbA,GAE1C0qG,EAAM5lG,YAAY9E,GAGf0qG,GAWXE,iBAAkB,SAAU5qG,EAAU5C,QAEfjhB,IAAfihB,IAA4BA,GAAa,GAE7C,IAAIstG,EAAQ,IAAIz4H,EAAO04H,UAAU/4H,KAAMA,KAAK+3H,cAAe/3H,KAAKg5C,YAAah5C,KAAKm4H,YAclF,OAZI3sG,GAEAxrB,KAAKgd,KAAKC,MAAM1J,IAAIulH,GAGxB94H,KAAK44H,OAAOrkH,KAAKukH,QAEO,IAAb1qG,GAAgD,cAAbA,GAE1C0qG,EAAM5lG,YAAY9E,GAGf0qG,GAWXG,gBAAiB,SAAU7qG,GAEvB,IAAI0qG,EAAQ,IAAIz4H,EAAO04H,UAAU/4H,KAAMA,KAAKg4H,aAAch4H,KAAK43H,WAAY53H,KAAKm4H,YAWhF,OATAn4H,KAAKgd,KAAKC,MAAM1J,IAAIulH,GAEpB94H,KAAK44H,OAAOrkH,KAAKukH,QAEO,IAAb1qG,GAEP0qG,EAAM5lG,YAAY9E,GAGf0qG,GAWXI,iBAAkB,SAAU9qG,GAExB,IAAI0qG,EAAQ,IAAIz4H,EAAO04H,UAAU/4H,KAAMA,KAAKi4H,aAAcj4H,KAAK63H,WAAY73H,KAAKq4H,WAWhF,OATAr4H,KAAKgd,KAAKC,MAAM1J,IAAIulH,GAEpB94H,KAAK44H,OAAOrkH,KAAKukH,QAEO,IAAb1qG,GAEP0qG,EAAM5lG,YAAY9E,GAGf0qG,GASX72G,MAAO,WAIH,IAFA,IAAIja,EAAIhI,KAAK44H,OAAO7wH,OAEbC,KAEEhI,KAAK44H,OAAO5wH,GAAGmxH,UAGhBn5H,KAAK44H,OAAO5wH,GAAG8T,SAAW,KAC1B9b,KAAK44H,OAAO5wH,GAAGgP,MAAQ,KACvBhX,KAAK44H,OAAOnyH,MAAMuB,EAAG,KAajCqhH,SAAU,SAAUx3G,EAAOC,GAEvB9R,KAAK04H,OAAS7mH,EAAQC,EACtB9R,KAAK24H,OAAS7mH,EAASD,EAEvB7R,KAAKu/B,QAAQ1tB,EAAOC,IASxBytB,QAAS,WAELv/B,KAAKmvH,WAAalpH,KAAK2N,IAAK5T,KAAKugG,QAAQzuF,OAAS9R,KAAK8R,OAAU9R,KAAKugG,QAAQ1uF,MAAQ7R,KAAK6R,OAE3F7R,KAAKg5C,YAAYnnC,MAAQ5L,KAAKsI,MAAMvO,KAAK6R,MAAQ7R,KAAKmvH,YACtDnvH,KAAKg5C,YAAYlnC,OAAS7L,KAAKsI,MAAMvO,KAAK8R,OAAS9R,KAAKmvH,YAExDnvH,KAAKm4H,WAAWxrH,IAAI3M,KAAKg5C,YAAYnnC,MAAQ7R,KAAK6R,MAAO7R,KAAKg5C,YAAYlnC,OAAS9R,KAAK8R,QACxF9R,KAAKi5C,mBAAmBtsC,IAAI3M,KAAK6R,MAAQ7R,KAAKg5C,YAAYnnC,MAAO7R,KAAK8R,OAAS9R,KAAKg5C,YAAYlnC,QAEhG9R,KAAKo4H,UAAUzrH,IAAI3M,KAAK43H,WAAW/lH,MAAQ7R,KAAK6R,MAAO7R,KAAK43H,WAAW9lH,OAAS9R,KAAK8R,QAErF9R,KAAK43H,WAAW/lH,MAAQ5L,KAAKsI,MAAMvO,KAAKugG,QAAQ1uF,MAAQ7R,KAAKi5C,mBAAmB9yC,GAChFnG,KAAK43H,WAAW9lH,OAAS7L,KAAKsI,MAAMvO,KAAKugG,QAAQzuF,OAAS9R,KAAKi5C,mBAAmB/rC,GAElFlN,KAAKg5C,YAAY5lC,SAASpT,KAAKugG,QAAQpjF,OAAO1K,QAASzS,KAAKugG,QAAQpjF,OAAOzK,SAC3E1S,KAAK63H,WAAWzkH,SAASpT,KAAKugG,QAAQpjF,OAAO1K,QAASzS,KAAKugG,QAAQpjF,OAAOzK,SAE1E1S,KAAK+3H,cAAcprH,IAAI3M,KAAKg5C,YAAY7yC,EAAGnG,KAAKg5C,YAAY9rC,GAC5DlN,KAAKi4H,aAAatrH,IAAI3M,KAAK63H,WAAW1xH,EAAGnG,KAAK63H,WAAW3qH,IAU7DksH,UAAW,SAAU7+F,GAEjBv6B,KAAKugG,QAAQ0vB,YAAY11F,GAEzBA,EAAOp0B,EAAInG,KAAKugG,QAAQpjF,OAAO1K,QAC/B8nB,EAAOrtB,EAAIlN,KAAKugG,QAAQpjF,OAAOzK,SASnC2T,MAAO,WAUHrmB,KAAKgd,KAAKqJ,MAAM2vC,KAAKh2D,KAAKg5C,YAAYnnC,MAAQ,MAAQ7R,KAAKg5C,YAAYlnC,OAAQ9R,KAAKg5C,YAAY7yC,EAAI,EAAGnG,KAAKg5C,YAAY9rC,EAAI,IAC5HlN,KAAKgd,KAAKqJ,MAAM6qG,KAAKlxH,KAAKg5C,YAAa,oBAAoB,KAYnE34C,EAAO+qH,SAAS7kH,UAAU8B,YAAchI,EAAO+qH,SAuB/C/qH,EAAO04H,UAAY,SAAUx4B,EAASzkF,EAAUqB,EAAQnG,GAEpD3W,EAAO+vB,MAAMppB,KAAKhH,KAAMugG,EAAQvjF,KAAM,KAAM,cAAgBujF,EAAQvjF,KAAKsE,IAAIu2C,QAAQ,GAKrF73D,KAAKugG,QAAUA,EAAQA,QAKvBvgG,KAAK+4C,KAAOwnD,EAOZvgG,KAAKm5H,SAAU,EAKfn5H,KAAK8b,SAAWA,EAKhB9b,KAAKmd,OAASA,EAKdnd,KAAKgX,MAAQA,EAKbhX,KAAKq5H,QAAUl8G,EAAOk8G,QAKtBr5H,KAAKs5H,UAAY,IAAIj5H,EAAOoN,MAAM0P,EAAOhN,UAAW,GAKpDnQ,KAAKu5H,SAAWp8G,EAAOo8G,SAKvBv5H,KAAKw5H,WAAar8G,EAAOq8G,WAKzBx5H,KAAKy5H,aAAe,IAAIp5H,EAAOoN,MAAM0P,EAAOhN,UAAWgN,EAAOzN,QAK9D1P,KAAK05H,YAAcv8G,EAAOu8G,aAI9Br5H,EAAO04H,UAAUxyH,UAAYkB,OAAOwb,OAAO5iB,EAAO+vB,MAAM7pB,WACxDlG,EAAO04H,UAAUxyH,UAAU8B,YAAchI,EAAO04H,UAOhD14H,EAAO04H,UAAUxyH,UAAU8U,OAAS,aAQpChb,EAAO04H,UAAUxyH,UAAU8f,MAAQ,WAE/BrmB,KAAKgd,KAAKqJ,MAAM2vC,KAAKh2D,KAAKmd,OAAOtL,MAAQ,MAAQ7R,KAAKmd,OAAOrL,OAAQ9R,KAAKmd,OAAOhX,EAAI,EAAGnG,KAAKmd,OAAOjQ,EAAI,IACxGlN,KAAKgd,KAAKqJ,MAAM6qG,KAAKlxH,KAAKmd,OAAQ,oBAAoB,GAEtDnd,KAAKgd,KAAKqJ,MAAM6qG,KAAKlxH,KAAKq5H,QAAS,wBACnCr5H,KAAKgd,KAAKqJ,MAAM6qG,KAAKlxH,KAAKs5H,UAAW,wBACrCt5H,KAAKgd,KAAKqJ,MAAM6qG,KAAKlxH,KAAKu5H,SAAU,yBAexCl5H,EAAO2vB,OAeH6vC,UAAW,SAAUlyD,EAAG4f,EAAG3d,EAAGJ,GAE1B,OAAInP,EAAOg7B,OAAOmlC,eAEJhxD,GAAK,GAAOI,GAAK,GAAO2d,GAAM,EAAK5f,KAAQ,GAI3CA,GAAK,GAAO4f,GAAK,GAAO3d,GAAM,EAAKJ,KAAQ,GAwB7D0vD,YAAa,SAAU1xC,EAAMhgB,EAAKozD,EAAKC,GAkCnC,YAhCYt2D,IAARiD,GAA6B,OAARA,IAAgBA,EAAMnN,EAAO2vB,MAAMivC,oBAChD10D,IAARq2D,GAA6B,OAARA,IAAgBA,GAAM,QACnCr2D,IAARs2D,GAA6B,OAARA,IAAgBA,GAAM,GAE3CxgE,EAAOg7B,OAAOmlC,eAEdhzD,EAAIgC,GAAa,WAAPge,KAAuB,GACjChgB,EAAIoC,GAAa,SAAP4d,KAAuB,GACjChgB,EAAI+f,GAAa,MAAPC,KAAuB,EACjChgB,EAAIG,EAAa,IAAP6f,IAIVhgB,EAAIG,GAAa,WAAP6f,KAAuB,GACjChgB,EAAI+f,GAAa,SAAPC,KAAuB,GACjChgB,EAAIoC,GAAa,MAAP4d,KAAuB,EACjChgB,EAAIgC,EAAa,IAAPge,GAGdhgB,EAAIgT,MAAQgN,EACZhgB,EAAIggB,KAAO,QAAUhgB,EAAIG,EAAI,IAAMH,EAAI+f,EAAI,IAAM/f,EAAIoC,EAAI,IAAOpC,EAAIgC,EAAI,IAAO,IAE3EoxD,GAEAvgE,EAAO2vB,MAAM2pG,SAASnsH,EAAIG,EAAGH,EAAI+f,EAAG/f,EAAIoC,EAAGpC,GAG3CqzD,GAEAxgE,EAAO2vB,MAAM4pG,SAASpsH,EAAIG,EAAGH,EAAI+f,EAAG/f,EAAIoC,EAAGpC,GAGxCA,GAeXqsH,SAAU,SAAUrsG,EAAMhgB,GActB,OAZKA,IAEDA,EAAMnN,EAAO2vB,MAAMivC,eAGvBzxD,EAAIG,GAAa,WAAP6f,KAAuB,GACjChgB,EAAI+f,GAAa,SAAPC,KAAuB,GACjChgB,EAAIoC,GAAa,MAAP4d,KAAuB,EACjChgB,EAAIgC,EAAa,IAAPge,EAEVhgB,EAAIggB,KAAO,QAAUhgB,EAAIG,EAAI,IAAMH,EAAI+f,EAAI,IAAM/f,EAAIoC,EAAI,IAAMpC,EAAIgC,EAAI,IAEhEhC,GAgBXssH,OAAQ,SAAUnsH,EAAG4f,EAAG3d,EAAGJ,GAEvB,OAAQ7B,GAAK,GAAO4f,GAAK,GAAO3d,GAAM,EAAKJ,GAe/CuqH,OAAQ,SAAUpsH,EAAG4f,EAAG3d,EAAGJ,GAEvB,OAASA,GAAK,GAAOI,GAAK,GAAO2d,GAAK,EAAK5f,KAAO,GAYtDk+D,cAAe,SAAUrrD,GAErB,QACKA,GAAS,GAAK,KAAQ,KACtBA,GAAS,EAAI,KAAQ,KACb,IAARA,GAAgB,MAazBw5G,cAAe,SAAUC,GAErB,OAAkB,IAATA,EAAI,IAAY,KAAgB,IAATA,EAAI,IAAY,GAAc,IAATA,EAAI,IAkB7DN,SAAU,SAAUhsH,EAAG4f,EAAG3d,EAAGpC,GAEpBA,IAEDA,EAAMnN,EAAO2vB,MAAMivC,YAAYtxD,EAAG4f,EAAG3d,EAAG,IAG5CjC,GAAK,IACL4f,GAAK,IACL3d,GAAK,IAEL,IAAIgE,EAAM3N,KAAK2N,IAAIjG,EAAG4f,EAAG3d,GACrBkE,EAAM7N,KAAK6N,IAAInG,EAAG4f,EAAG3d,GAOzB,GAJApC,EAAImD,EAAI,EACRnD,EAAI0L,EAAI,EACR1L,EAAIiD,GAAKqD,EAAMF,GAAO,EAElBE,IAAQF,EACZ,CACI,IAAIwC,EAAItC,EAAMF,EAEdpG,EAAI0L,EAAI1L,EAAIiD,EAAI,GAAM2F,GAAK,EAAItC,EAAMF,GAAOwC,GAAKtC,EAAMF,GAEnDE,IAAQnG,EAERH,EAAImD,GAAK4c,EAAI3d,GAAKwG,GAAKmX,EAAI3d,EAAI,EAAI,GAE9BkE,IAAQyZ,EAEb/f,EAAImD,GAAKf,EAAIjC,GAAKyI,EAAI,EAEjBtC,IAAQlE,IAEbpC,EAAImD,GAAKhD,EAAI4f,GAAKnX,EAAI,GAG1B5I,EAAImD,GAAK,EAGb,OAAOnD,GAkBX0yD,SAAU,SAAUvvD,EAAGuI,EAAGzI,EAAGjD,GAczB,GAZKA,GAODA,EAAIG,EAAI8C,EACRjD,EAAI+f,EAAI9c,EACRjD,EAAIoC,EAAIa,GAPRjD,EAAMnN,EAAO2vB,MAAMivC,YAAYxuD,EAAGA,EAAGA,GAU/B,IAANyI,EACJ,CACI,IAAIgwD,EAAIz4D,EAAI,GAAMA,GAAK,EAAIyI,GAAKzI,EAAIyI,EAAIzI,EAAIyI,EACxCnH,EAAI,EAAItB,EAAIy4D,EAChB17D,EAAIG,EAAItN,EAAO2vB,MAAMkqG,WAAWnoH,EAAGm3D,EAAGv4D,EAAI,EAAI,GAC9CnD,EAAI+f,EAAIltB,EAAO2vB,MAAMkqG,WAAWnoH,EAAGm3D,EAAGv4D,GACtCnD,EAAIoC,EAAIvP,EAAO2vB,MAAMkqG,WAAWnoH,EAAGm3D,EAAGv4D,EAAI,EAAI,GAalD,OANAnD,EAAIG,EAAI1H,KAAKI,MAAe,IAARmH,EAAIG,EAAU,GAClCH,EAAI+f,EAAItnB,KAAKI,MAAe,IAARmH,EAAI+f,EAAU,GAClC/f,EAAIoC,EAAI3J,KAAKI,MAAe,IAARmH,EAAIoC,EAAU,GAElCvP,EAAO2vB,MAAME,YAAY1iB,GAElBA,GAkBXosH,SAAU,SAAUjsH,EAAG4f,EAAG3d,EAAGpC,GAEpBA,IAEDA,EAAMnN,EAAO2vB,MAAMivC,YAAYtxD,EAAG4f,EAAG3d,EAAG,MAG5CjC,GAAK,IACL4f,GAAK,IACL3d,GAAK,IAEL,IAAIgE,EAAM3N,KAAK2N,IAAIjG,EAAG4f,EAAG3d,GACrBkE,EAAM7N,KAAK6N,IAAInG,EAAG4f,EAAG3d,GACrBwG,EAAItC,EAAMF,EAyBd,OAtBApG,EAAImD,EAAI,EACRnD,EAAI0L,EAAY,IAARpF,EAAY,EAAIsC,EAAItC,EAC5BtG,EAAIwwB,EAAIlqB,EAEJA,IAAQF,IAEJE,IAAQnG,EAERH,EAAImD,GAAK4c,EAAI3d,GAAKwG,GAAKmX,EAAI3d,EAAI,EAAI,GAE9BkE,IAAQyZ,EAEb/f,EAAImD,GAAKf,EAAIjC,GAAKyI,EAAI,EAEjBtC,IAAQlE,IAEbpC,EAAImD,GAAKhD,EAAI4f,GAAKnX,EAAI,GAG1B5I,EAAImD,GAAK,GAGNnD,GAkBX2sH,SAAU,SAAUxpH,EAAGuI,EAAG8kB,EAAGxwB,QAEbjD,IAARiD,IAAqBA,EAAMnN,EAAO2vB,MAAMivC,YAAY,EAAG,EAAG,EAAG,EAAGtuD,EAAGuI,EAAG,EAAG8kB,IAE7E,IAAIrwB,EAAG4f,EAAG3d,EACN5H,EAAI/B,KAAKI,MAAU,EAAJsK,GACf5F,EAAQ,EAAJ4F,EAAQ3I,EACZ+J,EAAIisB,GAAK,EAAI9kB,GACbgwD,EAAIlrC,GAAK,EAAIjzB,EAAImO,GACjBrR,EAAIm2B,GAAK,GAAK,EAAIjzB,GAAKmO,GAE3B,OAAQlR,EAAI,GAER,KAAK,EACD2F,EAAIqwB,EACJzQ,EAAI1lB,EACJ+H,EAAImC,EACJ,MACJ,KAAK,EACDpE,EAAIu7D,EACJ37C,EAAIyQ,EACJpuB,EAAImC,EACJ,MACJ,KAAK,EACDpE,EAAIoE,EACJwb,EAAIyQ,EACJpuB,EAAI/H,EACJ,MACJ,KAAK,EACD8F,EAAIoE,EACJwb,EAAI27C,EACJt5D,EAAIouB,EACJ,MACJ,KAAK,EACDrwB,EAAI9F,EACJ0lB,EAAIxb,EACJnC,EAAIouB,EACJ,MACJ,KAAK,EACDrwB,EAAIqwB,EACJzQ,EAAIxb,EACJnC,EAAIs5D,EAUZ,OANA17D,EAAIG,EAAI1H,KAAKI,MAAU,IAAJsH,GACnBH,EAAI+f,EAAItnB,KAAKI,MAAU,IAAJknB,GACnB/f,EAAIoC,EAAI3J,KAAKI,MAAU,IAAJuJ,GAEnBvP,EAAO2vB,MAAME,YAAY1iB,GAElBA,GAeX0sH,WAAY,SAAUnoH,EAAGm3D,EAAGrhE,GAYxB,OAVIA,EAAI,IAEJA,GAAK,GAGLA,EAAI,IAEJA,GAAK,GAGLA,EAAI,EAAI,EAEDkK,EAAc,GAATm3D,EAAIn3D,GAASlK,EAGzBA,EAAI,GAEGqhE,EAGPrhE,EAAI,EAAI,EAEDkK,GAAKm3D,EAAIn3D,IAAM,EAAI,EAAIlK,GAAK,EAGhCkK,GAuBXktD,YAAa,SAAUtxD,EAAG4f,EAAG3d,EAAGJ,EAAGmB,EAAGuI,EAAGzI,EAAGutB,GAExC,IAAIxwB,GAAQG,EAAGA,GAAK,EAAG4f,EAAGA,GAAK,EAAG3d,EAAGA,GAAK,EAAGJ,EAAGA,GAAK,EAAGmB,EAAGA,GAAK,EAAGuI,EAAGA,GAAK,EAAGzI,EAAGA,GAAK,EAAGutB,EAAGA,GAAK,EAAGxd,MAAO,EAAG45G,QAAS,EAAG5sG,KAAM,IAEhI,OAAOntB,EAAO2vB,MAAME,YAAY1iB,IAYpC0iB,YAAa,SAAU1iB,GAMnB,OAJAA,EAAIggB,KAAO,QAAUhgB,EAAIG,EAAE2d,UAAY,IAAM9d,EAAI+f,EAAEjC,UAAY,IAAM9d,EAAIoC,EAAE0b,UAAY,IAAM9d,EAAIgC,EAAE9H,WAAa,IAChH8F,EAAIgT,MAAQngB,EAAO2vB,MAAMqqG,SAAS7sH,EAAIG,EAAGH,EAAI+f,EAAG/f,EAAIoC,GACpDpC,EAAI4sH,QAAU/5H,EAAO2vB,MAAMsqG,WAAmB,IAAR9sH,EAAIgC,EAAShC,EAAIG,EAAGH,EAAI+f,EAAG/f,EAAIoC,GAE9DpC,GAeX8sH,WAAY,SAAU9qH,EAAG7B,EAAG4f,EAAG3d,GAE3B,OAAOJ,GAAK,GAAK7B,GAAK,GAAK4f,GAAK,EAAI3d,GAcxCyqH,SAAU,SAAU1sH,EAAG4f,EAAG3d,GAEtB,OAAOjC,GAAK,GAAK4f,GAAK,EAAI3d,GAiB9B2qH,YAAa,SAAU5sH,EAAG4f,EAAG3d,EAAGJ,EAAGwkF,GAK/B,YAHUzpF,IAANiF,IAAmBA,EAAI,UACZjF,IAAXypF,IAAwBA,EAAS,KAEtB,MAAXA,EAEO,MAAQ,GAAK,KAAOrmF,GAAK,KAAO4f,GAAK,GAAK3d,GAAGlI,SAAS,IAAIjB,MAAM,GAIhE,KAAOpG,EAAO2vB,MAAMwqG,eAAehrH,GAAKnP,EAAO2vB,MAAMwqG,eAAe7sH,GAAKtN,EAAO2vB,MAAMwqG,eAAejtG,GAAKltB,EAAO2vB,MAAMwqG,eAAe5qH,IAarJ6qH,SAAU,SAAUC,GAEhB,IAAIT,EAAM55H,EAAO2vB,MAAM2qG,WAAWD,GAElC,GAAIT,EAEA,OAAO55H,EAAO2vB,MAAMsqG,WAAWL,EAAIzqH,EAAGyqH,EAAItsH,EAAGssH,EAAI1sG,EAAG0sG,EAAIrqH,IAkBhE+qH,WAAY,SAAUD,EAAKltH,GAGvBktH,EAAMA,EAAInuH,QAAQ,0CAA2C,SAASsE,EAAGlD,EAAG4f,EAAG3d,GAC3E,OAAOjC,EAAIA,EAAI4f,EAAIA,EAAI3d,EAAIA,IAG/B,IAAIoD,EAAS,mDAAmD2rE,KAAK+7C,GAErE,GAAI1nH,EACJ,CACI,IAAIrF,EAAIzC,SAAS8H,EAAO,GAAI,IACxBua,EAAIriB,SAAS8H,EAAO,GAAI,IACxBpD,EAAI1E,SAAS8H,EAAO,GAAI,IAEvBxF,GAMDA,EAAIG,EAAIA,EACRH,EAAI+f,EAAIA,EACR/f,EAAIoC,EAAIA,GANRpC,EAAMnN,EAAO2vB,MAAMivC,YAAYtxD,EAAG4f,EAAG3d,GAU7C,OAAOpC,GAeXotH,WAAY,SAAUC,EAAKrtH,GAElBA,IAEDA,EAAMnN,EAAO2vB,MAAMivC,eAGvB,IAAIjsD,EAAS,4EAA4E2rE,KAAKk8C,GAW9F,OATI7nH,IAEAxF,EAAIG,EAAIzC,SAAS8H,EAAO,GAAI,IAC5BxF,EAAI+f,EAAIriB,SAAS8H,EAAO,GAAI,IAC5BxF,EAAIoC,EAAI1E,SAAS8H,EAAO,GAAI,IAC5BxF,EAAIgC,OAAkBjF,IAAdyI,EAAO,GAAmB4sE,WAAW5sE,EAAO,IAAM,EAC1D3S,EAAO2vB,MAAME,YAAY1iB,IAGtBA,GAiBXyiB,aAAc,SAAU/lB,EAAOsD,GAS3B,GALKA,IAEDA,EAAMnN,EAAO2vB,MAAMivC,eAGF,iBAAV/0D,EAEP,OAA6B,IAAzBA,EAAM+oB,QAAQ,OAEP5yB,EAAO2vB,MAAM4qG,WAAW1wH,EAAOsD,IAKtCA,EAAIgC,EAAI,EACDnP,EAAO2vB,MAAM2qG,WAAWzwH,EAAOsD,IAGzC,GAAqB,iBAAVtD,EAChB,CAGI,IAAI4wH,EAAYz6H,EAAO2vB,MAAM+qG,OAAO7wH,GAKpC,OAJAsD,EAAIG,EAAImtH,EAAUntH,EAClBH,EAAI+f,EAAIutG,EAAUvtG,EAClB/f,EAAIoC,EAAIkrH,EAAUlrH,EAClBpC,EAAIgC,EAAIsrH,EAAUtrH,EAAI,IACfhC,EAIP,OAAOA,GAafgtH,eAAgB,SAAUh6G,GAEtB,IAAIk6G,EAAMl6G,EAAM9Y,SAAS,IAEzB,OAAuB,IAAfgzH,EAAI3yH,OAAgB,IAAM2yH,EAAMA,GAa5CM,cAAe,SAAU9hH,EAAG8kB,QAEdzzB,IAAN2O,IAAmBA,EAAI,QACjB3O,IAANyzB,IAAmBA,EAAI,GAI3B,IAAK,IAFDo7C,KAEKppE,EAAI,EAAGA,GAAK,IAAKA,IAEtBopE,EAAO7kE,KAAKlU,EAAO2vB,MAAMmqG,SAASnqH,EAAI,IAAKkJ,EAAG8kB,IAGlD,OAAOo7C,GAaX6hD,cAAe,SAAU/hH,EAAGzI,QAEdlG,IAAN2O,IAAmBA,EAAI,SACjB3O,IAANkG,IAAmBA,EAAI,IAI3B,IAAK,IAFD2oE,KAEKppE,EAAI,EAAGA,GAAK,IAAKA,IAEtBopE,EAAO7kE,KAAKlU,EAAO2vB,MAAMkwC,SAASlwD,EAAI,IAAKkJ,EAAGzI,IAGlD,OAAO2oE,GAiBX8hD,iBAAkB,SAAUC,EAAQC,EAAQtsH,EAAOusH,EAAa56G,EAAO29F,QAErD7zG,IAAVkW,IAAuBA,EAAQ,UAChBlW,IAAf6zG,IAA4BA,EAAa,GAE7C,IAAIkd,EAAOj7H,EAAO2vB,MAAM+qG,OAAOI,GAC3BI,EAAOl7H,EAAO2vB,MAAM+qG,OAAOK,GAE/B,GAAmB,IAAfhd,EAEA,IAAIzwG,GAAO4tH,EAAKn7D,IAAMk7D,EAAKl7D,KAAOi7D,EAAevsH,EAASwsH,EAAKl7D,IAC3D7yC,GAAOguG,EAAKl7D,MAAQi7D,EAAKj7D,OAASg7D,EAAevsH,EAASwsH,EAAKj7D,MAC/DzwD,GAAO2rH,EAAKj7D,KAAOg7D,EAAKh7D,MAAQ+6D,EAAevsH,EAASwsH,EAAKh7D,KAGrE,GAAmB,IAAf89C,EACJ,CACI,IAGIztG,EAHA6qH,EAAOn7H,EAAO2vB,MAAM4pG,SAAS0B,EAAK3tH,EAAG2tH,EAAK/tG,EAAG+tG,EAAK1rH,GAClD6rH,EAAOp7H,EAAO2vB,MAAM4pG,SAAS2B,EAAK5tH,EAAG4tH,EAAKhuG,EAAGguG,EAAK3rH,GAClD8rH,EAAKD,EAAK9qH,EAAI6qH,EAAK7qH,EAGvB,GAAI6qH,EAAK7qH,EAAI8qH,EAAK9qH,EAClB,CACI,IAAIgrH,EAAKF,EAAK9qH,EACd8qH,EAAK9qH,EAAI6qH,EAAK7qH,EACd6qH,EAAK7qH,EAAIgrH,EACTD,GAAMA,EACNL,EAAcvsH,EAAQusH,EAGtBK,EAAK,KAELF,EAAK7qH,EAAI6qH,EAAK7qH,EAAI,EAClBA,IAAQ8qH,EAAK9qH,EAAI6qH,EAAK7qH,GAAK0qH,EAAcvsH,EAAS0sH,EAAK7qH,GAAK,GAG5D+qH,GAAM,KAEN/qH,GAAM8qH,EAAK9qH,EAAI6qH,EAAK7qH,GAAK0qH,EAAcvsH,EAAS0sH,EAAK7qH,GAGzD,IAAIuI,GAAOuiH,EAAKviH,EAAIsiH,EAAKtiH,GAAKmiH,EAAevsH,EAAS0sH,EAAKtiH,EACvD8kB,GAAOy9F,EAAKz9F,EAAIw9F,EAAKx9F,GAAKq9F,EAAevsH,EAAS0sH,EAAKx9F,EAEvDi8F,EAAM55H,EAAO2vB,MAAMmqG,SAASxpH,EAAGuI,EAAG8kB,EAAGi8F,GACrCtsH,EAAIssH,EAAItsH,EACR4f,EAAI0sG,EAAI1sG,EACR3d,EAAIqqH,EAAIrqH,EAGhB,OAAOvP,EAAO2vB,MAAMsqG,WAAW75G,EAAO9S,EAAG4f,EAAG3d,IAiBhDgsH,wBAAyB,SAAUp7G,EAAO7S,EAAG4f,EAAG3d,EAAGd,EAAOusH,GAEtD,IAAIrvH,EAAM3L,EAAO2vB,MAAM+qG,OAAOv6G,GAC1Bq7G,GAAQluH,EAAI3B,EAAIo0D,KAAOi7D,EAAevsH,EAAS9C,EAAIo0D,IACnD07D,GAAQvuG,EAAIvhB,EAAIq0D,OAASg7D,EAAevsH,EAAS9C,EAAIq0D,MACrD07D,GAAQnsH,EAAI5D,EAAIs0D,MAAQ+6D,EAAevsH,EAAS9C,EAAIs0D,KAExD,OAAOjgE,EAAO2vB,MAAMqqG,SAASwB,EAAIC,EAAIC,IAkBzCC,eAAgB,SAAUx8D,EAAIC,EAAI5qD,EAAI6qD,EAAIC,EAAI7qD,EAAIhG,EAAOusH,GAErD,IAAI1tH,GAAO+xD,EAAKF,GAAM67D,EAAevsH,EAAS0wD,EAC1CjyC,GAAOoyC,EAAKF,GAAM47D,EAAevsH,EAAS2wD,EAC1C7vD,GAAOkF,EAAKD,GAAMwmH,EAAevsH,EAAS+F,EAE9C,OAAOxU,EAAO2vB,MAAMqqG,SAAS1sH,EAAG4f,EAAG3d,IAkBvCV,OAAQ,SAAUisH,EAAQC,EAAQvzH,GAE9B,OAAO7H,KAAKk7H,iBAAiBC,EAAQC,EAAQ,EAAGvzH,IAgBpDgwF,oBAAqB,SAAUze,EAAQvxE,GAEnC,IAAI+I,EAAIvQ,EAAO4F,KAAKiJ,OAAO,EAAGkqE,EAAOrxE,OAAS,EAAGF,GAC7CszH,EAAS/hD,EAAQnzE,KAAKI,MAAMuK,IAC5BwqH,EAAShiD,EAAQnzE,KAAKG,KAAKwK,IAE/B,OAAO5Q,KAAKkP,OAAOisH,EAAQC,EAAQxqH,EAAI,IAgB3CqrH,eAAgB,SAAUroH,EAAKE,EAAK2M,GAOhC,QALYlW,IAARqJ,IAAqBA,EAAM,QACnBrJ,IAARuJ,IAAqBA,EAAM,UACjBvJ,IAAVkW,IAAuBA,EAAQ,KAG/B3M,EAAM,KAAOF,EAAME,EAEnB,OAAOzT,EAAO2vB,MAAMqqG,SAAS,IAAK,IAAK,KAG3C,IAAIj6D,EAAMxsD,EAAM3N,KAAKsI,MAAMtI,KAAKuE,UAAYsJ,EAAMF,IAC9CysD,EAAQzsD,EAAM3N,KAAKsI,MAAMtI,KAAKuE,UAAYsJ,EAAMF,IAChD0sD,EAAO1sD,EAAM3N,KAAKsI,MAAMtI,KAAKuE,UAAYsJ,EAAMF,IAEnD,OAAOvT,EAAO2vB,MAAMsqG,WAAW75G,EAAO2/C,EAAKC,EAAOC,IActDy6D,OAAQ,SAAUv6G,GAEd,OAAIA,EAAQ,UAIJC,MAAOD,IAAU,GACjB4/C,IAAK5/C,GAAS,GAAK,IACnB6/C,MAAO7/C,GAAS,EAAI,IACpB8/C,KAAc,IAAR9/C,EACNhR,EAAGgR,IAAU,GACb7S,EAAG6S,GAAS,GAAK,IACjB+M,EAAG/M,GAAS,EAAI,IAChB5Q,EAAW,IAAR4Q,IAMHC,MAAO,IACP2/C,IAAK5/C,GAAS,GAAK,IACnB6/C,MAAO7/C,GAAS,EAAI,IACpB8/C,KAAc,IAAR9/C,EACNhR,EAAG,IACH7B,EAAG6S,GAAS,GAAK,IACjB+M,EAAG/M,GAAS,EAAI,IAChB5Q,EAAW,IAAR4Q,IAcf07G,UAAW,SAAU17G,GAEjB,GAAqB,iBAAVA,EAEP,MAAO,QAAUA,EAAM7S,EAAEjG,WAAa,IAAM8Y,EAAM+M,EAAE7lB,WAAa,IAAM8Y,EAAM5Q,EAAElI,WAAa,KAAO8Y,EAAMhR,EAAI,KAAK9H,WAAa,IAI/H,IAAIuyH,EAAM55H,EAAO2vB,MAAM+qG,OAAOv6G,GAC9B,MAAO,QAAUy5G,EAAItsH,EAAEjG,WAAa,IAAMuyH,EAAI1sG,EAAE7lB,WAAa,IAAMuyH,EAAIrqH,EAAElI,WAAa,KAAOuyH,EAAIzqH,EAAI,KAAK9H,WAAa,KAa/Hy0H,SAAU,SAAU37G,GAChB,OAAOA,IAAU,IAWrB47G,cAAe,SAAU57G,GACrB,OAAQA,IAAU,IAAM,KAW5B67G,OAAQ,SAAU77G,GACd,OAAOA,GAAS,GAAK,KAWzB87G,SAAU,SAAU97G,GAChB,OAAOA,GAAS,EAAI,KAWxB+7G,QAAS,SAAU/7G,GACf,OAAe,IAARA,GAYXg8G,YAAa,SAAUhtH,GACnB,OAAOA,GAYXk1D,aAAc,SAAUl1D,EAAGI,GACvB,OAAQA,EAAIJ,EAAKI,EAAIJ,GAYzBi1D,YAAa,SAAUj1D,EAAGI,GACtB,OAAQA,EAAIJ,EAAKA,EAAII,GAezB00D,cAAe,SAAU90D,EAAGI,GACxB,OAAQJ,EAAII,EAAK,KAYrB6sH,aAAc,SAAUjtH,EAAGI,GACvB,OAAQJ,EAAII,GAAK,GAYrBy0D,SAAU,SAAU70D,EAAGI,GACnB,OAAO3J,KAAK2N,IAAI,IAAKpE,EAAII,IAY7B8sH,cAAe,SAAUltH,EAAGI,GACxB,OAAO3J,KAAK6N,IAAI,EAAGtE,EAAII,EAAI,MAc/Bm1D,gBAAiB,SAAUv1D,EAAGI,GAC1B,OAAO3J,KAAKiK,IAAIV,EAAII,IAYxB+sH,cAAe,SAAUntH,EAAGI,GACxB,OAAO,IAAM3J,KAAKiK,IAAI,IAAMV,EAAII,IAcpC20D,YAAa,SAAU/0D,EAAGI,GACtB,OAAO,MAAS,IAAMJ,IAAM,IAAMI,IAAO,IAa7Co1D,eAAgB,SAAUx1D,EAAGI,GACzB,OAAOJ,EAAII,EAAI,EAAIJ,EAAII,EAAI,KAc/B40D,aAAc,SAAUh1D,EAAGI,GACvB,OAAOA,EAAI,IAAO,EAAIJ,EAAII,EAAI,IAAQ,IAAM,GAAK,IAAMJ,IAAM,IAAMI,GAAK,KAsB5Ek1D,eAAgB,SAAUt1D,EAAGI,GACzB,OAAOA,EAAI,IAAO,GAAgB,IAAVJ,GAAK,KAAaI,EAAI,KAAO,IAAO,GAAK,KAAkB,IAAVJ,GAAK,MAAa,IAAMI,GAAK,KAuB1Gi1D,eAAgB,SAAUr1D,EAAGI,GACzB,OAAOvP,EAAO2vB,MAAMw0C,aAAa50D,EAAGJ,IAaxCm1D,gBAAiB,SAAUn1D,EAAGI,GAC1B,OAAa,MAANA,EAAYA,EAAI3J,KAAK2N,IAAI,KAAOpE,GAAK,IAAM,IAAMI,KAa5Dg1D,eAAgB,SAAUp1D,EAAGI,GACzB,OAAa,IAANA,EAAUA,EAAI3J,KAAK6N,IAAI,EAAI,KAAQ,IAAMtE,GAAM,GAAKI,IAY/DgtH,iBAAkB,SAAUptH,EAAGI,GAC3B,OAAOvP,EAAO2vB,MAAMq0C,SAAS70D,EAAGI,IAYpCitH,gBAAiB,SAAUrtH,EAAGI,GAC1B,OAAOvP,EAAO2vB,MAAM0sG,cAAcltH,EAAGI,IAczCktH,iBAAkB,SAAUttH,EAAGI,GAC3B,OAAOA,EAAI,IAAMvP,EAAO2vB,MAAM6sG,gBAAgBrtH,EAAG,EAAII,GAAKvP,EAAO2vB,MAAM4sG,iBAAiBptH,EAAI,GAAKI,EAAI,OAezGmtH,gBAAiB,SAAUvtH,EAAGI,GAC1B,OAAOA,EAAI,IAAMvP,EAAO2vB,MAAM40C,eAAep1D,EAAG,EAAII,GAAKvP,EAAO2vB,MAAM20C,gBAAgBn1D,EAAI,GAAKI,EAAI,OAavGotH,cAAe,SAAUxtH,EAAGI,GACxB,OAAOA,EAAI,IAAMvP,EAAO2vB,MAAMy0C,YAAYj1D,EAAG,EAAII,GAAKvP,EAAO2vB,MAAM00C,aAAal1D,EAAI,GAAKI,EAAI,OAejGqtH,aAAc,SAAUztH,EAAGI,GACvB,OAAOvP,EAAO2vB,MAAM+sG,gBAAgBvtH,EAAGI,GAAK,IAAM,EAAI,KAY1DstH,aAAc,SAAU1tH,EAAGI,GACvB,OAAa,MAANA,EAAYA,EAAI3J,KAAK2N,IAAI,IAAMpE,EAAIA,GAAK,IAAMI,KAYzDutH,UAAW,SAAU3tH,EAAGI,GACpB,OAAOvP,EAAO2vB,MAAMktG,aAAattH,EAAGJ,IAYxC4tH,aAAc,SAAU5tH,EAAGI,GACvB,OAAO3J,KAAK2N,IAAIpE,EAAGI,GAAK3J,KAAK6N,IAAItE,EAAGI,GAAK,MAyBjDvP,EAAOmwB,QAAU,SAAUxT,EAAM0Q,GAE7BA,EAASA,MAKT1tB,KAAKgd,KAAOA,EAKZhd,KAAK0tB,OAASA,EAKd1tB,KAAKq9H,OAAS,KAKdr9H,KAAK+a,GAAK,KAKV/a,KAAKs9H,MAAQ,KAKbt9H,KAAK+yH,MAAQ,KAKb/yH,KAAKu9H,SAAW,KAKhBv9H,KAAKw9H,OAAS,KAEdx9H,KAAK2tB,eAQTttB,EAAOmwB,QAAQC,OAAS,EAMxBpwB,EAAOmwB,QAAQq8B,KAAO,EAMtBxsD,EAAOmwB,QAAQgiG,MAAQ,EAMvBnyH,EAAOmwB,QAAQkiG,MAAQ,EAMvBryH,EAAOmwB,QAAQitG,SAAW,EAM1Bp9H,EAAOmwB,QAAQktG,SAAW,EAE1Br9H,EAAOmwB,QAAQjqB,WAOXonB,YAAa,WAEH3tB,KAAK0tB,OAAO5kB,eAAe,YAAuC,IAA1B9I,KAAK0tB,OAAe,SAAertB,EAAOmwB,QAAQ1nB,eAAe,YAG3G9I,KAAKq9H,OAAS,IAAIh9H,EAAOmwB,QAAQkmC,OAAO12D,KAAKgd,OAG7Chd,KAAK0tB,OAAO5kB,eAAe,WAAqC,IAAzB9I,KAAK0tB,OAAc,OAAcrtB,EAAOmwB,QAAQ1nB,eAAe,WAEtG9I,KAAKs9H,MAAQ,IAAIj9H,EAAOmwB,QAAQiiG,MAAMzyH,KAAKgd,OAG3Chd,KAAK0tB,OAAO5kB,eAAe,QAA+B,IAAtB9I,KAAK0tB,OAAW,IAAcrtB,EAAOmwB,QAAQ1nB,eAAe,QAEhG9I,KAAK+a,GAAK,IAAI1a,EAAOmwB,QAAQmtG,GAAG39H,KAAKgd,KAAMhd,KAAK0tB,SAGhD1tB,KAAK0tB,OAAO5kB,eAAe,WAAqC,IAAzB9I,KAAK0tB,OAAc,OAAcrtB,EAAOmwB,QAAQ1nB,eAAe,WAEtG9I,KAAK+yH,MAAQ,IAAI1yH,EAAOmwB,QAAQkiG,MAAM1yH,KAAKgd,KAAMhd,KAAK0tB,SAGtD1tB,KAAK0tB,OAAO5kB,eAAe,YAAuC,IAA1B9I,KAAK0tB,OAAe,QAAcrtB,EAAOmwB,QAAQ1nB,eAAe,YAExG9I,KAAKw9H,OAAS,IAAIn9H,EAAOmwB,QAAQotG,OAAO59H,KAAKgd,KAAMhd,KAAK0tB,UAyBhEmwG,YAAa,SAAUC,GAEfA,IAAWz9H,EAAOmwB,QAAQC,OAE1BzwB,KAAKq9H,OAAS,IAAIh9H,EAAOmwB,QAAQkmC,OAAO12D,KAAKgd,MAExC8gH,IAAWz9H,EAAOmwB,QAAQq8B,KAEf,OAAZ7sD,KAAK+a,GAEL/a,KAAK+a,GAAK,IAAI1a,EAAOmwB,QAAQmtG,GAAG39H,KAAKgd,KAAMhd,KAAK0tB,QAIhD1tB,KAAK+a,GAAGkH,QAGP67G,IAAWz9H,EAAOmwB,QAAQgiG,MAE/BxyH,KAAKs9H,MAAQ,IAAIj9H,EAAOmwB,QAAQiiG,MAAMzyH,KAAKgd,MAEtC8gH,IAAWz9H,EAAOmwB,QAAQkiG,MAEZ,OAAf1yH,KAAK+yH,MAEL/yH,KAAK+yH,MAAQ,IAAI1yH,EAAOmwB,QAAQmiG,MAAM3yH,KAAKgd,KAAMhd,KAAK0tB,QAItD1tB,KAAK+yH,MAAM9wG,QAGV67G,IAAWz9H,EAAOmwB,QAAQktG,WAEX,OAAhB19H,KAAKw9H,OAELx9H,KAAKw9H,OAAS,IAAIn9H,EAAOmwB,QAAQotG,OAAO59H,KAAKgd,KAAMhd,KAAK0tB,QAIxD1tB,KAAKw9H,OAAOv7G,UA0BxB0Q,OAAQ,SAAU4F,EAAQulG,EAAQz3G,QAEf9b,IAAXuzH,IAAwBA,EAASz9H,EAAOmwB,QAAQC,aACtClmB,IAAV8b,IAAuBA,GAAQ,GAE/By3G,IAAWz9H,EAAOmwB,QAAQC,OAE1BzwB,KAAKq9H,OAAO1qG,OAAO4F,GAEdulG,IAAWz9H,EAAOmwB,QAAQq8B,MAAQ7sD,KAAK+a,GAE5C/a,KAAK+a,GAAG4X,OAAO4F,EAAQlS,GAElBy3G,IAAWz9H,EAAOmwB,QAAQgiG,OAASxyH,KAAKs9H,MAE7Ct9H,KAAKs9H,MAAMS,WAAWxlG,GAEjBulG,IAAWz9H,EAAOmwB,QAAQkiG,OAAS1yH,KAAK+yH,MAE7C/yH,KAAK+yH,MAAMpgG,OAAO4F,GAEbulG,IAAWz9H,EAAOmwB,QAAQktG,UAAY19H,KAAKw9H,OAEhDx9H,KAAKw9H,OAAO7qG,OAAO4F,GAInBjwB,QAAQG,KAAK8vB,EAAO1uB,IAAM,6EAWlC4V,UAAW,WAIHzf,KAAK+a,IAEL/a,KAAK+a,GAAG0E,YAGRzf,KAAK+yH,OAEL/yH,KAAK+yH,MAAMtzG,YAGXzf,KAAKw9H,QAELx9H,KAAKw9H,OAAO/9G,aAWpBsB,OAAQ,WAIA/gB,KAAK+a,IAEL/a,KAAK+a,GAAGgG,SAGR/gB,KAAK+yH,OAEL/yH,KAAK+yH,MAAMhyG,SAGX/gB,KAAKw9H,QAELx9H,KAAKw9H,OAAOz8G,UAWpBY,iBAAkB,WAEV3hB,KAAKq9H,QAELr9H,KAAKq9H,OAAO17G,mBAGZ3hB,KAAKs9H,OAELt9H,KAAKs9H,MAAM37G,mBAGX3hB,KAAK+a,IAEL/a,KAAK+a,GAAG4G,mBAGR3hB,KAAK+yH,OAEL/yH,KAAK+yH,MAAMpxG,mBAGX3hB,KAAKw9H,QAELx9H,KAAKw9H,OAAO77G,oBAWpBjB,MAAO,WAEC1gB,KAAK+a,IAEL/a,KAAK+a,GAAG2F,QAGR1gB,KAAK+yH,OAEL/yH,KAAK+yH,MAAMryG,QAGX1gB,KAAKw9H,QAELx9H,KAAKw9H,OAAO98G,SAWpBuB,MAAO,WAECjiB,KAAK+a,IAEL/a,KAAK+a,GAAGkH,QAGRjiB,KAAK+yH,OAEL/yH,KAAK+yH,MAAM9wG,QAGXjiB,KAAKw9H,QAELx9H,KAAKw9H,OAAOv7G,SAUpBqE,QAAS,WAEDtmB,KAAK+a,IAEL/a,KAAK+a,GAAGuL,UAGRtmB,KAAK+yH,OAEL/yH,KAAK+yH,MAAMzsG,UAGXtmB,KAAKw9H,QAELx9H,KAAKw9H,OAAOl3G,UAGhBtmB,KAAKq9H,OAAS,KACdr9H,KAAKs9H,MAAQ,KACbt9H,KAAK+a,GAAK,KACV/a,KAAK+yH,MAAQ,KACb/yH,KAAKw9H,OAAS,OAMtBn9H,EAAOmwB,QAAQjqB,UAAU8B,YAAchI,EAAOmwB,QAe9CnwB,EAAOmwB,QAAQkmC,OAAS,SAAU15C,GAK9Bhd,KAAKgd,KAAOA,EAKZhd,KAAKg+H,QAAU,IAAI39H,EAAOoN,MAK1BzN,KAAKmd,OAAS,IAAI9c,EAAO2N,UAAU,EAAG,EAAGgP,EAAKC,MAAMpL,MAAOmL,EAAKC,MAAMnL,QAOtE9R,KAAKi+H,gBAAmB95E,IAAI,EAAMnV,MAAM,EAAMtjC,MAAM,EAAMD,OAAO,GAKjEzL,KAAKk6F,WAAa,GAKlBl6F,KAAKm6F,UAAY,EAKjBn6F,KAAKk+H,aAAe,EAKpBl+H,KAAKm+H,QAAS,EAMdn+H,KAAKo+H,cAAgB/9H,EAAOmwB,QAAQkmC,OAAO2nE,WAK3Cr+H,KAAKs+H,cAAe,EAKpBt+H,KAAKihG,UAAW,EAKhBjhG,KAAKqyH,SAAW,IAAIhyH,EAAO45F,SAASj6F,KAAKgd,KAAKC,MAAME,OAAOhX,EAAGnG,KAAKgd,KAAKC,MAAME,OAAOjQ,EAAGlN,KAAKgd,KAAKC,MAAME,OAAOtL,MAAO7R,KAAKgd,KAAKC,MAAME,OAAOrL,OAAQ9R,KAAKk6F,WAAYl6F,KAAKm6F,WAM3Kn6F,KAAKu+H,OAAS,EAGdv+H,KAAK2hB,oBAITthB,EAAOmwB,QAAQkmC,OAAOnwD,UAAU8B,YAAchI,EAAOmwB,QAAQkmC,OAQ7Dr2D,EAAOmwB,QAAQkmC,OAAO8nE,UAAY,EAQlCn+H,EAAOmwB,QAAQkmC,OAAO2nE,WAAa,EAQnCh+H,EAAOmwB,QAAQkmC,OAAO+nE,WAAa,EAQnCp+H,EAAOmwB,QAAQkmC,OAAOgoE,WAAa,EAQnCr+H,EAAOmwB,QAAQkmC,OAAOioE,WAAa,EAEnCt+H,EAAOmwB,QAAQkmC,OAAOnwD,WAWlB+zB,UAAW,SAAUn0B,EAAG+G,EAAG2E,EAAOC,GAE9B9R,KAAKmd,OAAOlP,MAAM9H,EAAG+G,EAAG2E,EAAOC,IASnC6P,iBAAkB,WAEd3hB,KAAKmd,OAAOjP,SAASlO,KAAKgd,KAAKC,MAAME,SAYzCwV,OAAQ,SAAU4F,EAAQnK,QAEL7jB,IAAb6jB,IAA0BA,GAAW,GAEzC,IAAIpmB,EAAI,EAER,GAAItB,MAAMa,QAAQgxB,GAId,IAFAvwB,EAAIuwB,EAAOxwB,OAEJC,KAECuwB,EAAOvwB,aAAc3H,EAAO+vB,MAG5BpwB,KAAK2yB,OAAO4F,EAAOvwB,GAAGomB,SAAUA,IAIhCpuB,KAAKswB,WAAWiI,EAAOvwB,IAEnBomB,GAAYmK,EAAOvwB,GAAGc,eAAe,aAAeyvB,EAAOvwB,GAAGomB,SAASrmB,OAAS,GAEhF/H,KAAK2yB,OAAO4F,EAAOvwB,IAAI,SAO/BuwB,aAAkBl4B,EAAO+vB,MAGzBpwB,KAAK2yB,OAAO4F,EAAOnK,SAAUA,IAI7BpuB,KAAKswB,WAAWiI,GAEZnK,GAAYmK,EAAOzvB,eAAe,aAAeyvB,EAAOnK,SAASrmB,OAAS,GAE1E/H,KAAK2yB,OAAO4F,EAAOnK,UAAU,KAiB7CkC,WAAY,SAAUiI,GAEdA,EAAOzvB,eAAe,SAA2B,OAAhByvB,EAAOhG,OAExCgG,EAAOhG,KAAO,IAAIlyB,EAAOmwB,QAAQkmC,OAAO67D,KAAKh6F,GAEzCA,EAAOtM,QAAUsM,EAAOtM,kBAAkB5rB,EAAO+vB,OAEjDmI,EAAOtM,OAAO2G,UAAU2F,KAYpCqmG,aAAc,SAAUrsG,GAEpB,GAAIA,EAAKssG,cACT,CACI,IAAIC,EAAgB9+H,KAAK++H,gBAAgB,EAAGxsG,EAAMA,EAAKysG,gBAAiBzsG,EAAK0sG,oBAAqB1sG,EAAK2sG,YAAa3sG,EAAK4sG,YAAc5sG,EAAKysG,gBAC5IzsG,EAAKysG,iBAAmBF,EACxBvsG,EAAKyH,UAAazH,EAAKysG,gBAAkBh/H,KAAKgd,KAAKmE,KAAKunE,eAG5Dn2D,EAAK6sG,SAASj5H,EAAInG,KAAK++H,gBAAgB,EAAGxsG,EAAMA,EAAK6sG,SAASj5H,EAAGosB,EAAK8sG,aAAal5H,EAAGosB,EAAK+sG,KAAKn5H,EAAGosB,EAAKgtG,YAAYp5H,GACpHosB,EAAK6sG,SAASlyH,EAAIlN,KAAK++H,gBAAgB,EAAGxsG,EAAMA,EAAK6sG,SAASlyH,EAAGqlB,EAAK8sG,aAAanyH,EAAGqlB,EAAK+sG,KAAKpyH,EAAGqlB,EAAKgtG,YAAYryH,IAiBxH6xH,gBAAiB,SAAU18E,EAAM9vB,EAAM6sG,EAAUC,EAAcC,EAAMxrH,GA4CjE,YA1CYvJ,IAARuJ,IAAqBA,EAAM,KAElB,IAATuuC,GAAc9vB,EAAKitG,aAEnBJ,IAAap/H,KAAKg+H,QAAQ73H,EAAIosB,EAAKyrG,QAAQ73H,GAAKnG,KAAKgd,KAAKmE,KAAKunE,eAEjD,IAATrmC,GAAc9vB,EAAKitG,eAExBJ,IAAap/H,KAAKg+H,QAAQ9wH,EAAIqlB,EAAKyrG,QAAQ9wH,GAAKlN,KAAKgd,KAAKmE,KAAKunE,gBAG/D22C,EAEAD,GAAYC,EAAer/H,KAAKgd,KAAKmE,KAAKunE,eAErC42C,GAAQ/sG,EAAKktG,YAIdL,GAFJE,GAAQt/H,KAAKgd,KAAKmE,KAAKunE,gBAED,EAElB02C,GAAYE,EAEPF,EAAWE,EAAO,EAEvBF,GAAYE,EAIZF,EAAW,GAIfA,EAAWtrH,EAEXsrH,EAAWtrH,EAENsrH,GAAYtrH,IAEjBsrH,GAAYtrH,GAGTsrH,GA+BXnrE,QAAS,SAAUyrE,EAASC,EAASC,EAAiBC,EAAiBt6G,GAUnE,OARAq6G,EAAkBA,GAAmB,KACrCC,EAAkBA,GAAmB,KACrCt6G,EAAkBA,GAAmBq6G,EAErC5/H,KAAKu+H,OAAS,EAEdv+H,KAAK8/H,eAAeJ,EAASC,EAASC,EAAiBC,EAAiBt6G,GAAiB,GAEjFvlB,KAAKu+H,OAAS,GAqD1BwB,QAAS,SAAUL,EAASC,EAASK,EAAiBH,EAAiBt6G,GAUnE,OARAy6G,EAAkBA,GAAmB,KACrCH,EAAkBA,GAAmB,KACrCt6G,EAAkBA,GAAmBy6G,EAErChgI,KAAKu+H,OAAS,EAEdv+H,KAAK8/H,eAAeJ,EAASC,EAASK,EAAiBH,EAAiBt6G,GAAiB,GAEjFvlB,KAAKu+H,OAAS,GAc1B0B,cAAe,SAAUzwH,EAAGI,GAExB,OAAKJ,EAAE+iB,MAAS3iB,EAAE2iB,KAKX/iB,EAAE+iB,KAAKpsB,EAAIyJ,EAAE2iB,KAAKpsB,EAHd,GAiBf+5H,cAAe,SAAU1wH,EAAGI,GAExB,OAAKJ,EAAE+iB,MAAS3iB,EAAE2iB,KAKX3iB,EAAE2iB,KAAKpsB,EAAIqJ,EAAE+iB,KAAKpsB,EAHd,GAiBfg6H,cAAe,SAAU3wH,EAAGI,GAExB,OAAKJ,EAAE+iB,MAAS3iB,EAAE2iB,KAKX/iB,EAAE+iB,KAAKrlB,EAAI0C,EAAE2iB,KAAKrlB,EAHd,GAiBfkzH,cAAe,SAAU5wH,EAAGI,GAExB,OAAKJ,EAAE+iB,MAAS3iB,EAAE2iB,KAKX3iB,EAAE2iB,KAAKrlB,EAAIsC,EAAE+iB,KAAKrlB,EAHd,GAoBfoqB,KAAM,SAAUmC,EAAO2kG,GAEgB,OAA/B3kG,EAAMhI,qBAEN2sG,EAAgB3kG,EAAMhI,0BAIAlnB,IAAlB6zH,IAA+BA,EAAgBp+H,KAAKo+H,eAGxDA,IAAkB/9H,EAAOmwB,QAAQkmC,OAAO2nE,WAGxC5kG,EAAM3H,KAAKwF,KAAKt3B,KAAKigI,eAEhB7B,IAAkB/9H,EAAOmwB,QAAQkmC,OAAO+nE,WAG7ChlG,EAAM3H,KAAKwF,KAAKt3B,KAAKkgI,eAEhB9B,IAAkB/9H,EAAOmwB,QAAQkmC,OAAOgoE,WAG7CjlG,EAAM3H,KAAKwF,KAAKt3B,KAAKmgI,eAEhB/B,IAAkB/9H,EAAOmwB,QAAQkmC,OAAOioE,YAG7CllG,EAAM3H,KAAKwF,KAAKt3B,KAAKogI,gBAW7BN,eAAgB,SAAUJ,EAASC,EAASK,EAAiBH,EAAiBt6G,EAAiB86G,GAE3F,IAAK35H,MAAMa,QAAQm4H,IAAYh5H,MAAMa,QAAQo4H,GAEzC,IAAS33H,EAAI,EAAGA,EAAI23H,EAAQ53H,OAAQC,IAE3B23H,EAAQ33H,IAEbhI,KAAKsgI,eAAeZ,EAASC,EAAQ33H,GAAIg4H,EAAiBH,EAAiBt6G,EAAiB86G,QAG/F,GAAI35H,MAAMa,QAAQm4H,KAAah5H,MAAMa,QAAQo4H,GAE9C,IAAS33H,EAAI,EAAGA,EAAI03H,EAAQ33H,OAAQC,IAE3B03H,EAAQ13H,IAEbhI,KAAKsgI,eAAeZ,EAAQ13H,GAAI23H,EAASK,EAAiBH,EAAiBt6G,EAAiB86G,QAG/F,GAAI35H,MAAMa,QAAQm4H,IAAYh5H,MAAMa,QAAQo4H,IAE7C,IAAK,IAAI33H,EAAI,EAAGA,EAAI03H,EAAQ33H,OAAQC,IAEhC,GAAK03H,EAAQ13H,GAEb,IAAK,IAAIuS,EAAI,EAAGA,EAAIolH,EAAQ53H,OAAQwS,IAE3BolH,EAAQplH,IAEbva,KAAKsgI,eAAeZ,EAAQ13H,GAAI23H,EAAQplH,GAAIylH,EAAiBH,EAAiBt6G,EAAiB86G,QAMvGrgI,KAAKsgI,eAAeZ,EAASC,EAASK,EAAiBH,EAAiBt6G,EAAiB86G,IAiBjGC,eAAgB,SAAUZ,EAASC,EAASK,EAAiBH,EAAiBt6G,EAAiB86G,GAG3F,QAAgB91H,IAAZo1H,GAAyBD,EAAQ/uG,cAAgBtwB,EAAOoB,MAIxD,OAFAzB,KAAKs3B,KAAKooG,QACV1/H,KAAKugI,mBAAmBb,EAASM,EAAiBH,EAAiBt6G,EAAiB86G,GAKnFX,GAAYC,GAAYD,EAAQzyG,QAAW0yG,EAAQ1yG,SAMpDjtB,KAAKo+H,gBAAkB/9H,EAAOmwB,QAAQkmC,OAAO8nE,YAEzCkB,EAAQ/uG,cAAgBtwB,EAAOoB,OAE/BzB,KAAKs3B,KAAKooG,GAGVC,EAAQhvG,cAAgBtwB,EAAOoB,OAE/BzB,KAAKs3B,KAAKqoG,IAKdD,EAAQ/uG,cAAgBtwB,EAAOa,OAE3By+H,EAAQhvG,cAAgBtwB,EAAOa,OAE/BlB,KAAKwgI,sBAAsBd,EAASC,EAASK,EAAiBH,EAAiBt6G,EAAiB86G,GAE3FV,EAAQhvG,cAAgBtwB,EAAOoB,MAEpCzB,KAAKygI,qBAAqBf,EAASC,EAASK,EAAiBH,EAAiBt6G,EAAiB86G,GAE1FV,EAAQhvG,cAAgBtwB,EAAOuB,cAEpC5B,KAAK0gI,4BAA4BhB,EAASC,EAASK,EAAiBH,EAAiBt6G,EAAiB86G,GAIrGX,EAAQ/uG,cAAgBtwB,EAAOoB,MAEhCk+H,EAAQhvG,cAAgBtwB,EAAOa,OAE/BlB,KAAKygI,qBAAqBd,EAASD,EAASM,EAAiBH,EAAiBt6G,EAAiB86G,GAE1FV,EAAQhvG,cAAgBtwB,EAAOoB,MAEpCzB,KAAK2gI,oBAAoBjB,EAASC,EAASK,EAAiBH,EAAiBt6G,EAAiB86G,GAEzFV,EAAQhvG,cAAgBtwB,EAAOuB,cAEpC5B,KAAK4gI,2BAA2BlB,EAASC,EAASK,EAAiBH,EAAiBt6G,EAAiB86G,GAIpGX,EAAQ/uG,cAAgBtwB,EAAOuB,eAEhC+9H,EAAQhvG,cAAgBtwB,EAAOa,OAE/BlB,KAAK0gI,4BAA4Bf,EAASD,EAASM,EAAiBH,EAAiBt6G,EAAiB86G,GAEjGV,EAAQhvG,cAAgBtwB,EAAOoB,OAEpCzB,KAAK4gI,2BAA2BjB,EAASD,EAASM,EAAiBH,EAAiBt6G,EAAiB86G,MAmBjHG,sBAAuB,SAAUK,EAASC,EAASd,EAAiBH,EAAiBt6G,EAAiB86G,GAElG,SAAKQ,EAAQtuG,OAASuuG,EAAQvuG,QAK1BvyB,KAAK+gI,SAASF,EAAQtuG,KAAMuuG,EAAQvuG,KAAMstG,EAAiBt6G,EAAiB86G,KAExEL,GAEAA,EAAgBh5H,KAAKue,EAAiBs7G,EAASC,GAGnD9gI,KAAKu+H,WAGF,IAgBXkC,qBAAsB,SAAUlmG,EAAQd,EAAOumG,EAAiBH,EAAiBt6G,EAAiB86G,GAE9F,GAAqB,IAAjB5mG,EAAM1xB,QAAiBwyB,EAAOhI,KAKlC,GAAIvyB,KAAKs+H,cAAgB/jG,EAAOhI,KAAK+rG,aAIjC,IAAK,IAFDnhH,KAEKnV,EAAI,EAAGA,EAAIyxB,EAAM3H,KAAK/pB,OAAQC,IACvC,CACI,IAAI03H,EAAUjmG,EAAM3H,KAAK9pB,GAGzB,GAAK03H,GAAYA,EAAQzyG,QAAWyyG,EAAQntG,KAA5C,CASA,GAHApV,EAASuiH,EAAQntG,KAAKxkB,UAAUoP,GAG5Bnd,KAAKo+H,gBAAkB/9H,EAAOmwB,QAAQkmC,OAAO2nE,WACjD,CACI,GAAI9jG,EAAOhI,KAAK9mB,MAAQ0R,EAAOhX,EAE3B,MAEC,GAAIgX,EAAO1R,MAAQ8uB,EAAOhI,KAAKpsB,EAEhC,cAGH,GAAInG,KAAKo+H,gBAAkB/9H,EAAOmwB,QAAQkmC,OAAO+nE,WACtD,CACI,GAAIlkG,EAAOhI,KAAKpsB,EAAIgX,EAAO1R,MAEvB,MAEC,GAAI0R,EAAOhX,EAAIo0B,EAAOhI,KAAK9mB,MAE5B,cAGH,GAAIzL,KAAKo+H,gBAAkB/9H,EAAOmwB,QAAQkmC,OAAOgoE,WACtD,CACI,GAAInkG,EAAOhI,KAAK7iB,OAASyN,EAAOjQ,EAE5B,MAEC,GAAIiQ,EAAOzN,OAAS6qB,EAAOhI,KAAKrlB,EAEjC,cAGH,GAAIlN,KAAKo+H,gBAAkB/9H,EAAOmwB,QAAQkmC,OAAOioE,WACtD,CACI,GAAIpkG,EAAOhI,KAAKrlB,EAAIiQ,EAAOzN,OAEvB,MAEC,GAAIyN,EAAOjQ,EAAIqtB,EAAOhI,KAAK7iB,OAE5B,SAIR1P,KAAKwgI,sBAAsBjmG,EAAQmlG,EAASM,EAAiBH,EAAiBt6G,EAAiB86G,QAIvG,CAEIrgI,KAAKqyH,SAAS3xG,QAEd1gB,KAAKqyH,SAASpwG,MAAMjiB,KAAKgd,KAAKC,MAAME,OAAOhX,EAAGnG,KAAKgd,KAAKC,MAAME,OAAOjQ,EAAGlN,KAAKgd,KAAKC,MAAME,OAAOtL,MAAO7R,KAAKgd,KAAKC,MAAME,OAAOrL,OAAQ9R,KAAKk6F,WAAYl6F,KAAKm6F,WAE3Jn6F,KAAKqyH,SAAS33B,SAASjhE,GAIvB,IAAK,IAFDunG,EAAQhhI,KAAKqyH,SAASx3B,SAAStgE,GAE1BvyB,EAAI,EAAGA,EAAIg5H,EAAMj5H,OAAQC,IAG1BhI,KAAK+gI,SAASxmG,EAAOhI,KAAMyuG,EAAMh5H,GAAI63H,EAAiBt6G,EAAiB86G,KAEnEL,GAEAA,EAAgBh5H,KAAKue,EAAiBgV,EAAQymG,EAAMh5H,GAAGuyB,QAG3Dv6B,KAAKu+H,YAmBrBgC,mBAAoB,SAAU9mG,EAAOumG,EAAiBH,EAAiBt6G,EAAiB86G,GAEpF,GAAqB,IAAjB5mG,EAAM1xB,OAKV,IAAK,IAAIC,EAAI,EAAGA,EAAIyxB,EAAM3H,KAAK/pB,OAAQC,IACvC,CACI,IAAIi5H,KACAvB,EAAUjmG,EAAM3H,KAAK9pB,GAGzB,GAAK03H,GAAYA,EAAQzyG,QAAWyyG,EAAQntG,KAA5C,CAMA0uG,EAAUvB,EAAQntG,KAAKxkB,UAAUkzH,GAEjC,IAAK,IAAI1mH,EAAIvS,EAAI,EAAGuS,EAAIkf,EAAM3H,KAAK/pB,OAAQwS,IAC3C,CACI,IAAI2mH,KACAvB,EAAUlmG,EAAM3H,KAAKvX,GAGzB,GAAKolH,GAAYA,EAAQ1yG,QAAW0yG,EAAQptG,KAA5C,CASA,GAHA2uG,EAAUvB,EAAQptG,KAAKxkB,UAAUmzH,GAG7BlhI,KAAKo+H,gBAAkB/9H,EAAOmwB,QAAQkmC,OAAO2nE,WACjD,CACI,GAAI4C,EAAQx1H,MAAQy1H,EAAQ/6H,EAExB,MAEC,GAAI+6H,EAAQz1H,MAAQw1H,EAAQ96H,EAE7B,cAGH,GAAInG,KAAKo+H,gBAAkB/9H,EAAOmwB,QAAQkmC,OAAO+nE,WACtD,CACI,GAAIwC,EAAQ96H,EAAI+6H,EAAQz1H,MAEpB,SAEC,GAAIy1H,EAAQ/6H,EAAI86H,EAAQx1H,MAEzB,WAGH,GAAIzL,KAAKo+H,gBAAkB/9H,EAAOmwB,QAAQkmC,OAAOgoE,WACtD,CACI,GAAIuC,EAAQvxH,OAASwxH,EAAQh0H,EAEzB,SAEC,GAAIg0H,EAAQxxH,OAASuxH,EAAQ/zH,EAE9B,WAGH,GAAIlN,KAAKo+H,gBAAkB/9H,EAAOmwB,QAAQkmC,OAAOioE,WACtD,CACI,GAAIsC,EAAQ/zH,EAAIg0H,EAAQxxH,OAEpB,SAEC,GAAIwxH,EAAQh0H,EAAIwyH,EAAQntG,KAAK7iB,OAE9B,MAIR1P,KAAKwgI,sBAAsBd,EAASC,EAASK,EAAiBH,EAAiBt6G,EAAiB86G,QAkB5GM,oBAAqB,SAAUQ,EAAQC,EAAQpB,EAAiBH,EAAiBt6G,EAAiB86G,GAE9F,GAAsB,IAAlBc,EAAOp5H,QAAkC,IAAlBq5H,EAAOr5H,OAKlC,IAAK,IAAIC,EAAI,EAAGA,EAAIm5H,EAAO/yG,SAASrmB,OAAQC,IAEpCm5H,EAAO/yG,SAASpmB,GAAGilB,SAEfk0G,EAAO/yG,SAASpmB,GAAG2oB,cAAgBtwB,EAAOoB,MAE1CzB,KAAK2gI,oBAAoBQ,EAAO/yG,SAASpmB,GAAIo5H,EAAQpB,EAAiBH,EAAiBt6G,EAAiB86G,GAIxGrgI,KAAKygI,qBAAqBU,EAAO/yG,SAASpmB,GAAIo5H,EAAQpB,EAAiBH,EAAiBt6G,EAAiB86G,KAmBzHU,SAAU,SAAUM,EAAOC,EAAOzB,EAAiBt6G,EAAiB86G,GAEhE,IACKgB,EAAM1uG,SACN2uG,EAAM3uG,QACP0uG,EAAMpD,eAAesD,MACrBD,EAAMrD,eAAesD,OACpBvhI,KAAK6P,WAAWwxH,EAAOC,GAExB,OAAO,EAIX,GAAIzB,IAAyF,IAAtEA,EAAgB74H,KAAKue,EAAiB87G,EAAM9mG,OAAQ+mG,EAAM/mG,QAE7E,OAAO,EAIX,GAAI8mG,EAAMG,UAAYF,EAAME,SAExB,OAAOxhI,KAAKyhI,eAAeJ,EAAOC,EAAOjB,GAO7C,GAAIgB,EAAMG,WAAaF,EAAME,SAC7B,CACI,IAAIE,EAAYL,EAAc,SAAIC,EAAQD,EACtCM,EAAcN,EAAc,SAAIA,EAAQC,EAExCjsH,GACAlP,EAAGu7H,EAASv7H,EACZ+G,EAAGw0H,EAASx0H,EACZzB,MAAOi2H,EAASj2H,MAChBiE,OAAQgyH,EAAShyH,QAGjBoxB,EAAS6gG,EAAWC,OAExB,IAAI9gG,EAAO5zB,EAAImI,EAAKnI,GAAK4zB,EAAO5zB,EAAImI,EAAK3F,UAEjCoxB,EAAO36B,EAAIkP,EAAKlP,GAAK26B,EAAO36B,EAAIkP,EAAK5J,OAErC,OAAOzL,KAAKyhI,eAAeJ,EAAOC,EAAOjB,GAKrD,IAAIwB,GAAU,EACVC,GAAU,EAGV9hI,KAAKm+H,QAAUl4H,KAAKiK,IAAIlQ,KAAKg+H,QAAQ9wH,EAAIm0H,EAAMrD,QAAQ9wH,GAAKjH,KAAKiK,IAAIlQ,KAAKg+H,QAAQ73H,EAAIk7H,EAAMrD,QAAQ73H,IAEpG07H,EAAU7hI,KAAK+hI,UAAUV,EAAOC,EAAOjB,GAGnCrgI,KAAK6P,WAAWwxH,EAAOC,KAEvBQ,EAAU9hI,KAAKgiI,UAAUX,EAAOC,EAAOjB,MAK3CyB,EAAU9hI,KAAKgiI,UAAUX,EAAOC,EAAOjB,GAGnCrgI,KAAK6P,WAAWwxH,EAAOC,KAEvBO,EAAU7hI,KAAK+hI,UAAUV,EAAOC,EAAOjB,KAI/C,IAAIrtH,EAAU6uH,GAAWC,EA8BzB,OA5BI9uH,IAEIqtH,GAEIgB,EAAMY,WAENZ,EAAMY,UAAU5gH,SAASggH,EAAM9mG,OAAQ+mG,EAAM/mG,QAG7C+mG,EAAMW,WAENX,EAAMW,UAAU5gH,SAASigH,EAAM/mG,OAAQ8mG,EAAM9mG,UAK7C8mG,EAAMa,WAENb,EAAMa,UAAU7gH,SAASggH,EAAM9mG,OAAQ+mG,EAAM/mG,QAG7C+mG,EAAMY,WAENZ,EAAMY,UAAU7gH,SAASigH,EAAM/mG,OAAQ8mG,EAAM9mG,UAKlDvnB,GAYXnD,WAAY,SAAUwxH,EAAOC,GAEzB,OAAID,IAAUC,IAKVD,EAAMG,SAEFF,EAAME,SAGCnhI,EAAO4F,KAAKqI,SAAS+yH,EAAMO,OAAOz7H,EAAGk7H,EAAMO,OAAO10H,EAAGo0H,EAAMM,OAAOz7H,EAAGm7H,EAAMM,OAAO10H,IAAOm0H,EAAMlxH,UAAYmxH,EAAMnxH,UAKjHnQ,KAAKmiI,qBAAqBd,EAAOC,GAKxCA,EAAME,SAGCxhI,KAAKmiI,qBAAqBb,EAAOD,KAKpCA,EAAM51H,OAAS61H,EAAMxlH,SAAS3V,OAK9Bk7H,EAAM3xH,QAAU4xH,EAAMxlH,SAAS5O,OAK/Bm0H,EAAMvlH,SAAS3V,GAAKm7H,EAAM71H,UAK1B41H,EAAMvlH,SAAS5O,GAAKo0H,EAAM5xH,YAmB1CyyH,qBAAsB,SAAUrhG,EAAQvO,GAEpC,IAAIpsB,EAAI9F,EAAO4F,KAAK4R,MAAMipB,EAAO8gG,OAAOz7H,EAAGosB,EAAK7mB,KAAM6mB,EAAK9mB,OACvDyB,EAAI7M,EAAO4F,KAAK4R,MAAMipB,EAAO8gG,OAAO10H,EAAGqlB,EAAK9iB,IAAK8iB,EAAK7iB,QAK1D,OAHUoxB,EAAO8gG,OAAOz7H,EAAIA,IAAM26B,EAAO8gG,OAAOz7H,EAAIA,IAC1C26B,EAAO8gG,OAAO10H,EAAIA,IAAM4zB,EAAO8gG,OAAO10H,EAAIA,IAE/B4zB,EAAO3wB,UAAY2wB,EAAO3wB,WAcnDsxH,eAAgB,SAAUJ,EAAOC,EAAOjB,GAGpCrgI,KAAKoiI,YAAYf,EAAOC,GACxBthI,KAAKqiI,YAAYhB,EAAOC,GAExB,IAAIlyH,EAAKkyH,EAAMM,OAAOz7H,EAAIk7H,EAAMO,OAAOz7H,EACnCkJ,EAAKiyH,EAAMM,OAAO10H,EAAIm0H,EAAMO,OAAO10H,EAEnCo1H,EAAiBr8H,KAAKwO,MAAMpF,EAAID,GAEhC6kD,EAAU,EAEd,GAAIotE,EAAMG,WAAaF,EAAME,SAC7B,CACI,IAAInsH,GACAlP,EAAIm7H,EAAc,SAAID,EAAMvlH,SAAS3V,EAAIm7H,EAAMxlH,SAAS3V,EACxD+G,EAAIo0H,EAAc,SAAID,EAAMvlH,SAAS5O,EAAIo0H,EAAMxlH,SAAS5O,EACxDzB,MAAQ61H,EAAc,SAAID,EAAM51H,MAAQ61H,EAAM71H,MAC9CiE,OAAS4xH,EAAc,SAAID,EAAM3xH,OAAS4xH,EAAM5xH,QAGhDoxB,GACA36B,EAAIk7H,EAAc,SAAIA,EAAMO,OAAOz7H,EAAIm7H,EAAMM,OAAOz7H,EACpD+G,EAAIm0H,EAAc,SAAIA,EAAMO,OAAO10H,EAAIo0H,EAAMM,OAAO10H,EACpDY,OAASuzH,EAAc,SAAIA,EAAMlxH,UAAYmxH,EAAMnxH,WAGnD2wB,EAAO5zB,EAAImI,EAAKnI,EAEZ4zB,EAAO36B,EAAIkP,EAAKlP,EAEhB8tD,EAAU5zD,EAAO4F,KAAKqI,SAASwyB,EAAO36B,EAAG26B,EAAO5zB,EAAGmI,EAAKlP,EAAGkP,EAAKnI,GAAK4zB,EAAOhzB,OAEvEgzB,EAAO36B,EAAIkP,EAAK5J,QAErBwoD,EAAU5zD,EAAO4F,KAAKqI,SAASwyB,EAAO36B,EAAG26B,EAAO5zB,EAAGmI,EAAK5J,MAAO4J,EAAKnI,GAAK4zB,EAAOhzB,QAG/EgzB,EAAO5zB,EAAImI,EAAK3F,SAEjBoxB,EAAO36B,EAAIkP,EAAKlP,EAEhB8tD,EAAU5zD,EAAO4F,KAAKqI,SAASwyB,EAAO36B,EAAG26B,EAAO5zB,EAAGmI,EAAKlP,EAAGkP,EAAK3F,QAAUoxB,EAAOhzB,OAE5EgzB,EAAO36B,EAAIkP,EAAK5J,QAErBwoD,EAAU5zD,EAAO4F,KAAKqI,SAASwyB,EAAO36B,EAAG26B,EAAO5zB,EAAGmI,EAAK5J,MAAO4J,EAAK3F,QAAUoxB,EAAOhzB,SAI7FmmD,IAAY,OAIZA,EAAWotE,EAAMlxH,UAAYmxH,EAAMnxH,UAAa9P,EAAO4F,KAAKqI,SAAS+yH,EAAMO,OAAOz7H,EAAGk7H,EAAMO,OAAO10H,EAAGo0H,EAAMM,OAAOz7H,EAAGm7H,EAAMM,OAAO10H,GAItI,GAAImzH,GAA2B,IAAZpsE,GAAkBotE,EAAMkB,WAAajB,EAAMiB,WAAclB,EAAMmB,iBAAmBlB,EAAMkB,gBAgBvG,OAdgB,IAAZvuE,IAEIotE,EAAMY,WAENZ,EAAMY,UAAU5gH,SAASggH,EAAM9mG,OAAQ+mG,EAAM/mG,QAG7C+mG,EAAMW,WAENX,EAAMW,UAAU5gH,SAASigH,EAAM/mG,OAAQ8mG,EAAM9mG,SAKjC,IAAZ05B,EAKZ,IAAI8yB,GACA5gF,EAAGk7H,EAAMjC,SAASj5H,EAAIF,KAAK2H,IAAI00H,GAAkBjB,EAAMjC,SAASlyH,EAAIjH,KAAK4H,IAAIy0H,GAC7Ep1H,EAAGm0H,EAAMjC,SAASj5H,EAAIF,KAAK4H,IAAIy0H,GAAkBjB,EAAMjC,SAASlyH,EAAIjH,KAAK2H,IAAI00H,IAG7Et7C,GACA7gF,EAAGm7H,EAAMlC,SAASj5H,EAAIF,KAAK2H,IAAI00H,GAAkBhB,EAAMlC,SAASlyH,EAAIjH,KAAK4H,IAAIy0H,GAC7Ep1H,EAAGo0H,EAAMlC,SAASj5H,EAAIF,KAAK4H,IAAIy0H,GAAkBhB,EAAMlC,SAASlyH,EAAIjH,KAAK2H,IAAI00H,IAI7EG,IAAapB,EAAMqB,KAAOpB,EAAMoB,MAAQ37C,EAAG5gF,EAAI,EAAIm7H,EAAMoB,KAAO17C,EAAG7gF,IAAMk7H,EAAMqB,KAAOpB,EAAMoB,MAC5FC,GAAY,EAAItB,EAAMqB,KAAO37C,EAAG5gF,GAAKm7H,EAAMoB,KAAOrB,EAAMqB,MAAQ17C,EAAG7gF,IAAMk7H,EAAMqB,KAAOpB,EAAMoB,MAgFhG,OA7EKrB,EAAMkB,YAEPlB,EAAMjC,SAASj5H,GAAKs8H,EAAWx8H,KAAK2H,IAAI00H,GAAkBv7C,EAAG75E,EAAIjH,KAAK4H,IAAIy0H,IAAmBjB,EAAMuB,OAAOz8H,EAC1Gk7H,EAAMjC,SAASlyH,GAAK65E,EAAG75E,EAAIjH,KAAK2H,IAAI00H,GAAkBG,EAAWx8H,KAAK4H,IAAIy0H,IAAmBjB,EAAMuB,OAAO11H,GAGzGo0H,EAAMiB,YAEPjB,EAAMlC,SAASj5H,GAAKw8H,EAAW18H,KAAK2H,IAAI00H,GAAkBt7C,EAAG95E,EAAIjH,KAAK4H,IAAIy0H,IAAmBhB,EAAMsB,OAAOz8H,EAC1Gm7H,EAAMlC,SAASlyH,GAAK85E,EAAG95E,EAAIjH,KAAK2H,IAAI00H,GAAkBK,EAAW18H,KAAK4H,IAAIy0H,IAAmBhB,EAAMsB,OAAO11H,GAO1GjH,KAAKiK,IAAIoyH,GAAkBr8H,KAAKsH,GAAK,EAEhC8zH,EAAMjC,SAASj5H,EAAI,IAAOk7H,EAAMkB,WAAcjB,EAAMlC,SAASj5H,EAAIk7H,EAAMjC,SAASj5H,EAEjFk7H,EAAMjC,SAASj5H,IAAM,EAEfm7H,EAAMlC,SAASj5H,EAAI,IAAOm7H,EAAMiB,WAAclB,EAAMjC,SAASj5H,EAAIm7H,EAAMlC,SAASj5H,EAEtFm7H,EAAMlC,SAASj5H,IAAM,EAEfk7H,EAAMjC,SAASlyH,EAAI,IAAOm0H,EAAMkB,WAAcjB,EAAMlC,SAASlyH,EAAIm0H,EAAMjC,SAASlyH,EAEtFm0H,EAAMjC,SAASlyH,IAAM,EAEfo0H,EAAMlC,SAASlyH,EAAI,IAAOo0H,EAAMiB,WAAclB,EAAMjC,SAASlyH,EAAIo0H,EAAMlC,SAASlyH,IAEtFo0H,EAAMlC,SAASlyH,IAAM,GAGpBjH,KAAKiK,IAAIoyH,GAAkBr8H,KAAKsH,GAAK,IAErC8zH,EAAMjC,SAASj5H,EAAI,IAAOk7H,EAAMkB,WAAcjB,EAAMlC,SAASj5H,EAAIk7H,EAAMjC,SAASj5H,EAEjFk7H,EAAMjC,SAASj5H,IAAM,EAEfm7H,EAAMlC,SAASj5H,EAAI,IAAOm7H,EAAMiB,WAAclB,EAAMjC,SAASj5H,EAAIm7H,EAAMlC,SAASj5H,EAEtFm7H,EAAMlC,SAASj5H,IAAM,EAEfk7H,EAAMjC,SAASlyH,EAAI,IAAOm0H,EAAMkB,WAAcjB,EAAMlC,SAASlyH,EAAIm0H,EAAMjC,SAASlyH,EAEtFm0H,EAAMjC,SAASlyH,IAAM,EAEfo0H,EAAMlC,SAASlyH,EAAI,IAAOo0H,EAAMiB,WAAclB,EAAMjC,SAASj5H,EAAIm7H,EAAMlC,SAASlyH,IAEtFo0H,EAAMlC,SAASlyH,IAAM,IAIxBm0H,EAAMkB,YAEPlB,EAAMl7H,GAAMk7H,EAAMjC,SAASj5H,EAAInG,KAAKgd,KAAKmE,KAAKunE,eAAkBz0B,EAAUhuD,KAAK2H,IAAI00H,GACnFjB,EAAMn0H,GAAMm0H,EAAMjC,SAASlyH,EAAIlN,KAAKgd,KAAKmE,KAAKunE,eAAkBz0B,EAAUhuD,KAAK4H,IAAIy0H,IAGlFhB,EAAMiB,YAEPjB,EAAMn7H,GAAMm7H,EAAMlC,SAASj5H,EAAInG,KAAKgd,KAAKmE,KAAKunE,eAAkBz0B,EAAUhuD,KAAK2H,IAAI00H,GACnFhB,EAAMp0H,GAAMo0H,EAAMlC,SAASlyH,EAAIlN,KAAKgd,KAAKmE,KAAKunE,eAAkBz0B,EAAUhuD,KAAK4H,IAAIy0H,IAGnFjB,EAAMa,WAENb,EAAMa,UAAU7gH,SAASggH,EAAM9mG,OAAQ+mG,EAAM/mG,QAG7C+mG,EAAMY,WAENZ,EAAMY,UAAU7gH,SAASigH,EAAM/mG,OAAQ8mG,EAAM9mG,SAG1C,GAcX6nG,YAAa,SAAUf,EAAOC,EAAOjB,GAEjC,IAAIpsE,EAAU,EACV4uE,EAAaxB,EAAMyB,YAAcxB,EAAMwB,YAAc9iI,KAAKk+H,aA+C9D,OA7CuB,IAAnBmD,EAAM72F,UAAqC,IAAnB82F,EAAM92F,UAG9B62F,EAAM0B,UAAW,EACjBzB,EAAMyB,UAAW,GAEZ1B,EAAM72F,SAAW82F,EAAM92F,UAG5BypB,EAAUotE,EAAM51H,MAAQ61H,EAAMn7H,GAEf08H,IAAexC,IAA+C,IAA/BgB,EAAMpD,eAAexyH,QAAiD,IAA9B61H,EAAMrD,eAAevyH,KAEvGuoD,EAAU,GAIVotE,EAAM2B,SAASzB,MAAO,EACtBF,EAAM2B,SAASv3H,OAAQ,EACvB61H,EAAM0B,SAASzB,MAAO,EACtBD,EAAM0B,SAASt3H,MAAO,GAGrB21H,EAAM72F,SAAW82F,EAAM92F,aAG5BypB,EAAUotE,EAAMl7H,EAAIm7H,EAAMzvH,MAAQyvH,EAAMn7H,GAExB08H,IAAexC,IAA8C,IAA9BgB,EAAMpD,eAAevyH,OAAiD,IAA/B41H,EAAMrD,eAAexyH,MAEvGwoD,EAAU,GAIVotE,EAAM2B,SAASzB,MAAO,EACtBF,EAAM2B,SAASt3H,MAAO,EACtB41H,EAAM0B,SAASzB,MAAO,EACtBD,EAAM0B,SAASv3H,OAAQ,IAK/B41H,EAAM4B,SAAWhvE,EACjBqtE,EAAM2B,SAAWhvE,EAEVA,GAcXouE,YAAa,SAAUhB,EAAOC,EAAOjB,GAEjC,IAAIpsE,EAAU,EACV4uE,EAAaxB,EAAM6B,YAAc5B,EAAM4B,YAAcljI,KAAKk+H,aA+C9D,OA7CuB,IAAnBmD,EAAM/3F,UAAqC,IAAnBg4F,EAAMh4F,UAG9B+3F,EAAM0B,UAAW,EACjBzB,EAAMyB,UAAW,GAEZ1B,EAAM/3F,SAAWg4F,EAAMh4F,UAG5B2qB,EAAUotE,EAAM3xH,OAAS4xH,EAAMp0H,GAEhB21H,IAAexC,IAA8C,IAA9BgB,EAAMpD,eAAejvF,OAA8C,IAA5BsyF,EAAMrD,eAAe95E,GAEtG8P,EAAU,GAIVotE,EAAM2B,SAASzB,MAAO,EACtBF,EAAM2B,SAASh0F,MAAO,EACtBsyF,EAAM0B,SAASzB,MAAO,EACtBD,EAAM0B,SAAS7+E,IAAK,GAGnBk9E,EAAM/3F,SAAWg4F,EAAMh4F,aAG5B2qB,EAAUotE,EAAMn0H,EAAIo0H,EAAM5xH,QAEVmzH,IAAexC,IAA4C,IAA5BgB,EAAMpD,eAAe95E,KAA8C,IAA9Bm9E,EAAMrD,eAAejvF,KAErGilB,EAAU,GAIVotE,EAAM2B,SAASzB,MAAO,EACtBF,EAAM2B,SAAS7+E,IAAK,EACpBm9E,EAAM0B,SAASzB,MAAO,EACtBD,EAAM0B,SAASh0F,MAAO,IAK9BqyF,EAAM8B,SAAWlvE,EACjBqtE,EAAM6B,SAAWlvE,EAEVA,GAcX8tE,UAAW,SAAUV,EAAOC,EAAOjB,GAE/B,IAAIpsE,EAAUj0D,KAAKoiI,YAAYf,EAAOC,EAAOjB,GAG7C,GAAIA,GAA2B,IAAZpsE,GAAkBotE,EAAMkB,WAAajB,EAAMiB,WAAclB,EAAMmB,iBAAmBlB,EAAMkB,gBAGvG,OAAoB,IAAZvuE,GAAmBotE,EAAM0B,UAAYzB,EAAMyB,SAIvD,IAAIh8C,EAAKs6C,EAAMjC,SAASj5H,EACpB6gF,EAAKs6C,EAAMlC,SAASj5H,EAExB,GAAKk7H,EAAMkB,WAAcjB,EAAMiB,UAiBrBlB,EAAMkB,WAaZjB,EAAMn7H,GAAK8tD,EACXqtE,EAAMlC,SAASj5H,EAAI4gF,EAAKC,EAAKs6C,EAAMsB,OAAOz8H,EAGtCk7H,EAAM+B,QAEN9B,EAAMp0H,IAAMm0H,EAAMn0H,EAAIm0H,EAAMtjE,KAAK7wD,GAAKm0H,EAAMgC,SAASn2H,KAjBzDm0H,EAAMl7H,GAAK8tD,EACXotE,EAAMjC,SAASj5H,EAAI6gF,EAAKD,EAAKs6C,EAAMuB,OAAOz8H,EAGtCm7H,EAAM8B,QAEN/B,EAAMn0H,IAAMo0H,EAAMp0H,EAAIo0H,EAAMvjE,KAAK7wD,GAAKo0H,EAAM+B,SAASn2H,QAxB7D,CACI+mD,GAAW,GAEXotE,EAAMl7H,GAAK8tD,EACXqtE,EAAMn7H,GAAK8tD,EAEX,IAAIqvE,EAAMr9H,KAAKkL,KAAM61E,EAAKA,EAAKs6C,EAAMoB,KAAQrB,EAAMqB,OAAU17C,EAAK,EAAK,GAAK,GACxEu8C,EAAMt9H,KAAKkL,KAAM41E,EAAKA,EAAKs6C,EAAMqB,KAAQpB,EAAMoB,OAAU37C,EAAK,EAAK,GAAK,GACxEy8C,EAAoB,IAAbF,EAAMC,GAEjBD,GAAOE,EACPD,GAAOC,EAEPnC,EAAMjC,SAASj5H,EAAIq9H,EAAMF,EAAMjC,EAAMuB,OAAOz8H,EAC5Cm7H,EAAMlC,SAASj5H,EAAIq9H,EAAMD,EAAMjC,EAAMsB,OAAOz8H,EA0BhD,OAAO,GAcX67H,UAAW,SAAUX,EAAOC,EAAOjB,GAE/B,IAAIpsE,EAAUj0D,KAAKqiI,YAAYhB,EAAOC,EAAOjB,GAG7C,GAAIA,GAA2B,IAAZpsE,GAAkBotE,EAAMkB,WAAajB,EAAMiB,WAAclB,EAAMoC,iBAAmBnC,EAAMmC,gBAGvG,OAAoB,IAAZxvE,GAAmBotE,EAAM0B,UAAYzB,EAAMyB,SAIvD,IAAIh8C,EAAKs6C,EAAMjC,SAASlyH,EACpB85E,EAAKs6C,EAAMlC,SAASlyH,EAExB,GAAKm0H,EAAMkB,WAAcjB,EAAMiB,UAiBrBlB,EAAMkB,WAaZjB,EAAMp0H,GAAK+mD,EACXqtE,EAAMlC,SAASlyH,EAAI65E,EAAKC,EAAKs6C,EAAMsB,OAAO11H,EAGtCm0H,EAAM+B,QAEN9B,EAAMn7H,IAAMk7H,EAAMl7H,EAAIk7H,EAAMtjE,KAAK53D,GAAKk7H,EAAMgC,SAASl9H,KAjBzDk7H,EAAMn0H,GAAK+mD,EACXotE,EAAMjC,SAASlyH,EAAI85E,EAAKD,EAAKs6C,EAAMuB,OAAO11H,EAGtCo0H,EAAM8B,QAEN/B,EAAMl7H,IAAMm7H,EAAMn7H,EAAIm7H,EAAMvjE,KAAK53D,GAAKm7H,EAAM+B,SAASl9H,QAxB7D,CACI8tD,GAAW,GAEXotE,EAAMn0H,GAAK+mD,EACXqtE,EAAMp0H,GAAK+mD,EAEX,IAAIqvE,EAAMr9H,KAAKkL,KAAM61E,EAAKA,EAAKs6C,EAAMoB,KAAQrB,EAAMqB,OAAU17C,EAAK,EAAK,GAAK,GACxEu8C,EAAMt9H,KAAKkL,KAAM41E,EAAKA,EAAKs6C,EAAMqB,KAAQpB,EAAMoB,OAAU37C,EAAK,EAAK,GAAK,GACxEy8C,EAAoB,IAAbF,EAAMC,GAEjBD,GAAOE,EACPD,GAAOC,EAEPnC,EAAMjC,SAASlyH,EAAIs2H,EAAMF,EAAMjC,EAAMuB,OAAO11H,EAC5Co0H,EAAMlC,SAASlyH,EAAIs2H,EAAMD,EAAMjC,EAAMsB,OAAO11H,EA0BhD,OAAO,GAgBXw2H,uBAAwB,SAAUr4G,EAASoO,EAAOhG,EAAUlO,GAExD,GAAqB,IAAjBkU,EAAM1xB,QAAiBsjB,EAAQ4B,OAKnC,OAAOjtB,KAAK2jI,qBAAqBt4G,EAAQllB,EAAGklB,EAAQne,EAAGusB,EAAOhG,EAAUlO,EAAiB8F,IAkB7Fs4G,qBAAsB,SAAUx9H,EAAG+G,EAAGusB,EAAOhG,EAAUlO,EAAiBq+G,GAEpE5jI,KAAKqyH,SAAS3xG,QAEd1gB,KAAKqyH,SAASpwG,MAAMjiB,KAAKgd,KAAKC,MAAME,OAAOhX,EAAGnG,KAAKgd,KAAKC,MAAME,OAAOjQ,EAAGlN,KAAKgd,KAAKC,MAAME,OAAOtL,MAAO7R,KAAKgd,KAAKC,MAAME,OAAOrL,OAAQ9R,KAAKk6F,WAAYl6F,KAAKm6F,WAE3Jn6F,KAAKqyH,SAAS33B,SAASjhE,GAOvB,IAAK,IALDpkB,EAAO,IAAIhV,EAAO2N,UAAU7H,EAAG+G,EAAG,EAAG,GACrCsB,KAEAwyH,EAAQhhI,KAAKqyH,SAASx3B,SAASxlF,GAE1BrN,EAAI,EAAGA,EAAIg5H,EAAMj5H,OAAQC,IAE1Bg5H,EAAMh5H,GAAG89B,QAAQ3/B,EAAG+G,KAEhBumB,GAEAA,EAASzsB,KAAKue,EAAiBq+G,EAAa5C,EAAMh5H,GAAGuyB,QAGzD/rB,EAAO+F,KAAKysH,EAAMh5H,GAAGuyB,SAI7B,OAAO/rB,GAmBXq1H,aAAc,SAAUrmH,EAAewlD,EAAaniC,EAAOijG,QAEzCv5H,IAAVs2B,IAAuBA,EAAQ,SACnBt2B,IAAZu5H,IAAyBA,EAAU,GAEvC,IAAIn1H,EAAQ1I,KAAKwO,MAAMuuD,EAAY91D,EAAIsQ,EAActQ,EAAG81D,EAAY78D,EAAIqX,EAAcrX,GAUtF,OARI29H,EAAU,IAGVjjG,EAAQ7gC,KAAK+jI,gBAAgBvmH,EAAewlD,IAAgB8gE,EAAU,MAG1EtmH,EAAc+U,KAAK6sG,SAAS7nH,WAAW5I,EAAOkyB,GAEvClyB,GAkBXq1H,cAAe,SAAUxmH,EAAeqjB,EAAOxV,EAASy4G,QAEtCv5H,IAAVs2B,IAAuBA,EAAQ,IACnCxV,EAAUA,GAAWrrB,KAAKgd,KAAKsF,MAAM8f,mBACrB73B,IAAZu5H,IAAyBA,EAAU,GAEvC,IAAIn1H,EAAQ3O,KAAKikI,eAAezmH,EAAe6N,GAU/C,OARIy4G,EAAU,IAGVjjG,EAAQ7gC,KAAKkkI,kBAAkB1mH,EAAe6N,IAAYy4G,EAAU,MAGxEtmH,EAAc+U,KAAK6sG,SAAS7nH,WAAW5I,EAAOkyB,GAEvClyB,GAoBXw1H,SAAU,SAAU3mH,EAAerX,EAAG+G,EAAG2zB,EAAOijG,QAE9Bv5H,IAAVs2B,IAAuBA,EAAQ,SACnBt2B,IAAZu5H,IAAyBA,EAAU,GAEvC,IAAIn1H,EAAQ1I,KAAKwO,MAAMvH,EAAIsQ,EAActQ,EAAG/G,EAAIqX,EAAcrX,GAU9D,OARI29H,EAAU,IAGVjjG,EAAQ7gC,KAAKokI,aAAa5mH,EAAerX,EAAG+G,IAAM42H,EAAU,MAGhEtmH,EAAc+U,KAAK6sG,SAAS7nH,WAAW5I,EAAOkyB,GAEvClyB,GAcX01H,kBAAmB,SAAU11H,EAAOkyB,EAAOtxB,GAKvC,YAHchF,IAAVs2B,IAAuBA,EAAQ,KACnCtxB,EAAQA,GAAS,IAAIlP,EAAOoN,OAEf8J,WAAW5I,EAAOkyB,GAAO,IAc1CyjG,qBAAsB,SAAUtqG,EAAU6G,EAAOtxB,GAK7C,YAHchF,IAAVs2B,IAAuBA,EAAQ,KACnCtxB,EAAQA,GAAS,IAAIlP,EAAOoN,OAEf8J,WAAWyiB,EAAU6G,IActC0jG,yBAA0B,SAAUvqG,EAAU6G,EAAOtxB,GAKjD,YAHchF,IAAVs2B,IAAuBA,EAAQ,KACnCtxB,EAAQA,GAAS,IAAIlP,EAAOoN,OAEf8J,WAAWyiB,EAAU6G,IAkBtC2jG,mBAAoB,SAAUhnH,EAAewlD,EAAaniC,EAAO4jG,EAAWC,QAE1Dn6H,IAAVs2B,IAAuBA,EAAQ,SACjBt2B,IAAdk6H,IAA2BA,EAAY,UACzBl6H,IAAdm6H,IAA2BA,EAAY,KAE3C,IAAI/1H,EAAQ3O,KAAK82F,aAAat5E,EAAewlD,GAK7C,OAHAxlD,EAAc+U,KAAK8sG,aAAa9nH,WAAW5I,EAAOkyB,GAClDrjB,EAAc+U,KAAKgtG,YAAYtxH,MAAMw2H,EAAWC,GAEzC/1H,GAkBXg2H,oBAAqB,SAAUnnH,EAAe6N,EAASwV,EAAO4jG,EAAWC,QAEvDn6H,IAAVs2B,IAAuBA,EAAQ,SACnBt2B,IAAZ8gB,IAAyBA,EAAUrrB,KAAKgd,KAAKsF,MAAM8f,oBACrC73B,IAAdk6H,IAA2BA,EAAY,UACzBl6H,IAAdm6H,IAA2BA,EAAY,KAE3C,IAAI/1H,EAAQ3O,KAAKikI,eAAezmH,EAAe6N,GAK/C,OAHA7N,EAAc+U,KAAK8sG,aAAa9nH,WAAW5I,EAAOkyB,GAClDrjB,EAAc+U,KAAKgtG,YAAYtxH,MAAMw2H,EAAWC,GAEzC/1H,GAmBXi2H,eAAgB,SAAUpnH,EAAerX,EAAG+G,EAAG2zB,EAAO4jG,EAAWC,QAE/Cn6H,IAAVs2B,IAAuBA,EAAQ,SACjBt2B,IAAdk6H,IAA2BA,EAAY,UACzBl6H,IAAdm6H,IAA2BA,EAAY,KAE3C,IAAI/1H,EAAQ3O,KAAK6kI,UAAUrnH,EAAerX,EAAG+G,GAK7C,OAHAsQ,EAAc+U,KAAK8sG,aAAapxH,MAAMU,EAAOkyB,GAC7CrjB,EAAc+U,KAAKgtG,YAAYtxH,MAAMw2H,EAAWC,GAEzC/1H,GAiBXo1H,gBAAiB,SAAU51H,EAAQjH,EAAQ+V,QAEzB1S,IAAV0S,IAAuBA,GAAQ,GAEnC,IAAI7N,EAAK,EAAUjB,EAAO8O,MAAM9W,EAAIe,EAAO+V,MAAM9W,EAAIgI,EAAOhI,EAAIe,EAAOf,EACnEkJ,EAAK,EAAUlB,EAAO8O,MAAM/P,EAAIhG,EAAO+V,MAAM/P,EAAIiB,EAAOjB,EAAIhG,EAAOgG,EAEvE,OAAOjH,KAAKkL,KAAK/B,EAAKA,EAAKC,EAAKA,IAoBpC+0H,aAAc,SAAU5mH,EAAerX,EAAG+G,EAAG+P,QAE3B1S,IAAV0S,IAAuBA,GAAQ,GAEnC,IAAI7N,EAAK,EAAUoO,EAAcP,MAAM9W,EAAIA,EAAIqX,EAAcrX,EAAIA,EAC7DkJ,EAAK,EAAUmO,EAAcP,MAAM/P,EAAIA,EAAIsQ,EAActQ,EAAIA,EAEjE,OAAOjH,KAAKkL,KAAK/B,EAAKA,EAAKC,EAAKA,IAmBpC60H,kBAAmB,SAAU1mH,EAAe6N,EAASpO,QAEjC1S,IAAZ8gB,IAAyBA,EAAUrrB,KAAKgd,KAAKsF,MAAM8f,oBACzC73B,IAAV0S,IAAuBA,GAAQ,GAEnC,IAAI7N,EAAK,EAAUoO,EAAcP,MAAM9W,EAAIklB,EAAQkmG,OAAS/zG,EAAcrX,EAAIklB,EAAQkmG,OAClFliH,EAAK,EAAUmO,EAAcP,MAAM/P,EAAIme,EAAQmmG,OAASh0G,EAActQ,EAAIme,EAAQmmG,OAEtF,OAAOvrH,KAAKkL,KAAK/B,EAAKA,EAAKC,EAAKA,IAcpCy1H,QAAS,SAAU32H,EAAQ42H,EAAS9nH,GAIhC,IAAK,IAHDrJ,EAAMoC,EAAAA,EACN8uH,EAAU,KAEL98H,EAAI,EAAGF,EAAMi9H,EAAQh9H,OAAQC,EAAIF,EAAKE,IAC/C,CACI,IAAId,EAAS69H,EAAQ/8H,GACjBsG,EAAWtO,KAAK+jI,gBAAgB51H,EAAQjH,EAAQ+V,GAEhD3O,EAAWsF,IAEXkxH,EAAU59H,EACV0M,EAAMtF,GAId,OAAOw2H,GAYXE,SAAU,SAAU72H,EAAQ42H,EAAS9nH,GAIjC,IAAK,IAHDnJ,GAAO,EACPkxH,EAAW,KAENh9H,EAAI,EAAGF,EAAMi9H,EAAQh9H,OAAQC,EAAIF,EAAKE,IAC/C,CACI,IAAId,EAAS69H,EAAQ/8H,GACjBsG,EAAWtO,KAAK+jI,gBAAgB51H,EAAQjH,EAAQ+V,GAEhD3O,EAAWwF,IAEXkxH,EAAW99H,EACX4M,EAAMxF,GAId,OAAO02H,GAgBXluC,aAAc,SAAU3oF,EAAQjH,EAAQ+V,GAIpC,YAFc1S,IAAV0S,IAAuBA,GAAQ,GAE/BA,EAEOhX,KAAKwO,MAAMvN,EAAO+V,MAAM/P,EAAIiB,EAAO8O,MAAM/P,EAAGhG,EAAO+V,MAAM9W,EAAIgI,EAAO8O,MAAM9W,GAI1EF,KAAKwO,MAAMvN,EAAOgG,EAAIiB,EAAOjB,EAAGhG,EAAOf,EAAIgI,EAAOhI,IAajE8+H,oBAAqB,SAAU92H,EAAQjH,GAEnC,IAAIkI,EAAKlI,EAAOuL,QAAUtE,EAAOsE,QAC7BpD,EAAKnI,EAAOwL,QAAUvE,EAAOuE,QAEjC,OAAOzM,KAAKwO,MAAMpF,EAAID,IAkB1By1H,UAAW,SAAUrnH,EAAerX,EAAG+G,EAAG+P,GAItC,YAFc1S,IAAV0S,IAAuBA,GAAQ,GAE/BA,EAEOhX,KAAKwO,MAAMvH,EAAIsQ,EAAcP,MAAM/P,EAAG/G,EAAIqX,EAAcP,MAAM9W,GAI9DF,KAAKwO,MAAMvH,EAAIsQ,EAActQ,EAAG/G,EAAIqX,EAAcrX,IAkBjE89H,eAAgB,SAAUzmH,EAAe6N,EAASpO,GAK9C,YAHgB1S,IAAZ8gB,IAAyBA,EAAUrrB,KAAKgd,KAAKsF,MAAM8f,oBACzC73B,IAAV0S,IAAuBA,GAAQ,GAE/BA,EAEOhX,KAAKwO,MAAM4W,EAAQmmG,OAASh0G,EAAcP,MAAM/P,EAAGme,EAAQkmG,OAAS/zG,EAAcP,MAAM9W,GAIxFF,KAAKwO,MAAM4W,EAAQmmG,OAASh0G,EAActQ,EAAGme,EAAQkmG,OAAS/zG,EAAcrX,IAc3F++H,oBAAqB,SAAU1nH,EAAe6N,GAE1C,OAAOrrB,KAAKikI,eAAezmH,EAAe6N,GAAS,KAoB3DhrB,EAAOmwB,QAAQkmC,OAAO67D,KAAO,SAAUh4F,GAKnCv6B,KAAKu6B,OAASA,EAKdv6B,KAAKgd,KAAOud,EAAOvd,KAKnBhd,KAAKoI,KAAO/H,EAAOmwB,QAAQC,OAM3BzwB,KAAK2yB,QAAS,EASd3yB,KAAKwhI,UAAW,EAWhBxhI,KAAK8N,OAAS,EAKd9N,KAAKmP,OAAS,IAAI9O,EAAOoN,MAMzBzN,KAAK8b,SAAW,IAAIzb,EAAOoN,MAAM8sB,EAAOp0B,EAAGo0B,EAAOrtB,GAMlDlN,KAAK+9D,KAAO,IAAI19D,EAAOoN,MAAMzN,KAAK8b,SAAS3V,EAAGnG,KAAK8b,SAAS5O,GAM5DlN,KAAK6+H,eAAgB,EAOrB7+H,KAAKg6B,SAAWO,EAAO5rB,MAMvB3O,KAAKmlI,YAAc5qG,EAAO5rB,MAM1B3O,KAAK6R,MAAQ0oB,EAAO1oB,MAMpB7R,KAAK8R,OAASyoB,EAAOzoB,OAMrB9R,KAAKwgF,YAAcjmD,EAAO1oB,MAM1B7R,KAAKygF,aAAelmD,EAAOzoB,OAEvByoB,EAAO6L,UAEPpmC,KAAKwgF,YAAcjmD,EAAO6L,QAAQ9S,MAAMzhB,MACxC7R,KAAKygF,aAAelmD,EAAO6L,QAAQ9S,MAAMxhB,QAO7C9R,KAAKmQ,UAAYlK,KAAKiK,IAAIqqB,EAAO1oB,MAAQ,GAMzC7R,KAAKqQ,WAAapK,KAAKiK,IAAIqqB,EAAOzoB,OAAS,GAM3C9R,KAAK4hI,OAAS,IAAIvhI,EAAOoN,MAAM8sB,EAAOp0B,EAAInG,KAAKmQ,UAAWoqB,EAAOrtB,EAAIlN,KAAKqQ,YAK1ErQ,KAAKo/H,SAAW,IAAI/+H,EAAOoN,MAM3BzN,KAAKolI,YAAc,IAAI/kI,EAAOoN,MAK9BzN,KAAKqlI,SAAW,IAAIhlI,EAAOoN,MAK3BzN,KAAKq/H,aAAe,IAAIh/H,EAAOoN,MAM9BzN,KAAKy/H,WAAY,EAKlBz/H,KAAKs/H,KAAO,IAAIj/H,EAAOoN,MAMvBzN,KAAKw/H,cAAe,EAKpBx/H,KAAKg+H,QAAU,IAAI39H,EAAOoN,MAK1BzN,KAAK4iI,OAAS,IAAIviI,EAAOoN,MAQzBzN,KAAKslI,YAAc,KAYnBtlI,KAAKulI,cAAgB,KAoBrBvlI,KAAKkiI,UAAY,KAoBjBliI,KAAKiiI,UAAY,KAMjBjiI,KAAKu/H,YAAc,IAAIl/H,EAAOoN,MAAM,IAAO,KAK3CzN,KAAKqjI,SAAW,IAAIhjI,EAAOoN,MAAM,EAAG,GAMpCzN,KAAKg/H,gBAAkB,EAMvBh/H,KAAKi/H,oBAAsB,EAM3Bj/H,KAAKk/H,YAAc,EAMnBl/H,KAAKm/H,WAAa,IAMlBn/H,KAAK0iI,KAAO,EAMZ1iI,KAAK2O,MAAQ,EAMb3O,KAAK6gC,MAAQ,EAMb7gC,KAAKwlI,OAASnlI,EAAOQ,KAMrBb,KAAKuiI,WAAY,EAcjBviI,KAAKojI,OAAQ,EAQbpjI,KAAKwiI,iBAAkB,EAQvBxiI,KAAKyjI,iBAAkB,EAMvBzjI,KAAKijI,SAAW,EAMhBjjI,KAAKmjI,SAAW,EAMhBnjI,KAAKylI,SAAW,EAMhBzlI,KAAK+iI,UAAW,EAMhB/iI,KAAK0lI,oBAAqB,EAS1B1lI,KAAKi+H,gBAAmBsD,MAAM,EAAOp9E,IAAI,EAAMnV,MAAM,EAAMtjC,MAAM,EAAMD,OAAO,GAO9EzL,KAAKgjI,UAAazB,MAAM,EAAMp9E,IAAI,EAAOnV,MAAM,EAAOtjC,MAAM,EAAOD,OAAO,GAM1EzL,KAAK2lI,aAAgBpE,MAAM,EAAMp9E,IAAI,EAAOnV,MAAM,EAAOtjC,MAAM,EAAOD,OAAO,GAO7EzL,KAAK4lI,SAAYrE,MAAM,EAAMp9E,IAAI,EAAOnV,MAAM,EAAOtjC,MAAM,EAAOD,OAAO,GAOzEzL,KAAK6lI,YAAc,IAAIxlI,EAAOoN,MAK9BzN,KAAKgqB,OAAQ,EAKbhqB,KAAKs+H,cAAe,EAUpBt+H,KAAK8lI,YAAa,EAKlB9lI,KAAK+lI,UAAW,EAKhB/lI,KAAKgmI,uBAAwB,EAM7BhmI,KAAKimI,UAAY,EAMjBjmI,KAAKkmI,aAAe,EAMpBlmI,KAAKmmI,aAAe,EAMpBnmI,KAAKomI,WAAa,KAMlBpmI,KAAKqmI,QAAU,KAKfrmI,KAAKsmI,eAAiB,IAAIjmI,EAAOud,OAKjC5d,KAAKumI,iBAAmB,KAKxBvmI,KAAKwmI,wBAA0B,KAM/BxmI,KAAKk0D,QAAS,EAMdl0D,KAAKymI,IAAMlsG,EAAOvjB,MAAM7Q,EAMxBnG,KAAK0mI,IAAMnsG,EAAOvjB,MAAM9J,EAMxBlN,KAAK62C,IAAM,EAMX72C,KAAK82C,IAAM,GAIfz2C,EAAOmwB,QAAQkmC,OAAO67D,KAAKhsH,WAQvBogI,aAAc,WAEV,GAAI3mI,KAAK8lI,WACT,CACI,IAAIl2H,EAAI5P,KAAKu6B,OAAOxsB,YACpB6B,EAAEsL,UAEEtL,EAAEiC,QAAU7R,KAAK6R,OAASjC,EAAEkC,SAAW9R,KAAK8R,SAE5C9R,KAAK6R,MAAQjC,EAAEiC,MACf7R,KAAK8R,OAASlC,EAAEkC,OAChB9R,KAAKk0D,QAAS,OAItB,CACI,IAAI0yE,EAAM3gI,KAAKiK,IAAIlQ,KAAKu6B,OAAOvjB,MAAM7Q,GACjC0gI,EAAM5gI,KAAKiK,IAAIlQ,KAAKu6B,OAAOvjB,MAAM9J,GAEjC05H,IAAQ5mI,KAAKymI,KAAOI,IAAQ7mI,KAAK0mI,MAEjC1mI,KAAK6R,MAAQ7R,KAAKwgF,YAAcomD,EAChC5mI,KAAK8R,OAAS9R,KAAKygF,aAAeomD,EAClC7mI,KAAKymI,IAAMG,EACX5mI,KAAK0mI,IAAMG,EACX7mI,KAAKk0D,QAAS,GAIlBl0D,KAAKk0D,SAELl0D,KAAKmQ,UAAYlK,KAAKI,MAAMrG,KAAK6R,MAAQ,GACzC7R,KAAKqQ,WAAapK,KAAKI,MAAMrG,KAAK8R,OAAS,GAC3C9R,KAAK8mI,iBAWbA,aAAc,WAEV9mI,KAAK4hI,OAAO3zH,MAAMjO,KAAK8b,SAAS3V,EAAInG,KAAKmQ,UAAWnQ,KAAK8b,SAAS5O,EAAIlN,KAAKqQ,aAU/EoP,UAAW,WAEFzf,KAAK2yB,SAAU3yB,KAAKgd,KAAK4F,QAAQy6G,OAAOp8B,WAK7CjhG,KAAKgqB,OAAQ,EAGbhqB,KAAK2lI,YAAYpE,KAAOvhI,KAAKgjI,SAASzB,KACtCvhI,KAAK2lI,YAAYxhF,GAAKnkD,KAAKgjI,SAAS7+E,GACpCnkD,KAAK2lI,YAAY32F,KAAOhvC,KAAKgjI,SAASh0F,KACtChvC,KAAK2lI,YAAYj6H,KAAO1L,KAAKgjI,SAASt3H,KACtC1L,KAAK2lI,YAAYl6H,MAAQzL,KAAKgjI,SAASv3H,MAEvCzL,KAAKgjI,SAASzB,MAAO,EACrBvhI,KAAKgjI,SAAS7+E,IAAK,EACnBnkD,KAAKgjI,SAASh0F,MAAO,EACrBhvC,KAAKgjI,SAASt3H,MAAO,EACrB1L,KAAKgjI,SAASv3H,OAAQ,EAEtBzL,KAAK4lI,QAAQrE,MAAO,EACpBvhI,KAAK4lI,QAAQzhF,IAAK,EAClBnkD,KAAK4lI,QAAQ52F,MAAO,EACpBhvC,KAAK4lI,QAAQl6H,MAAO,EACpB1L,KAAK4lI,QAAQn6H,OAAQ,EAErBzL,KAAKylI,SAAW,EAChBzlI,KAAKijI,SAAW,EAChBjjI,KAAKmjI,SAAW,EAEhBnjI,KAAK+iI,UAAW,EAEhB/iI,KAAK2mI,eAEL3mI,KAAK8b,SAAS3V,EAAKnG,KAAKu6B,OAAOtd,MAAM9W,EAAKnG,KAAKu6B,OAAO1O,OAAO1lB,EAAInG,KAAKu6B,OAAO1oB,MAAU7R,KAAKu6B,OAAOvjB,MAAM7Q,EAAInG,KAAKmP,OAAOhJ,EACzHnG,KAAK8b,SAAS3V,GAAKnG,KAAKu6B,OAAOvjB,MAAM7Q,EAAI,EAAInG,KAAK6R,MAAQ,EAE1D7R,KAAK8b,SAAS5O,EAAKlN,KAAKu6B,OAAOtd,MAAM/P,EAAKlN,KAAKu6B,OAAO1O,OAAO3e,EAAIlN,KAAKu6B,OAAOzoB,OAAW9R,KAAKu6B,OAAOvjB,MAAM9J,EAAIlN,KAAKmP,OAAOjC,EAC1HlN,KAAK8b,SAAS5O,GAAKlN,KAAKu6B,OAAOvjB,MAAM9J,EAAI,EAAIlN,KAAK8R,OAAS,EAE3D9R,KAAK8mI,eAEL9mI,KAAKg6B,SAAWh6B,KAAKu6B,OAAO5rB,MAE5B3O,KAAKmlI,YAAcnlI,KAAKg6B,UAEpBh6B,KAAKk0D,QAAUl0D,KAAKu6B,OAAOoyB,SAE3B3sD,KAAK+9D,KAAK53D,EAAInG,KAAK8b,SAAS3V,EAC5BnG,KAAK+9D,KAAK7wD,EAAIlN,KAAK8b,SAAS5O,GAG5BlN,KAAKojI,QAELpjI,KAAKgd,KAAK4F,QAAQy6G,OAAOuB,aAAa5+H,MAEtCA,KAAKolI,YAAYz4H,IAAI3M,KAAKo/H,SAASj5H,EAAInG,KAAKgd,KAAKmE,KAAKunE,eAAgB1oF,KAAKo/H,SAASlyH,EAAIlN,KAAKgd,KAAKmE,KAAKunE,gBAEvG1oF,KAAK8b,SAAS3V,GAAKnG,KAAKolI,YAAYj/H,EACpCnG,KAAK8b,SAAS5O,GAAKlN,KAAKolI,YAAYl4H,EACpClN,KAAK8mI,eAED9mI,KAAK8b,SAAS3V,IAAMnG,KAAK+9D,KAAK53D,GAAKnG,KAAK8b,SAAS5O,IAAMlN,KAAK+9D,KAAK7wD,IAEjElN,KAAK2O,MAAQ1I,KAAKwO,MAAMzU,KAAKo/H,SAASlyH,EAAGlN,KAAKo/H,SAASj5H,IAG3DnG,KAAK6gC,MAAQ56B,KAAKkL,KAAKnR,KAAKo/H,SAASj5H,EAAInG,KAAKo/H,SAASj5H,EAAInG,KAAKo/H,SAASlyH,EAAIlN,KAAKo/H,SAASlyH,GAKvFlN,KAAK0lI,oBAED1lI,KAAKyrD,oBAAsBzrD,KAAKulI,eAEhCvlI,KAAKulI,cAAclkH,SAASrhB,KAAKu6B,OAAQv6B,KAAK4lI,QAAQzhF,GAAInkD,KAAK4lI,QAAQ52F,KAAMhvC,KAAK4lI,QAAQl6H,KAAM1L,KAAK4lI,QAAQn6H,QAKzHzL,KAAK62C,IAAM72C,KAAKwqC,SAChBxqC,KAAK82C,IAAM92C,KAAKspC,SAEhBtpC,KAAKk0D,QAAS,IAUlB6yE,eAAgB,WAEZ,IAAIztC,EAAU,EACV0tC,EAA8B,IAAlBhnI,KAAKijI,UAAoC,IAAlBjjI,KAAKmjI,SAiB5C,GAbInjI,KAAKmmI,aAAe,GAEpBnmI,KAAKimI,WAAajmI,KAAKgd,KAAKmE,KAAKC,UAEjCk4E,EAAUt5F,KAAKimI,UAAYjmI,KAAKmmI,eAIhCnmI,KAAKomI,WAAWt1H,IAAInE,IAAI3M,KAAK8b,SAAS3V,EAAGnG,KAAK8b,SAAS5O,GAEvDosF,EAAUt5F,KAAKomI,WAAWr+H,OAAS/H,KAAKkmI,cAGxClmI,KAAKumI,iBAEL,IAAIvzH,EAAShT,KAAKumI,iBAAiBv/H,KAAKhH,KAAKwmI,wBAAyBxmI,KAAMA,KAAKo/H,SAAU9lC,GAG/F,QAAI0tC,GAAY1tC,GAAW,QAAiB/uF,IAAXyI,IAAmC,IAAXA,KAErDhT,KAAKinI,aAAc3tC,GAAW,GAAOt5F,KAAKgmI,uBAAyBgB,IAC5D,IAiBfC,aAAc,SAAUC,GAEhBlnI,KAAK+lI,WAEL/lI,KAAK+lI,UAAW,EAEZmB,GAEAlnI,KAAKo/H,SAASzyH,IAAI,GAKtB3M,KAAKsmI,eAAejlH,SAASrhB,KAAKu6B,OAA2B,IAAlBv6B,KAAKijI,UAAoC,IAAlBjjI,KAAKmjI,YAW/Et2G,WAAY,WAGH7sB,KAAK2yB,QAAW3yB,KAAKgqB,QAMtBhqB,KAAK+lI,UAEL/lI,KAAK+mI,iBAGT/mI,KAAKgqB,OAAQ,EAEThqB,KAAKwqC,SAAW,EAEhBxqC,KAAKwlI,OAASnlI,EAAOS,KAEhBd,KAAKwqC,SAAW,IAErBxqC,KAAKwlI,OAASnlI,EAAOU,OAGrBf,KAAKspC,SAAW,EAEhBtpC,KAAKwlI,OAASnlI,EAAOW,GAEhBhB,KAAKspC,SAAW,IAErBtpC,KAAKwlI,OAASnlI,EAAOY,MAGrBjB,KAAKojI,QAELpjI,KAAK62C,IAAM72C,KAAKwqC,SAChBxqC,KAAK82C,IAAM92C,KAAKspC,SAEQ,IAApBtpC,KAAKqlI,SAASl/H,GAAwB,IAAbnG,KAAK62C,MAE1B72C,KAAK62C,IAAM,GAAK72C,KAAK62C,KAAO72C,KAAKqlI,SAASl/H,EAE1CnG,KAAK62C,KAAO72C,KAAKqlI,SAASl/H,EAErBnG,KAAK62C,IAAM,GAAK72C,KAAK62C,IAAM72C,KAAKqlI,SAASl/H,IAE9CnG,KAAK62C,IAAM72C,KAAKqlI,SAASl/H,IAIT,IAApBnG,KAAKqlI,SAASn4H,GAAwB,IAAblN,KAAK82C,MAE1B92C,KAAK82C,IAAM,GAAK92C,KAAK82C,KAAO92C,KAAKqlI,SAASn4H,EAE1ClN,KAAK82C,KAAO92C,KAAKqlI,SAASn4H,EAErBlN,KAAK82C,IAAM,GAAK92C,KAAK82C,IAAM92C,KAAKqlI,SAASn4H,IAE9ClN,KAAK82C,IAAM92C,KAAKqlI,SAASn4H,IAIjClN,KAAKu6B,OAAOze,SAAS3V,GAAKnG,KAAK62C,IAC/B72C,KAAKu6B,OAAOze,SAAS5O,GAAKlN,KAAK82C,IAC/B92C,KAAKk0D,QAAS,GAGlBl0D,KAAK8mI,eAED9mI,KAAK6+H,gBAEL7+H,KAAKu6B,OAAO5rB,OAAS3O,KAAK0qC,UAG9B1qC,KAAK+9D,KAAK53D,EAAInG,KAAK8b,SAAS3V,EAC5BnG,KAAK+9D,KAAK7wD,EAAIlN,KAAK8b,SAAS5O,IAWhCu+C,iBAAkB,WAEd,IAAI90C,EAAM3W,KAAK8b,SACXqB,EAASnd,KAAKgd,KAAK4F,QAAQy6G,OAAOlgH,OAClCgqH,EAAQnnI,KAAKgd,KAAK4F,QAAQy6G,OAAOY,eAEjCt0D,EAAM3pE,KAAgB,aAAKA,KAAKslI,YAAYn/H,GAAKnG,KAAK4iI,OAAOz8H,EAC7DyjE,EAAM5pE,KAAgB,aAAKA,KAAKslI,YAAYp4H,GAAKlN,KAAK4iI,OAAO11H,EAgCjE,OA9BIyJ,EAAIxQ,EAAIgX,EAAOhX,GAAKghI,EAAMz7H,MAE1BiL,EAAIxQ,EAAIgX,EAAOhX,EACfnG,KAAKo/H,SAASj5H,GAAKwjE,EACnB3pE,KAAK4lI,QAAQl6H,MAAO,EACpB1L,KAAK4lI,QAAQrE,MAAO,GAEfvhI,KAAKyL,MAAQ0R,EAAO1R,OAAS07H,EAAM17H,QAExCkL,EAAIxQ,EAAIgX,EAAO1R,MAAQzL,KAAK6R,MAC5B7R,KAAKo/H,SAASj5H,GAAKwjE,EACnB3pE,KAAK4lI,QAAQn6H,OAAQ,EACrBzL,KAAK4lI,QAAQrE,MAAO,GAGpB5qH,EAAIzJ,EAAIiQ,EAAOjQ,GAAKi6H,EAAMhjF,IAE1BxtC,EAAIzJ,EAAIiQ,EAAOjQ,EACflN,KAAKo/H,SAASlyH,GAAK08D,EACnB5pE,KAAK4lI,QAAQzhF,IAAK,EAClBnkD,KAAK4lI,QAAQrE,MAAO,GAEfvhI,KAAK0P,OAASyN,EAAOzN,QAAUy3H,EAAMn4F,OAE1Cr4B,EAAIzJ,EAAIiQ,EAAOzN,OAAS1P,KAAK8R,OAC7B9R,KAAKo/H,SAASlyH,GAAK08D,EACnB5pE,KAAK4lI,QAAQ52F,MAAO,EACpBhvC,KAAK4lI,QAAQrE,MAAO,IAGhBvhI,KAAK4lI,QAAQrE,MAkCzB6F,SAAU,SAAU/oH,EAAUwiB,EAAOvgB,GAIjC,QAFc/V,IAAVs2B,IAAuBA,EAAQ7gC,KAAK6gC,OAE1B,IAAVA,EAEA,OAAO,EAGX,IAAIlyB,EA+BJ,YA7BkBpE,IAAd+V,GAEA3R,EAAQ3O,KAAK2O,MACb2R,EAAYtgB,KAAKgd,KAAK0E,KAAKvJ,SAASxJ,IAIpCA,EAAQ3O,KAAKgd,KAAK0E,KAAK5R,SAASwQ,GAGpCtgB,KAAKimI,UAAY,EACjBjmI,KAAKmmI,aAAe9nH,EAGF,IAAdiC,GAAiC,MAAdA,EAEnBtgB,KAAKo/H,SAASzyH,IAAI1G,KAAK2H,IAAIe,GAASkyB,EAAO,GAExB,KAAdvgB,GAAkC,MAAdA,EAEzBtgB,KAAKo/H,SAASzyH,IAAI,EAAG1G,KAAK4H,IAAIc,GAASkyB,GAIvC7gC,KAAKo/H,SAAS7nH,WAAW5I,EAAOkyB,GAGpC7gC,KAAK+lI,UAAW,GAET,GAiCXziE,OAAQ,SAAUjlD,EAAU/P,EAAUgS,GAElC,IAAIugB,EAAQvyB,GAAY+P,EAAW,KAEnC,GAAc,IAAVwiB,EAEA,OAAO,EAGX,IAAIlyB,EA6CJ,YA3CkBpE,IAAd+V,GAEA3R,EAAQ3O,KAAK2O,MACb2R,EAAYtgB,KAAKgd,KAAK0E,KAAKvJ,SAASxJ,IAIpCA,EAAQ3O,KAAKgd,KAAK0E,KAAK5R,SAASwQ,GAGpChS,EAAWrI,KAAKiK,IAAI5B,GAEpBtO,KAAKmmI,aAAe,EACpBnmI,KAAKkmI,aAAe53H,EAEI,OAApBtO,KAAKomI,aAELpmI,KAAKomI,WAAa,IAAI/lI,EAAO6R,KAC7BlS,KAAKqmI,QAAU,IAAIhmI,EAAOoN,OAG9BzN,KAAKomI,WAAWzzH,UAAU3S,KAAKmG,EAAGnG,KAAKkN,EAAGyB,EAAOL,GAEjDtO,KAAKqmI,QAAQ15H,IAAI3M,KAAKomI,WAAWt1H,IAAI3K,EAAGnG,KAAKomI,WAAWt1H,IAAI5D,GAE5DlN,KAAKomI,WAAWn4H,MAAMjO,KAAKmG,EAAGnG,KAAKkN,EAAGlN,KAAKmG,EAAGnG,KAAKkN,GAGjC,IAAdoT,GAAiC,MAAdA,EAEnBtgB,KAAKo/H,SAASzyH,IAAI1G,KAAK2H,IAAIe,GAASkyB,EAAO,GAExB,KAAdvgB,GAAkC,MAAdA,EAEzBtgB,KAAKo/H,SAASzyH,IAAI,EAAG1G,KAAK4H,IAAIc,GAASkyB,GAIvC7gC,KAAKo/H,SAAS7nH,WAAW5I,EAAOkyB,GAGpC7gC,KAAK+lI,UAAW,GAET,GA4CX/jH,QAAS,SAAUnQ,EAAOC,EAAQ8nC,EAASC,QAEvBtvC,IAAZqvC,IAAyBA,EAAU55C,KAAKmP,OAAOhJ,QACnCoE,IAAZsvC,IAAyBA,EAAU75C,KAAKmP,OAAOjC,GAEnDlN,KAAKwgF,YAAc3uE,EACnB7R,KAAKygF,aAAe3uE,EACpB9R,KAAK6R,MAAQ7R,KAAKwgF,YAAcxgF,KAAKymI,IACrCzmI,KAAK8R,OAAS9R,KAAKygF,aAAezgF,KAAK0mI,IACvC1mI,KAAKmQ,UAAYlK,KAAKI,MAAMrG,KAAK6R,MAAQ,GACzC7R,KAAKqQ,WAAapK,KAAKI,MAAMrG,KAAK8R,OAAS,GAC3C9R,KAAKmP,OAAOlB,MAAM2rC,EAASC,GAE3B75C,KAAK8mI,eAEL9mI,KAAKwhI,UAAW,EAChBxhI,KAAK8N,OAAS,GAoBlBu5H,UAAW,SAAUv5H,EAAQ8rC,EAASC,QAElBtvC,IAAZqvC,IAAyBA,EAAU55C,KAAKmP,OAAOhJ,QACnCoE,IAAZsvC,IAAyBA,EAAU75C,KAAKmP,OAAOjC,GAE/CY,EAAS,GAET9N,KAAKwhI,UAAW,EAChBxhI,KAAK8N,OAASA,EAEd9N,KAAKwgF,YAAuB,EAAT1yE,EACnB9N,KAAKygF,aAAwB,EAAT3yE,EAEpB9N,KAAK6R,MAAQ7R,KAAKwgF,YAAcxgF,KAAKymI,IACrCzmI,KAAK8R,OAAS9R,KAAKygF,aAAezgF,KAAK0mI,IAEvC1mI,KAAKmQ,UAAYlK,KAAKI,MAAMrG,KAAK6R,MAAQ,GACzC7R,KAAKqQ,WAAapK,KAAKI,MAAMrG,KAAK8R,OAAS,GAE3C9R,KAAKmP,OAAOlB,MAAM2rC,EAASC,GAE3B75C,KAAK8mI,gBAIL9mI,KAAKwhI,UAAW,GAYxBv/G,MAAO,SAAU9b,EAAG+G,GAEhBlN,KAAK4/B,OAEL5/B,KAAK8b,SAAS3V,EAAKA,EAAKnG,KAAKu6B,OAAO1O,OAAO1lB,EAAInG,KAAKu6B,OAAO1oB,MAAU7R,KAAKu6B,OAAOvjB,MAAM7Q,EAAInG,KAAKmP,OAAOhJ,EACvGnG,KAAK8b,SAAS3V,GAAKnG,KAAKu6B,OAAOvjB,MAAM7Q,EAAI,EAAInG,KAAK6R,MAAQ,EAE1D7R,KAAK8b,SAAS5O,EAAKA,EAAKlN,KAAKu6B,OAAO1O,OAAO3e,EAAIlN,KAAKu6B,OAAOzoB,OAAW9R,KAAKu6B,OAAOvjB,MAAM9J,EAAIlN,KAAKmP,OAAOjC,EACxGlN,KAAK8b,SAAS5O,GAAKlN,KAAKu6B,OAAOvjB,MAAM9J,EAAI,EAAIlN,KAAK8R,OAAS,EAE3D9R,KAAK+9D,KAAK53D,EAAInG,KAAK8b,SAAS3V,EAC5BnG,KAAK+9D,KAAK7wD,EAAIlN,KAAK8b,SAAS5O,EAE5BlN,KAAKg6B,SAAWh6B,KAAKu6B,OAAO5rB,MAC5B3O,KAAKmlI,YAAcnlI,KAAKg6B,SAExBh6B,KAAK2mI,eAEL3mI,KAAK8mI,gBASTlnG,KAAM,WAEF5/B,KAAKo/H,SAASzyH,IAAI,GAClB3M,KAAKq/H,aAAa1yH,IAAI,GACtB3M,KAAK6gC,MAAQ,EACb7gC,KAAKg/H,gBAAkB,EACvBh/H,KAAKi/H,oBAAsB,GAa/BlxH,UAAW,SAAUtE,GAOjB,OALAA,EAAItD,EAAInG,KAAKmG,EACbsD,EAAIyD,EAAIlN,KAAKkN,EACbzD,EAAIgC,MAAQzL,KAAKyL,MACjBhC,EAAIiG,OAAS1P,KAAK0P,OAEXjG,GAYXq8B,QAAS,SAAU3/B,EAAG+G,GAElB,OAAQlN,KAAa,SAAIK,EAAO4M,OAAOwB,SAASzO,KAAMmG,EAAG+G,GAAK7M,EAAO2N,UAAUS,SAASzO,KAAMmG,EAAG+G,IAUrGo6H,QAAS,WAEL,OAAOtnI,KAAK4lI,QAAQ52F,MAUxBu4F,UAAW,WAEP,OAAOvnI,KAAK4lI,QAAQzhF,IAUxBqjF,OAAQ,WAEJ,OAAQxnI,KAAK4lI,QAAQl6H,MAAQ1L,KAAK4lI,QAAQn6H,OAU9Cq3H,UAAW,WAEP,OAAQ9iI,KAAKwqC,SAAW,EAAIxqC,KAAKwqC,UAAYxqC,KAAKwqC,UAUtD04F,UAAW,WAEP,OAAQljI,KAAKspC,SAAW,EAAItpC,KAAKspC,UAAYtpC,KAAKspC,UAUtDkB,OAAQ,WAEJ,OAAOxqC,KAAK8b,SAAS3V,EAAInG,KAAK+9D,KAAK53D,GAUvCmjC,OAAQ,WAEJ,OAAOtpC,KAAK8b,SAAS5O,EAAIlN,KAAK+9D,KAAK7wD,GAUvCw9B,OAAQ,WAEJ,OAAO1qC,KAAKg6B,SAAWh6B,KAAKmlI,aAYhC7+G,QAAS,WAEDtmB,KAAKu6B,OAAOtO,QAAUjsB,KAAKu6B,OAAOtO,kBAAkB5rB,EAAO+vB,OAE3DpwB,KAAKu6B,OAAOtO,OAAOuG,eAAexyB,KAAKu6B,QAG3Cv6B,KAAKu6B,OAAOhI,KAAO,KACnBvyB,KAAKu6B,OAAS,OAUtB9yB,OAAOmF,eAAevM,EAAOmwB,QAAQkmC,OAAO67D,KAAKhsH,UAAW,QAExDmG,IAAK,WAED,OAAO1M,KAAK8b,SAAS3V,KAW7BsB,OAAOmF,eAAevM,EAAOmwB,QAAQkmC,OAAO67D,KAAKhsH,UAAW,SAExDmG,IAAK,WAED,OAAO1M,KAAK8b,SAAS3V,EAAInG,KAAK6R,SAUtCpK,OAAOmF,eAAevM,EAAOmwB,QAAQkmC,OAAO67D,KAAKhsH,UAAW,OAExDmG,IAAK,WAED,OAAO1M,KAAK8b,SAAS5O,KAW7BzF,OAAOmF,eAAevM,EAAOmwB,QAAQkmC,OAAO67D,KAAKhsH,UAAW,UAExDmG,IAAK,WAED,OAAO1M,KAAK8b,SAAS5O,EAAIlN,KAAK8R,UAUtCrK,OAAOmF,eAAevM,EAAOmwB,QAAQkmC,OAAO67D,KAAKhsH,UAAW,KAExDmG,IAAK,WAED,OAAO1M,KAAK8b,SAAS3V,GAIzBwG,IAAK,SAAUzC,GAEXlK,KAAK8b,SAAS3V,EAAI+D,KAS1BzC,OAAOmF,eAAevM,EAAOmwB,QAAQkmC,OAAO67D,KAAKhsH,UAAW,KAExDmG,IAAK,WAED,OAAO1M,KAAK8b,SAAS5O,GAIzBP,IAAK,SAAUzC,GAEXlK,KAAK8b,SAAS5O,EAAIhD,KAgB1B7J,EAAOmwB,QAAQkmC,OAAO67D,KAAKpvG,OAAS,SAAU0D,EAAS0L,EAAM/R,EAAOwwG,EAAQxtD,QAEzDj5D,IAAXymH,IAAwBA,GAAS,GAErCxwG,EAAQA,GAAS,oBAEjBqG,EAAQ43C,UAAYj+C,EACpBqG,EAAQ48C,YAAcjjD,EACtBqG,EAAQ28C,UAAYA,GAAa,EAE7BjxC,EAAKivG,UAEL36G,EAAQs8C,YACRt8C,EAAQu8C,IAAI7wC,EAAKqvG,OAAOz7H,EAAIosB,EAAKvV,KAAKqC,OAAOlZ,EAAGosB,EAAKqvG,OAAO10H,EAAIqlB,EAAKvV,KAAKqC,OAAOnS,EAAGqlB,EAAKpiB,UAAW,EAAG,EAAIlK,KAAKsH,IAE5GyjH,EAEAnqG,EAAQ2f,OAIR3f,EAAQ68C,UAKRstD,EAEAnqG,EAAQ63C,SAASnsC,EAAKzW,SAAS3V,EAAIosB,EAAKvV,KAAKqC,OAAOlZ,EAAGosB,EAAKzW,SAAS5O,EAAIqlB,EAAKvV,KAAKqC,OAAOnS,EAAGqlB,EAAK1gB,MAAO0gB,EAAKzgB,QAI9G+U,EAAQiqD,WAAWv+C,EAAKzW,SAAS3V,EAAIosB,EAAKvV,KAAKqC,OAAOlZ,EAAGosB,EAAKzW,SAAS5O,EAAIqlB,EAAKvV,KAAKqC,OAAOnS,EAAGqlB,EAAK1gB,MAAO0gB,EAAKzgB,SAe5HzR,EAAOmwB,QAAQkmC,OAAO67D,KAAKO,eAAiB,SAAUzsG,EAAOkM,GAEzDlM,EAAMvT,KAAK,MAAQyf,EAAKpsB,EAAEmlB,QAAQ,GAAI,MAAQiH,EAAKrlB,EAAEoe,QAAQ,GAAI,UAAYiH,EAAK1gB,MAAO,WAAa0gB,EAAKzgB,QAC3GuU,EAAMvT,KAAK,eAAiByf,EAAK6sG,SAASj5H,EAAEmlB,QAAQ,GAAI,MAAQiH,EAAK6sG,SAASlyH,EAAEoe,QAAQ,GAAI,WAAaiH,EAAKskB,IAAIvrB,QAAQ,GAAI,WAAaiH,EAAKukB,IAAIxrB,QAAQ,IAC5JjF,EAAMvT,KAAK,mBAAqByf,EAAK8sG,aAAal5H,EAAEmlB,QAAQ,GAAI,MAAQiH,EAAK8sG,aAAanyH,EAAEoe,QAAQ,GAAI,UAAYiH,EAAKsO,MAAMvV,QAAQ,GAAI,UAAYiH,EAAK5jB,MAAM2c,QAAQ,IAC1KjF,EAAMvT,KAAK,cAAgByf,EAAKyrG,QAAQ73H,EAAG,MAAQosB,EAAKyrG,QAAQ9wH,EAAG,aAAeqlB,EAAKqwG,OAAOz8H,EAAEmlB,QAAQ,GAAI,MAAQiH,EAAKqwG,OAAO11H,EAAEoe,QAAQ,IAC1IjF,EAAMvT,KAAK,kBAAoByf,EAAKywG,SAASt3H,KAAM,UAAY6mB,EAAKywG,SAASv3H,MAAO,OAAS8mB,EAAKywG,SAAS7+E,GAAI,SAAW5xB,EAAKywG,SAASh0F,MACxI3oB,EAAMvT,KAAK,iBAAmByf,EAAKqzG,QAAQl6H,KAAM,UAAY6mB,EAAKqzG,QAAQn6H,MAAO,OAAS8mB,EAAKqzG,QAAQzhF,GAAI,SAAW5xB,EAAKqzG,QAAQ52F,OAIvI3uC,EAAOmwB,QAAQkmC,OAAO67D,KAAKhsH,UAAU8B,YAAchI,EAAOmwB,QAAQkmC,OAAO67D,KAczElyH,EAAOmwB,QAAQkmC,OAAO+wE,iBAAmB,aAEzCpnI,EAAOmwB,QAAQkmC,OAAO+wE,iBAAiBlhI,WAKnCmhI,UAAW,GAcXhH,4BAA6B,SAAUnmG,EAAQotG,EAAc3H,EAAiBH,EAAiBt6G,EAAiB86G,GAE5G,GAAK9lG,EAAOhI,KAAZ,CAKA,IAAIg8E,EAAUo5B,EAAaC,SACvBrtG,EAAOhI,KAAKzW,SAAS3V,EAAIo0B,EAAOhI,KAAKszG,YAAY1/H,EAAIwhI,EAAaE,iBAClEttG,EAAOhI,KAAKzW,SAAS5O,EAAIqtB,EAAOhI,KAAKszG,YAAY34H,EAAIy6H,EAAaG,iBAClEvtG,EAAOhI,KAAK1gB,MAAQ0oB,EAAOhI,KAAKszG,YAAY1/H,EAC5Co0B,EAAOhI,KAAKzgB,OAASyoB,EAAOhI,KAAKszG,YAAY34H,GAC7C,GAAO,GAEX,GAAuB,IAAnBqhG,EAAQxmG,OAKZ,IAAK,IAAIC,EAAI,EAAGA,EAAIumG,EAAQxmG,OAAQC,IAE5B63H,EAEIA,EAAgB74H,KAAKue,EAAiBgV,EAAQg0E,EAAQvmG,KAElDhI,KAAK+nI,aAAa//H,EAAGuyB,EAAOhI,KAAMg8E,EAAQvmG,GAAI2/H,EAActH,KAE5DrgI,KAAKu+H,SAEDyB,GAEAA,EAAgBh5H,KAAKue,EAAiBgV,EAAQg0E,EAAQvmG,KAO9DhI,KAAK+nI,aAAa//H,EAAGuyB,EAAOhI,KAAMg8E,EAAQvmG,GAAI2/H,EAActH,KAE5DrgI,KAAKu+H,SAEDyB,GAEAA,EAAgBh5H,KAAKue,EAAiBgV,EAAQg0E,EAAQvmG,OAoB1E44H,2BAA4B,SAAUnnG,EAAOkuG,EAAc3H,EAAiBH,EAAiBt6G,EAAiB86G,GAE1G,GAAqB,IAAjB5mG,EAAM1xB,OAKV,IAAK,IAAIC,EAAI,EAAGA,EAAIyxB,EAAMrL,SAASrmB,OAAQC,IAEnCyxB,EAAMrL,SAASpmB,GAAGilB,QAElBjtB,KAAK0gI,4BAA4BjnG,EAAMrL,SAASpmB,GAAI2/H,EAAc3H,EAAiBH,EAAiBt6G,EAAiB86G,IAgBjI0H,aAAc,SAAU//H,EAAGuqB,EAAMy1G,EAAML,EAActH,GAEjD,IAAK9tG,EAAKI,OAEN,OAAO,EAGX,IAAIs1G,EAAsBN,EAAaE,iBACnCK,EAAsBP,EAAaG,iBAGvC,IAAKE,EAAKn4H,WAAY0iB,EAAKzW,SAAS3V,EAAI8hI,EAAuB11G,EAAKzW,SAAS5O,EAAIg7H,EAAuB31G,EAAK9mB,MAAQw8H,EAAuB11G,EAAK7iB,OAASw4H,GAGtJ,OAAO,EAEN,GAAI7H,EAGL,OAAO,EAMX,GAAI2H,EAAKG,oBAAsBH,EAAKG,kBAAkBnhI,KAAKghI,EAAKI,yBAA0B71G,EAAKgI,OAAQytG,GAGnG,OAAO,EAEN,QAAoC,IAAzBA,EAAKlP,MAAM19E,WAA6B4sF,EAAKlP,MAAM19E,UAAU4sF,EAAKj/H,SAAWi/H,EAAKlP,MAAM19E,UAAU4sF,EAAKj/H,OAAO0qB,SAASzsB,KAAKghI,EAAKlP,MAAM19E,UAAU4sF,EAAKj/H,OAAOwc,gBAAiBgN,EAAKgI,OAAQytG,GAGvM,OAAO,EAIX,KAAKA,EAAKK,UAAaL,EAAKM,WAAcN,EAAKO,SAAYP,EAAKQ,YAG5D,OAAO,EAGX,IAAIz3D,EAAK,EACLC,EAAK,EACLvc,EAAO,EACPC,EAAO,EAoBX,GAlBIniC,EAAKuwG,YAAcvwG,EAAK2wG,YAGxBzuE,GAAQ,EAEHliC,EAAKuwG,YAAcvwG,EAAK2wG,cAG7BxuE,GAAQ,GAGU,IAAlBniC,EAAKiY,UAAoC,IAAlBjY,EAAK+W,WAAmB0+F,EAAKK,UAAYL,EAAKM,aAAeN,EAAKO,SAAWP,EAAKQ,cAGzG/zE,EAAOxuD,KAAK2N,IAAI3N,KAAKiK,IAAKqiB,EAAKzW,SAAS3V,EAAI8hI,EAAuBD,EAAKv8H,OAAQxF,KAAKiK,IAAKqiB,EAAK9mB,MAAQw8H,EAAuBD,EAAKt8H,OACnIgpD,EAAOzuD,KAAK2N,IAAI3N,KAAKiK,IAAKqiB,EAAKzW,SAAS5O,EAAIg7H,EAAuBF,EAAKt4H,QAASzJ,KAAKiK,IAAKqiB,EAAK7iB,OAASw4H,EAAuBF,EAAKv4H,OAGrIglD,EAAOC,EACX,CACI,IAAIszE,EAAKK,UAAYL,EAAKM,YAKX,KAHXv3D,EAAK/wE,KAAKyoI,WAAWl2G,EAAMy1G,EAAML,MAGhBK,EAAKn4H,WAAY0iB,EAAKzW,SAAS3V,EAAI8hI,EAAuB11G,EAAKzW,SAAS5O,EAAIg7H,EAAuB31G,EAAK9mB,MAAQw8H,EAAuB11G,EAAK7iB,OAASw4H,GAElK,OAAO,GAIXF,EAAKO,SAAWP,EAAKQ,cAErBx3D,EAAKhxE,KAAK0oI,WAAWn2G,EAAMy1G,EAAML,QAIzC,CACI,IAAIK,EAAKO,SAAWP,EAAKQ,aAKV,KAHXx3D,EAAKhxE,KAAK0oI,WAAWn2G,EAAMy1G,EAAML,MAGhBK,EAAKn4H,WAAY0iB,EAAKzW,SAAS3V,EAAI8hI,EAAuB11G,EAAKzW,SAAS5O,EAAIg7H,EAAuB31G,EAAK9mB,MAAQw8H,EAAuB11G,EAAK7iB,OAASw4H,GAElK,OAAO,GAIXF,EAAKK,UAAYL,EAAKM,aAEtBv3D,EAAK/wE,KAAKyoI,WAAWl2G,EAAMy1G,EAAML,IAIzC,OAAe,IAAP52D,GAAmB,IAAPC,GAcxBy3D,WAAY,SAAUl2G,EAAMy1G,EAAML,GAE9B,IAAI52D,EAAK,EACLk3D,EAAsBN,EAAaE,iBAyCvC,OAvCIt1G,EAAKiY,SAAW,IAAMjY,EAAKqzG,QAAQl6H,MAAQs8H,EAAKW,cAAgBp2G,EAAK0rG,eAAevyH,KAGhFs8H,EAAKM,WAAc/1G,EAAKpsB,EAAI8hI,EAAuBD,EAAKv8H,QAExDslE,EAAMx+C,EAAKpsB,EAAI8hI,EAAuBD,EAAKv8H,QAEjCzL,KAAK0nI,YAEX32D,EAAK,GAIRx+C,EAAKiY,SAAW,IAAMjY,EAAKqzG,QAAQn6H,OAASu8H,EAAKY,aAAer2G,EAAK0rG,eAAexyH,OAGrFu8H,EAAKK,UAAa91G,EAAK9mB,MAAQw8H,EAAuBD,EAAKt8H,OAE3DqlE,EAAMx+C,EAAK9mB,MAAQw8H,EAAuBD,EAAKt8H,MAEtC1L,KAAK0nI,YAEV32D,EAAK,GAKN,IAAPA,IAEIx+C,EAAKiwG,gBAELjwG,EAAK0wG,SAAWlyD,EAIhB/wE,KAAK6oI,uBAAuBt2G,EAAMw+C,IAInCA,GAcX23D,WAAY,SAAUn2G,EAAMy1G,EAAML,GAE9B,IAAI32D,EAAK,EACLk3D,EAAsBP,EAAaG,iBAyCvC,OAvCIv1G,EAAK+W,SAAW,IAAM/W,EAAKqzG,QAAQzhF,IAAM6jF,EAAKc,aAAev2G,EAAK0rG,eAAe95E,GAG7E6jF,EAAKQ,YAAej2G,EAAKrlB,EAAIg7H,EAAuBF,EAAKt4H,SAEzDshE,EAAMz+C,EAAKrlB,EAAIg7H,EAAuBF,EAAKt4H,SAEjC1P,KAAK0nI,YAEX12D,EAAK,GAIRz+C,EAAK+W,SAAW,IAAM/W,EAAKqzG,QAAQ52F,MAAQg5F,EAAKe,WAAax2G,EAAK0rG,eAAejvF,MAGlFg5F,EAAKO,SAAYh2G,EAAK7iB,OAASw4H,EAAuBF,EAAKv4H,MAE3DuhE,EAAMz+C,EAAK7iB,OAASw4H,EAAuBF,EAAKv4H,KAEvCzP,KAAK0nI,YAEV12D,EAAK,GAKN,IAAPA,IAEIz+C,EAAKkxG,gBAELlxG,EAAK4wG,SAAWnyD,EAIhBhxE,KAAKgpI,uBAAuBz2G,EAAMy+C,IAInCA,GAYX63D,uBAAwB,SAAUt2G,EAAMpsB,GAEhCA,EAAI,GAEJosB,EAAKqzG,QAAQl6H,MAAO,EACpB6mB,EAAKqzG,QAAQrE,MAAO,GAEfp7H,EAAI,IAETosB,EAAKqzG,QAAQn6H,OAAQ,EACrB8mB,EAAKqzG,QAAQrE,MAAO,GAGxBhvG,EAAKzW,SAAS3V,GAAKA,EAEG,IAAlBosB,EAAKqwG,OAAOz8H,EAEZosB,EAAK6sG,SAASj5H,EAAI,EAIlBosB,EAAK6sG,SAASj5H,GAAKosB,EAAK6sG,SAASj5H,EAAIosB,EAAKqwG,OAAOz8H,GAazD6iI,uBAAwB,SAAUz2G,EAAMrlB,GAEhCA,EAAI,GAEJqlB,EAAKqzG,QAAQzhF,IAAK,EAClB5xB,EAAKqzG,QAAQrE,MAAO,GAEfr0H,EAAI,IAETqlB,EAAKqzG,QAAQ52F,MAAO,EACpBzc,EAAKqzG,QAAQrE,MAAO,GAGxBhvG,EAAKzW,SAAS5O,GAAKA,EAEG,IAAlBqlB,EAAKqwG,OAAO11H,EAEZqlB,EAAK6sG,SAASlyH,EAAI,EAIlBqlB,EAAK6sG,SAASlyH,GAAKqlB,EAAK6sG,SAASlyH,EAAIqlB,EAAKqwG,OAAO11H,IAQ7D7M,EAAO6I,MAAMmD,eAAehM,EAAOmwB,QAAQkmC,OAAOnwD,UAAWlG,EAAOmwB,QAAQkmC,OAAO+wE,iBAAiBlhI,WASpGwU,GAAGw3G,KAAKhsH,UAAU0lB,OAAS,KAC3BlR,GAAGkuH,OAAO1iI,UAAU0lB,OAAS,KAW7B5rB,EAAOmwB,QAAQmtG,GAAK,SAAU3gH,EAAM0Q,GAKhC1tB,KAAKgd,KAAOA,OAEGzS,IAAXmjB,EAEAA,GAAWswG,SAAU,EAAG,GAAIkL,WAAY,IAAInuH,GAAGouH,gBAI1Cz7G,EAAO5kB,eAAe,aAEvB4kB,EAAOswG,SAAW,EAAG,IAGpBtwG,EAAO5kB,eAAe,gBAEvB4kB,EAAOw7G,WAAa,IAAInuH,GAAGouH,gBAQnCnpI,KAAK0tB,OAASA,EAMd1tB,KAAKid,MAAQ,IAAIlC,GAAGkf,MAAMj6B,KAAK0tB,QAM/B1tB,KAAKkrD,UAAY,EAAI,GAMrBlrD,KAAKopI,gBAAiB,EAMtBppI,KAAKojB,QAAS,EAMdpjB,KAAKqpI,aAKLrpI,KAAKg+H,QAAU,IAAI39H,EAAOmwB,QAAQmtG,GAAG2L,kBAAkBtpI,KAAMA,KAAKid,MAAM+gH,SAKxEh+H,KAAKupI,OAAU79H,KAAM,KAAMD,MAAO,KAAMgE,IAAK,KAAMC,OAAQ,MAS3D1P,KAAKwpI,YAAc,IAAInpI,EAAOud,OAS9B5d,KAAKypI,cAAgB,IAAIppI,EAAOud,OAShC5d,KAAK0pI,cAAgB,IAAIrpI,EAAOud,OAShC5d,KAAK2pI,gBAAkB,IAAItpI,EAAOud,OASlC5d,KAAK4pI,kBAAoB,IAAIvpI,EAAOud,OASpC5d,KAAK6pI,oBAAsB,IAAIxpI,EAAOud,OAStC5d,KAAK8pI,uBAAyB,IAAIzpI,EAAOud,OASzC5d,KAAK+pI,yBAA2B,IAAI1pI,EAAOud,OAK3C5d,KAAKgqI,uBAAyB,KAK9BhqI,KAAKulB,gBAAkB,KAYvBvlB,KAAKiqI,eAAiB,IAAI5pI,EAAOud,OAYjC5d,KAAKkqI,aAAe,IAAI7pI,EAAOud,OAG3B8P,EAAO5kB,eAAe,QAAU4kB,EAAO5kB,eAAe,QAAU4kB,EAAO5kB,eAAe,SAAW4kB,EAAO5kB,eAAe,UAEvH9I,KAAKmqI,IAAMz8G,EAAOy8G,IAClBnqI,KAAKoqI,KAAO18G,EAAO08G,KACnBpqI,KAAKqqI,IAAM38G,EAAO28G,IAClBrqI,KAAKsqI,KAAO58G,EAAO48G,MAIvBtqI,KAAKid,MAAMstH,GAAG,eAAgBvqI,KAAKwqI,oBAAqBxqI,MACxDA,KAAKid,MAAMstH,GAAG,aAAcvqI,KAAKyqI,kBAAmBzqI,MAKpDA,KAAK0qI,mBAKL1qI,KAAK2qI,sBAAwB,IAAItqI,EAAOmwB,QAAQmtG,GAAGiN,eAAe,GAKlE5qI,KAAK6qI,qBAAuB,IAAIxqI,EAAOmwB,QAAQmtG,GAAGiN,eAAe,GAKjE5qI,KAAK8qI,yBAA2B,IAAIzqI,EAAOmwB,QAAQmtG,GAAGiN,eAAe,YAKrE5qI,KAAK+qI,sBAML/qI,KAAKgrI,aAMLhrI,KAAKirI,kBAAoB,EAMzBjrI,KAAKkrI,aAAc,EAMnBlrI,KAAKmrI,cAAe,EAMpBnrI,KAAKorI,YAAa,EAMlBprI,KAAKqrI,eAAgB,EAMrBrrI,KAAKsrI,iBAAkB,EAGvBtrI,KAAK2hB,kBAAiB,GAAM,GAAM,GAAM,GAAM,IAIlDthB,EAAOmwB,QAAQmtG,GAAGp3H,WAQdglI,mBAAoB,SAAUh5G,GAE1BvyB,KAAKgrI,UAAUz2H,KAAKge,IASxB9S,UAAW,WAIP,IAFA,IAAIzX,EAAIhI,KAAKgrI,UAAUjjI,OAEhBC,KAEHhI,KAAKwrI,WAAWxrI,KAAKgrI,UAAUhjI,IAGnChI,KAAKgrI,UAAUjjI,OAAS,GAc5B4qB,OAAQ,SAAU4F,EAAQlS,EAAO+H,QAEf7jB,IAAV8b,IAAuBA,GAAQ,QAClB9b,IAAb6jB,IAA0BA,GAAW,GAEzC,IAAIpmB,EAAI,EAER,GAAItB,MAAMa,QAAQgxB,GAId,IAFAvwB,EAAIuwB,EAAOxwB,OAEJC,KAECuwB,EAAOvwB,aAAc3H,EAAO+vB,MAG5BpwB,KAAK2yB,OAAO4F,EAAOvwB,GAAGomB,SAAU/H,EAAO+H,IAIvCpuB,KAAKswB,WAAWiI,EAAOvwB,GAAIqe,GAEvB+H,GAAYmK,EAAOvwB,GAAGc,eAAe,aAAeyvB,EAAOvwB,GAAGomB,SAASrmB,OAAS,GAEhF/H,KAAK2yB,OAAO4F,EAAOvwB,GAAIqe,GAAO,SAOtCkS,aAAkBl4B,EAAO+vB,MAGzBpwB,KAAK2yB,OAAO4F,EAAOnK,SAAU/H,EAAO+H,IAIpCpuB,KAAKswB,WAAWiI,EAAQlS,GAEpB+H,GAAYmK,EAAOzvB,eAAe,aAAeyvB,EAAOnK,SAASrmB,OAAS,GAE1E/H,KAAK2yB,OAAO4F,EAAOnK,SAAU/H,GAAO,KAepDiK,WAAY,SAAUiI,EAAQlS,GAEtBkS,EAAOzvB,eAAe,SAA2B,OAAhByvB,EAAOhG,OAExCgG,EAAOhG,KAAO,IAAIlyB,EAAOmwB,QAAQmtG,GAAGpL,KAAKvyH,KAAKgd,KAAMub,EAAQA,EAAOpyB,EAAGoyB,EAAOrrB,EAAG,GAChFqrB,EAAOhG,KAAKlM,MAAQA,OACA,IAAlBkS,EAAO1M,QACjB0M,EAAO1M,OAAOlf,IAAI,MAalB8+H,gBAAiB,SAAUhpH,GAEnBA,EAEAziB,KAAKid,MAAMstH,GAAG,SAAUvqI,KAAK0rI,cAAe1rI,MAI5CA,KAAKid,MAAM0uH,IAAI,SAAU3rI,KAAK0rI,cAAe1rI,OAerD4rI,0BAA2B,SAAUn4G,EAAU5M,GAE3C7mB,KAAKgqI,uBAAyBv2G,EAC9BzzB,KAAKulB,gBAAkBsB,EAEN,OAAb4M,EAEAzzB,KAAKid,MAAMstH,GAAG,iBAAkBvqI,KAAK6rI,sBAAuB7rI,MAI5DA,KAAKid,MAAM0uH,IAAI,iBAAkB3rI,KAAK6rI,sBAAuB7rI,OAYrE6rI,sBAAuB,SAAUh9G,GAE7B,GAAK7uB,KAAKgqI,wBAAiD,IAAvBn7G,EAAMi9G,MAAM/jI,OAKhD,IAAK,IAAIC,EAAI6mB,EAAMi9G,MAAM/jI,OAAS,EAAGC,GAAK,EAAGA,GAAK,EAE1C6mB,EAAMi9G,MAAM9jI,GAAGikB,QAAU4C,EAAMi9G,MAAM9jI,EAAE,GAAGikB,SAAWjsB,KAAKgqI,uBAAuBhjI,KAAKhH,KAAKulB,gBAAiBsJ,EAAMi9G,MAAM9jI,GAAGikB,OAAQ4C,EAAMi9G,MAAM9jI,EAAE,GAAGikB,SAEpJ4C,EAAMi9G,MAAMnmH,OAAO3d,EAAG,IAalC0jI,cAAe,SAAU78G,GAErB,GAAIA,EAAMk9G,MAAM9/G,QAAU4C,EAAMm9G,MAAM//G,OACtC,CAEI,IAAIzc,EAAIqf,EAAMk9G,MAAM9/G,OAChBrc,EAAIif,EAAMm9G,MAAM//G,OAEhBzc,EAAEy8H,eAAep9G,EAAMm9G,MAAMl1H,KAE7BtH,EAAEy8H,eAAep9G,EAAMm9G,MAAMl1H,IAAI9P,KAAKwI,EAAE08H,qBAAqBr9G,EAAMm9G,MAAMl1H,IAAKtH,EAAGI,EAAGif,EAAMs9G,OAAQt9G,EAAMu9G,QAGxGx8H,EAAEq8H,eAAep9G,EAAMk9G,MAAMj1H,KAE7BlH,EAAEq8H,eAAep9G,EAAMk9G,MAAMj1H,IAAI9P,KAAK4I,EAAEs8H,qBAAqBr9G,EAAMk9G,MAAMj1H,IAAKlH,EAAGJ,EAAGqf,EAAMu9G,OAAQv9G,EAAMs9G,QAIxG38H,EAAE68H,gBAAgBx9G,EAAMu9G,OAAOE,iBAE/B98H,EAAE68H,gBAAgBx9G,EAAMu9G,OAAOE,gBAAgBtlI,KAAKwI,EAAE+8H,sBAAsB19G,EAAMu9G,OAAOE,gBAAiB98H,EAAGI,EAAGif,EAAMs9G,OAAQt9G,EAAMu9G,QAGpIx8H,EAAEy8H,gBAAgBx9G,EAAMs9G,OAAOG,iBAE/B18H,EAAEy8H,gBAAgBx9G,EAAMs9G,OAAOG,gBAAgBtlI,KAAK4I,EAAE28H,sBAAsB19G,EAAMs9G,OAAOG,gBAAiB18H,EAAGJ,EAAGqf,EAAMu9G,OAAQv9G,EAAMs9G,UAYhJ3B,oBAAqB,SAAU37G,GAEvBA,EAAMk9G,OAASl9G,EAAMm9G,QAErBhsI,KAAKiqI,eAAe5oH,SAASwN,EAAMk9G,MAAOl9G,EAAMm9G,MAAOn9G,EAAMs9G,OAAQt9G,EAAMu9G,OAAQv9G,EAAM29G,kBAErF39G,EAAMk9G,MAAM9/G,QAEZ4C,EAAMk9G,MAAM9/G,OAAOg+G,eAAe5oH,SAASwN,EAAMm9G,MAAM//G,OAAQ4C,EAAMm9G,MAAOn9G,EAAMs9G,OAAQt9G,EAAMu9G,OAAQv9G,EAAM29G,kBAG9G39G,EAAMm9G,MAAM//G,QAEZ4C,EAAMm9G,MAAM//G,OAAOg+G,eAAe5oH,SAASwN,EAAMk9G,MAAM9/G,OAAQ4C,EAAMk9G,MAAOl9G,EAAMu9G,OAAQv9G,EAAMs9G,OAAQt9G,EAAM29G,oBAY1H/B,kBAAmB,SAAU57G,GAErBA,EAAMk9G,OAASl9G,EAAMm9G,QAErBhsI,KAAKkqI,aAAa7oH,SAASwN,EAAMk9G,MAAOl9G,EAAMm9G,MAAOn9G,EAAMs9G,OAAQt9G,EAAMu9G,QAErEv9G,EAAMk9G,MAAM9/G,QAEZ4C,EAAMk9G,MAAM9/G,OAAOi+G,aAAa7oH,SAASwN,EAAMm9G,MAAM//G,OAAQ4C,EAAMm9G,MAAOn9G,EAAMs9G,OAAQt9G,EAAMu9G,QAG9Fv9G,EAAMm9G,MAAM//G,QAEZ4C,EAAMm9G,MAAM//G,OAAOi+G,aAAa7oH,SAASwN,EAAMk9G,MAAM9/G,OAAQ4C,EAAMk9G,MAAOl9G,EAAMu9G,OAAQv9G,EAAMs9G,UAiB1GxqH,iBAAkB,SAAUjW,EAAMD,EAAOgE,EAAKC,EAAQ+8H,GAElDzsI,KAAKs6B,UAAUt6B,KAAKgd,KAAKC,MAAME,OAAOhX,EAAGnG,KAAKgd,KAAKC,MAAME,OAAOjQ,EAAGlN,KAAKgd,KAAKC,MAAME,OAAOtL,MAAO7R,KAAKgd,KAAKC,MAAME,OAAOrL,OAAQpG,EAAMD,EAAOgE,EAAKC,EAAQ+8H,IAc9JC,iBAAkB,SAAUC,EAAUjhI,EAAMD,EAAOgE,EAAKC,QAEvCnF,IAATmB,IAAsBA,GAAO,QACnBnB,IAAVkB,IAAuBA,GAAQ,QACvBlB,IAARkF,IAAqBA,GAAM,QAChBlF,IAAXmF,IAAwBA,GAAS,GAEjChE,GAAQ1L,KAAKupI,MAAM79H,OAEnB1L,KAAKupI,MAAM79H,KAAKkhI,OAAO,GAAGD,SAAWA,GAGrClhI,GAASzL,KAAKupI,MAAM99H,QAEpBzL,KAAKupI,MAAM99H,MAAMmhI,OAAO,GAAGD,SAAWA,GAGtCl9H,GAAOzP,KAAKupI,MAAM95H,MAElBzP,KAAKupI,MAAM95H,IAAIm9H,OAAO,GAAGD,SAAWA,GAGpCj9H,GAAU1P,KAAKupI,MAAM75H,SAErB1P,KAAKupI,MAAM75H,OAAOk9H,OAAO,GAAGD,SAAWA,IAa/CE,2BAA4B,SAAUJ,QAERliI,IAAtBkiI,IAAmCA,GAAoB,GAE3D,IAAIj+E,EAAO,EAAsBxuD,KAAK6qI,qBAAqBr8E,KAAOxuD,KAAK8qI,yBAAyBt8E,KAE5FxuD,KAAKupI,MAAM79H,OAEX1L,KAAKupI,MAAM79H,KAAKkhI,OAAO,GAAGN,eAAiB99E,GAG3CxuD,KAAKupI,MAAM99H,QAEXzL,KAAKupI,MAAM99H,MAAMmhI,OAAO,GAAGN,eAAiB99E,GAG5CxuD,KAAKupI,MAAM95H,MAEXzP,KAAKupI,MAAM95H,IAAIm9H,OAAO,GAAGN,eAAiB99E,GAG1CxuD,KAAKupI,MAAM75H,SAEX1P,KAAKupI,MAAM75H,OAAOk9H,OAAO,GAAGN,eAAiB99E,GAGjDxuD,KAAKsrI,gBAAkBmB,GAuB3BnyG,UAAW,SAAUn0B,EAAG+G,EAAG2E,EAAOC,EAAQpG,EAAMD,EAAOgE,EAAKC,EAAQ+8H,QAEnDliI,IAATmB,IAAsBA,EAAO1L,KAAKkrI,kBACxB3gI,IAAVkB,IAAuBA,EAAQzL,KAAKmrI,mBAC5B5gI,IAARkF,IAAqBA,EAAMzP,KAAKorI,iBACrB7gI,IAAXmF,IAAwBA,EAAS1P,KAAKqrI,oBAChB9gI,IAAtBkiI,IAAmCA,EAAoBzsI,KAAKsrI,iBAEhEtrI,KAAK8sI,UAAUphI,EAAM,OAAQvF,EAAG+G,EAAG,mBAAoBu/H,GACvDzsI,KAAK8sI,UAAUrhI,EAAO,QAAStF,EAAI0L,EAAO3E,GAAI,mBAAoBu/H,GAClEzsI,KAAK8sI,UAAUr9H,EAAK,MAAOtJ,EAAG+G,GAAI,kBAAmBu/H,GACrDzsI,KAAK8sI,UAAUp9H,EAAQ,SAAUvJ,EAAG+G,EAAI4E,EAAQ,EAAG26H,GAGnDzsI,KAAKkrI,YAAcx/H,EACnB1L,KAAKmrI,aAAe1/H,EACpBzL,KAAKorI,WAAa37H,EAClBzP,KAAKqrI,cAAgB37H,EACrB1P,KAAKsrI,gBAAkBmB,GAiB3BK,UAAW,SAAU7pH,EAAQ8pH,EAAM5mI,EAAG+G,EAAGyB,EAAO89H,GAExCxpH,GAGIjjB,KAAKupI,MAAMwD,GAEX/sI,KAAKupI,MAAMwD,GAAMjxH,UAAa9b,KAAKsqI,KAAKnkI,GAAInG,KAAKsqI,KAAKp9H,KAItDlN,KAAKupI,MAAMwD,GAAQ,IAAIhyH,GAAGw3G,MAAOmQ,KAAM,EAAG5mH,UAAY9b,KAAKsqI,KAAKnkI,GAAInG,KAAKsqI,KAAKp9H,IAAMyB,MAAOA,IAC3F3O,KAAKupI,MAAMwD,GAAMC,SAAS,IAAIjyH,GAAGkyH,OAEjCjtI,KAAKid,MAAMiwH,QAAQltI,KAAKupI,MAAMwD,KAG9BN,IAEAzsI,KAAKupI,MAAMwD,GAAMH,OAAO,GAAGN,eAAiBtsI,KAAK6qI,qBAAqBr8E,OAKtExuD,KAAKupI,MAAMwD,KAEX/sI,KAAKid,MAAMuuH,WAAWxrI,KAAKupI,MAAMwD,IACjC/sI,KAAKupI,MAAMwD,GAAQ,OAW/B/nH,MAAO,WAEHhlB,KAAKojB,QAAS,GASlB8B,OAAQ,WAEJllB,KAAKojB,QAAS,GASlBrC,OAAQ,WAGA/gB,KAAKojB,SAKLpjB,KAAKopI,eAELppI,KAAKid,MAAM0iB,KAAK3/B,KAAKgd,KAAKmE,KAAKunE,gBAI/B1oF,KAAKid,MAAM0iB,KAAK3/B,KAAKkrD,aAW7BjpC,MAAO,WAEHjiB,KAAKid,MAAMstH,GAAG,eAAgBvqI,KAAKwqI,oBAAqBxqI,MACxDA,KAAKid,MAAMstH,GAAG,aAAcvqI,KAAKyqI,kBAAmBzqI,MAEpDA,KAAK2qI,sBAAwB,IAAItqI,EAAOmwB,QAAQmtG,GAAGiN,eAAe,GAClE5qI,KAAK6qI,qBAAuB,IAAIxqI,EAAOmwB,QAAQmtG,GAAGiN,eAAe,GACjE5qI,KAAK8qI,yBAA2B,IAAIzqI,EAAOmwB,QAAQmtG,GAAGiN,eAAe,YAErE5qI,KAAKirI,kBAAoB,EAEzBjrI,KAAK2hB,kBAAiB,GAAM,GAAM,GAAM,GAAM,IAmBlDjB,MAAO,WAEH1gB,KAAKid,MAAMkE,KAAO,EAClBnhB,KAAKid,MAAMkwH,cAAgB,EAGvBntI,KAAKid,MAAMmwH,QAAUptI,KAAKid,MAAMmwH,OAAOC,UAAUtlI,QAEjD/H,KAAKid,MAAMmwH,OAAOE,qBAMtB,IAAK,IAFDC,EAAKvtI,KAAKid,MAAMuwH,YAEXxlI,EAAIulI,EAAGxlI,OAAS,EAAGC,GAAK,EAAGA,IAEhChI,KAAKid,MAAMwwH,iBAAiBF,EAAGvlI,IAMnC,IAAK,IAFD0lI,EAAS1tI,KAAKid,MAAMywH,OAEf1lI,EAAI0lI,EAAO3lI,OAAS,EAAGC,GAAK,EAAGA,IAEpChI,KAAKid,MAAMuuH,WAAWkC,EAAO1lI,IAMjC,IAAK,IAFD2lI,EAAU3tI,KAAKid,MAAM0wH,QAEhB3lI,EAAI2lI,EAAQ5lI,OAAS,EAAGC,GAAK,EAAGA,IAErChI,KAAKid,MAAM2wH,aAAaD,EAAQ3lI,IAMpC,IAAK,IAFD6lI,EAAM7tI,KAAKid,MAAM6wH,iBAEZ9lI,EAAI6lI,EAAI9lI,OAAS,EAAGC,GAAK,EAAGA,IAEjChI,KAAKid,MAAM8wH,sBAAsBF,EAAI7lI,IAGzChI,KAAKid,MAAM0uH,IAAI,eAAgB3rI,KAAKwqI,oBAAqBxqI,MACzDA,KAAKid,MAAM0uH,IAAI,aAAc3rI,KAAKyqI,kBAAmBzqI,MAErDA,KAAKgqI,uBAAyB,KAC9BhqI,KAAKulB,gBAAkB,KACvBvlB,KAAKguI,eAAiB,KAEtBhuI,KAAK0qI,mBACL1qI,KAAKgrI,aACLhrI,KAAK+qI,sBAGL/qI,KAAKupI,OAAU79H,KAAM,KAAMD,MAAO,KAAMgE,IAAK,KAAMC,OAAQ,OAS/D4W,QAAS,WAELtmB,KAAK0gB,QAEL1gB,KAAKgd,KAAO,MAWhBkwH,QAAS,SAAU36G,GAEf,OAAIA,EAAKgU,KAAKtpB,QAMVjd,KAAKid,MAAMiwH,QAAQ36G,EAAKgU,MAExBvmC,KAAKwpI,YAAYnoH,SAASkR,IAEnB,IAYfi5G,WAAY,SAAUj5G,GASlB,OAPIA,EAAKgU,KAAKtpB,QAAUjd,KAAKid,QAEzBjd,KAAKid,MAAMuuH,WAAWj5G,EAAKgU,MAE3BvmC,KAAKypI,cAAcpoH,SAASkR,IAGzBA,GAWX07G,UAAW,SAAUC,GAajB,OAXIA,aAAkB7tI,EAAOmwB,QAAQmtG,GAAGsL,QAAUiF,aAAkB7tI,EAAOmwB,QAAQmtG,GAAGwQ,iBAElFnuI,KAAKid,MAAMgxH,UAAUC,EAAO3nG,MAI5BvmC,KAAKid,MAAMgxH,UAAUC,GAGzBluI,KAAK0pI,cAAcroH,SAAS6sH,GAErBA,GAWXN,aAAc,SAAUM,GAapB,OAXIA,aAAkB7tI,EAAOmwB,QAAQmtG,GAAGsL,QAAUiF,aAAkB7tI,EAAOmwB,QAAQmtG,GAAGwQ,iBAElFnuI,KAAKid,MAAM2wH,aAAaM,EAAO3nG,MAI/BvmC,KAAKid,MAAM2wH,aAAaM,GAG5BluI,KAAK2pI,gBAAgBtoH,SAAS6sH,GAEvBA,GAgBXE,yBAA0B,SAAUrC,EAAOC,EAAO19H,EAAU+/H,EAAcC,EAAcC,GAKpF,GAHAxC,EAAQ/rI,KAAKwuI,QAAQzC,GACrBC,EAAQhsI,KAAKwuI,QAAQxC,GAEhBD,GAAUC,EAMX,OAAOhsI,KAAKyuI,cAAc,IAAIpuI,EAAOmwB,QAAQmtG,GAAG+Q,mBAAmB1uI,KAAM+rI,EAAOC,EAAO19H,EAAU+/H,EAAcC,EAAcC,IAJ7HjmI,QAAQG,KAAK,yDAmBrBkmI,qBAAsB,SAAU5C,EAAOC,EAAOr9H,EAAOigI,GAKjD,GAHA7C,EAAQ/rI,KAAKwuI,QAAQzC,GACrBC,EAAQhsI,KAAKwuI,QAAQxC,GAEhBD,GAAUC,EAMX,OAAOhsI,KAAKyuI,cAAc,IAAIpuI,EAAOmwB,QAAQmtG,GAAGkR,eAAe7uI,KAAM+rI,EAAOC,EAAOr9H,EAAOigI,IAJ1FtmI,QAAQG,KAAK,yDAsBrBqmI,yBAA0B,SAAU/C,EAAOgD,EAAQ/C,EAAOgD,EAAQT,EAAUU,GAKxE,GAHAlD,EAAQ/rI,KAAKwuI,QAAQzC,GACrBC,EAAQhsI,KAAKwuI,QAAQxC,GAEhBD,GAAUC,EAMX,OAAOhsI,KAAKyuI,cAAc,IAAIpuI,EAAOmwB,QAAQmtG,GAAGuR,mBAAmBlvI,KAAM+rI,EAAOgD,EAAQ/C,EAAOgD,EAAQT,EAAUU,IAJjH3mI,QAAQG,KAAK,yDAoBrB0mI,qBAAsB,SAAUpD,EAAOC,EAAO78H,EAAQR,EAAO4/H,GAKzD,GAHAxC,EAAQ/rI,KAAKwuI,QAAQzC,GACrBC,EAAQhsI,KAAKwuI,QAAQxC,GAEhBD,GAAUC,EAMX,OAAOhsI,KAAKyuI,cAAc,IAAIpuI,EAAOmwB,QAAQmtG,GAAGyR,eAAepvI,KAAM+rI,EAAOC,EAAO78H,EAAQR,EAAO4/H,IAJlGjmI,QAAQG,KAAK,yDAuBrB4mI,0BAA2B,SAAUtD,EAAOC,EAAOsD,EAAcC,EAASC,EAASntF,EAAMksF,GAKrF,GAHAxC,EAAQ/rI,KAAKwuI,QAAQzC,GACrBC,EAAQhsI,KAAKwuI,QAAQxC,GAEhBD,GAAUC,EAMX,OAAOhsI,KAAKyuI,cAAc,IAAIpuI,EAAOmwB,QAAQmtG,GAAG8R,oBAAoBzvI,KAAM+rI,EAAOC,EAAOsD,EAAcC,EAASC,EAASntF,EAAMksF,IAJ9HjmI,QAAQG,KAAK,yDAgBrBgmI,cAAe,SAAUiB,GAMrB,OAJA1vI,KAAKid,MAAMwxH,cAAciB,GAEzB1vI,KAAK4pI,kBAAkBvoH,SAASquH,GAEzBA,GAWXjC,iBAAkB,SAAUiC,GAMxB,OAJA1vI,KAAKid,MAAMwwH,iBAAiBiC,GAE5B1vI,KAAK6pI,oBAAoBxoH,SAASquH,GAE3BA,GAWXC,mBAAoB,SAAUhD,GAM1B,OAJA3sI,KAAKid,MAAM0yH,mBAAmBhD,GAE9B3sI,KAAK8pI,uBAAuBzoH,SAASsrH,GAE9BA,GAWXoB,sBAAuB,SAAUpB,GAM7B,OAJA3sI,KAAKid,MAAM8wH,sBAAsBpB,GAEjC3sI,KAAK+pI,yBAAyB1oH,SAASsrH,GAEhCA,GAYXiD,mBAAoB,SAAUC,EAAWC,GAErC,OAAO9vI,KAAKid,MAAM2yH,mBAAmBC,EAAWC,IAWpDC,YAAa,SAAUpD,EAAUe,GAI7B,IAFA,IAAI1lI,EAAI0lI,EAAO3lI,OAERC,KAEH0lI,EAAO1lI,GAAG+nI,YAAYpD,IAe9BqD,eAAgB,SAAUhmI,EAAMuoB,GAE5BvoB,EAAOA,GAAQ,GAEf,IAAI2iI,EAAW,IAAItsI,EAAOmwB,QAAQmtG,GAAGsS,SAASjmI,GAS9C,OAPAhK,KAAKqpI,UAAU90H,KAAKo4H,QAEA,IAATp6G,GAEPA,EAAKw9G,YAAYpD,GAGdA,GAaXuD,sBAAuB,SAAUL,EAAWC,EAAW/jI,QAEjCxB,IAAdslI,IAA2BA,EAAY7vI,KAAKgwI,uBAC9BzlI,IAAdulI,IAA2BA,EAAY9vI,KAAKgwI,kBAEhD,IAAIG,EAAU,IAAI9vI,EAAOmwB,QAAQmtG,GAAGyS,gBAAgBP,EAAWC,EAAW/jI,GAE1E,OAAO/L,KAAK2vI,mBAAmBQ,IAUnCE,UAAW,WAKP,IAHA,IAAI7hI,KACAxG,EAAIhI,KAAKid,MAAMywH,OAAO3lI,OAEnBC,KAEHwG,EAAO+F,KAAKvU,KAAKid,MAAMywH,OAAO1lI,GAAGikB,QAGrC,OAAOzd,GAWXggI,QAAS,SAAUj2G,GAEf,OAAIA,aAAkBxd,GAAGw3G,KAGdh6F,EAEFA,aAAkBl4B,EAAOmwB,QAAQmtG,GAAGpL,KAGlCh6F,EAAOgO,KAEThO,EAAa,MAAKA,EAAa,KAAEnwB,OAAS/H,EAAOmwB,QAAQq8B,KAGvDt0B,EAAOhG,KAAKgU,KAGhB,MAUX+pG,WAAY,WAKR,IAHA,IAAI9hI,KACAxG,EAAIhI,KAAKid,MAAM0wH,QAAQ5lI,OAEpBC,KAEHwG,EAAO+F,KAAKvU,KAAKid,MAAM0wH,QAAQ3lI,GAAGikB,QAGtC,OAAOzd,GAYX+hI,eAAgB,WAKZ,IAHA,IAAI/hI,KACAxG,EAAIhI,KAAKid,MAAMuwH,YAAYzlI,OAExBC,KAEHwG,EAAO+F,KAAKvU,KAAKid,MAAMuwH,YAAYxlI,IAGvC,OAAOwG,GAeXs3B,QAAS,SAAU0qG,EAAY9C,EAAQ+C,EAAWC,QAE/BnmI,IAAXmjI,IAAwBA,EAAS1tI,KAAKid,MAAMywH,aAC9BnjI,IAAdkmI,IAA2BA,EAAY,QACtBlmI,IAAjBmmI,IAA8BA,GAAe,GAOjD,IALA,IAAIC,GAAoB3wI,KAAKsqI,KAAKkG,EAAWrqI,GAAInG,KAAKsqI,KAAKkG,EAAWtjI,IAElE0jI,KACA5oI,EAAI0lI,EAAO3lI,OAERC,KAEC0lI,EAAO1lI,aAAc3H,EAAOmwB,QAAQmtG,GAAGpL,QAAUme,GAAgBhD,EAAO1lI,GAAGu+B,KAAKn+B,OAAS2S,GAAGw3G,KAAKse,QAEjGD,EAAMr8H,KAAKm5H,EAAO1lI,GAAGu+B,MAEhBmnG,EAAO1lI,aAAc+S,GAAGw3G,MAAQmb,EAAO1lI,GAAGikB,UAAYykH,GAAgBhD,EAAO1lI,GAAGI,OAAS2S,GAAGw3G,KAAKse,QAEtGD,EAAMr8H,KAAKm5H,EAAO1lI,IAEb0lI,EAAO1lI,aAAc3H,EAAO2wB,QAAU08G,EAAO1lI,GAAGc,eAAe,WAAa4nI,GAAgBhD,EAAO1lI,GAAGuqB,KAAKgU,KAAKn+B,OAAS2S,GAAGw3G,KAAKse,SAEtID,EAAMr8H,KAAKm5H,EAAO1lI,GAAGuqB,KAAKgU,MAIlC,OAAOvmC,KAAKid,MAAM6oB,QAAQ6qG,EAAiBC,EAAOH,IAUtDK,OAAQ,WAEJ,OAAO9wI,KAAKid,MAAM6zH,UAWtBC,qBAAsB,SAAUx4G,GAE5B,IAAIy4G,EAAU/qI,KAAKowF,IAAI,EAAGr2F,KAAKirI,mBAE3BjrI,KAAKupI,MAAM79H,OAEX1L,KAAKupI,MAAM79H,KAAKkhI,OAAO,GAAGqE,cAAgBjxI,KAAKupI,MAAM79H,KAAKkhI,OAAO,GAAGqE,cAAgBD,GAGpFhxI,KAAKupI,MAAM99H,QAEXzL,KAAKupI,MAAM99H,MAAMmhI,OAAO,GAAGqE,cAAgBjxI,KAAKupI,MAAM99H,MAAMmhI,OAAO,GAAGqE,cAAgBD,GAGtFhxI,KAAKupI,MAAM95H,MAEXzP,KAAKupI,MAAM95H,IAAIm9H,OAAO,GAAGqE,cAAgBjxI,KAAKupI,MAAM95H,IAAIm9H,OAAO,GAAGqE,cAAgBD,GAGlFhxI,KAAKupI,MAAM75H,SAEX1P,KAAKupI,MAAM75H,OAAOk9H,OAAO,GAAGqE,cAAgBjxI,KAAKupI,MAAM75H,OAAOk9H,OAAO,GAAGqE,cAAgBD,GAG5FhxI,KAAKirI,oBAEL,IAAIxxG,EAAQ,IAAIp5B,EAAOmwB,QAAQmtG,GAAGiN,eAAeoG,GASjD,OAPAhxI,KAAK0qI,gBAAgBn2H,KAAKklB,GAEtBlB,GAEAv4B,KAAKysI,kBAAkBl0G,EAAQkB,GAG5BA,GAYXgzG,kBAAmB,SAAUl0G,EAAQkB,GAEjC,GAAIlB,aAAkBl4B,EAAO+vB,MAEzB,IAAK,IAAIpoB,EAAI,EAAGA,EAAIuwB,EAAOV,MAAO7vB,IAE1BuwB,EAAOnK,SAASpmB,GAAS,MAAKuwB,EAAOnK,SAASpmB,GAAS,KAAEI,OAAS/H,EAAOmwB,QAAQq8B,MAEjFt0B,EAAOnK,SAASpmB,GAAGuqB,KAAKk6G,kBAAkBhzG,QAMlDlB,EAAOhG,KAAKk6G,kBAAkBhzG,IAoBtCy3G,aAAc,SAAUnF,EAAOC,EAAOmF,EAAYC,EAAWC,EAASC,EAAQC,EAAQC,EAAQC,GAK1F,GAHA1F,EAAQ/rI,KAAKwuI,QAAQzC,GACrBC,EAAQhsI,KAAKwuI,QAAQxC,GAEhBD,GAAUC,EAMX,OAAOhsI,KAAKiuI,UAAU,IAAI5tI,EAAOmwB,QAAQmtG,GAAGsL,OAAOjpI,KAAM+rI,EAAOC,EAAOmF,EAAYC,EAAWC,EAASC,EAAQC,EAAQC,EAAQC,IAJ/HnpI,QAAQG,KAAK,qDAoBrBipI,uBAAwB,SAAU3F,EAAOC,EAAO2F,EAAWP,EAAWC,GAKlE,GAHAtF,EAAQ/rI,KAAKwuI,QAAQzC,GACrBC,EAAQhsI,KAAKwuI,QAAQxC,GAEhBD,GAAUC,EAMX,OAAOhsI,KAAKiuI,UAAU,IAAI5tI,EAAOmwB,QAAQmtG,GAAGwQ,iBAAiBnuI,KAAM+rI,EAAOC,EAAO2F,EAAWP,EAAWC,IAJvG/oI,QAAQG,KAAK,gEA0BrBmpI,WAAY,SAAUzrI,EAAG+G,EAAGw1H,EAAMl3G,EAAYzf,EAASw6B,QAEhCh8B,IAAfihB,IAA4BA,GAAa,GAE7C,IAAI+G,EAAO,IAAIlyB,EAAOmwB,QAAQmtG,GAAGpL,KAAKvyH,KAAKgd,KAAM,KAAM7W,EAAG+G,EAAGw1H,GAE7D,QAAIn8F,IAEahU,EAAKs/G,WAAW9lI,EAASw6B,MAQtC/a,GAEAxrB,KAAKid,MAAMiwH,QAAQ36G,EAAKgU,MAGrBhU,IAoBXu/G,eAAgB,SAAU3rI,EAAG+G,EAAGw1H,EAAMl3G,EAAYzf,EAASw6B,QAEpCh8B,IAAfihB,IAA4BA,GAAa,GAE7C,IAAI+G,EAAO,IAAIlyB,EAAOmwB,QAAQmtG,GAAGpL,KAAKvyH,KAAKgd,KAAM,KAAM7W,EAAG+G,EAAGw1H,GAE7D,QAAIn8F,IAEahU,EAAKs/G,WAAW9lI,EAASw6B,MAQtC/a,GAEAxrB,KAAKid,MAAMiwH,QAAQ36G,EAAKgU,MAGrBhU,IAcXw/G,wBAAyB,SAAUC,EAAKlZ,EAAOttG,QAExBjhB,IAAfihB,IAA4BA,GAAa,GAI7C,IAAK,IAFDhd,KAEKxG,EAAI,EAAGF,EAAMkqI,EAAIC,UAAUnZ,GAAO/wH,OAAQC,EAAIF,EAAKE,IAC5D,CAUI,IAAIuwB,EAASy5G,EAAIC,UAAUnZ,GAAO9wH,GAC9BkqI,EAAY35G,EAAO45G,UAAY55G,EAAO65G,QAG1C,GAAIF,EAEA,IAAI3/G,EAAOvyB,KAAK4xI,WAAWr5G,EAAOpyB,EAAGoyB,EAAOrrB,EAAG,EAAGse,KAAgB0mH,QAI7D35G,EAAO04F,YAER1+F,EAAOvyB,KAAK4xI,WAAWr5G,EAAOpyB,EAAGoyB,EAAOrrB,EAAG,EAAGse,IAC7C6mH,aAAa95G,EAAO1mB,MAAO0mB,EAAOzmB,OAAQymB,EAAO1mB,MAAQ,EAAG0mB,EAAOzmB,OAAS,GAMjFygB,GAEA/jB,EAAO+F,KAAKge,GAIpB,OAAO/jB,GAWX8jI,wBAAyB,SAAUN,EAAKlZ,GAEpCA,EAAQkZ,EAAIO,SAASzZ,GAIrB,IAFA,IAAI9wH,EAAIgqI,EAAIpZ,OAAOE,GAAO4U,OAAO3lI,OAE1BC,KAEHgqI,EAAIpZ,OAAOE,GAAO4U,OAAO1lI,GAAGse,UAGhC0rH,EAAIpZ,OAAOE,GAAO4U,OAAO3lI,OAAS,GAiBtCyqI,eAAgB,SAAUR,EAAKlZ,EAAOttG,EAAYinH,GAE9C3Z,EAAQkZ,EAAIO,SAASzZ,QAEFvuH,IAAfihB,IAA4BA,GAAa,QAC5BjhB,IAAbkoI,IAA0BA,GAAW,GAGzCzyI,KAAKsyI,wBAAwBN,EAAKlZ,GAMlC,IAAK,IAJDjnH,EAAQ,EACRuC,EAAK,EACLC,EAAK,EAEAnH,EAAI,EAAGyD,EAAIqhI,EAAIpZ,OAAOE,GAAOhnH,OAAQ5E,EAAIyD,EAAGzD,IACrD,CACI2E,EAAQ,EAER,IAAK,IAAI1L,EAAI,EAAG4Z,EAAIiyH,EAAIpZ,OAAOE,GAAOjnH,MAAO1L,EAAI4Z,EAAG5Z,IACpD,CACI,IAAI6hI,EAAOgK,EAAIpZ,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,GAErC,GAAI6hI,GAAQA,EAAKj/H,OAAS,GAAKi/H,EAAK0K,SAEhC,GAAID,EACJ,CACI,IAAIhnI,EAAQumI,EAAIW,aAAa7Z,EAAO3yH,EAAG+G,GAEzB,IAAV2E,IAEAuC,EAAK4zH,EAAK7hI,EAAI6hI,EAAKn2H,MACnBwC,EAAK2zH,EAAK96H,EAAI86H,EAAKl2H,OACnBD,EAAQm2H,EAAKn2H,OAGbpG,GAASA,EAAMinI,SAEf7gI,GAASm2H,EAAKn2H,QAIV0gB,EAAOvyB,KAAK4xI,WAAWx9H,EAAIC,EAAI,GAAG,IAEjCg+H,aAAaxgI,EAAOm2H,EAAKl2H,OAAQD,EAAQ,EAAGm2H,EAAKl2H,OAAS,EAAG,GAE9D0Z,GAEAxrB,KAAKktI,QAAQ36G,GAGjBy/G,EAAIpZ,OAAOE,GAAO4U,OAAOn5H,KAAKge,GAE9B1gB,EAAQ,OAIhB,CACI,IAAI0gB,EAAOvyB,KAAK4xI,WAAW5J,EAAK7hI,EAAI6hI,EAAKn2H,MAAOm2H,EAAK96H,EAAI86H,EAAKl2H,OAAQ,GAAG,GAEzEygB,EAAK8/G,aAAarK,EAAKn2H,MAAOm2H,EAAKl2H,OAAQk2H,EAAKn2H,MAAQ,EAAGm2H,EAAKl2H,OAAS,EAAG,GAExE0Z,GAEAxrB,KAAKktI,QAAQ36G,GAGjBy/G,EAAIpZ,OAAOE,GAAO4U,OAAOn5H,KAAKge,KAM9C,OAAOy/G,EAAIpZ,OAAOE,GAAO4U,QAa7BvD,IAAK,SAAUnsG,GAEX,OAAOA,GAAK,IAahBqsG,IAAK,SAAUrsG,GAEX,MAAW,IAAJA,GAaXosG,KAAM,SAAUpsG,GAEZ,OAAOA,IAAM,IAajBssG,KAAM,SAAUtsG,GAEZ,OAAY,IAALA,IAUfv2B,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGp3H,UAAW,YAE/CmG,IAAK,WAED,OAAO1M,KAAKid,MAAM21H,uBAAuBvP,UAI7C12H,IAAK,SAAUzC,GAEXlK,KAAKid,MAAM21H,uBAAuBvP,SAAWn5H,KAUrDzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGp3H,UAAW,eAE/CmG,IAAK,WAED,OAAO1M,KAAKid,MAAM21H,uBAAuBC,aAI7ClmI,IAAK,SAAUzC,GAEXlK,KAAKid,MAAM21H,uBAAuBC,YAAc3oI,KAUxDzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGp3H,UAAW,mBAE/CmG,IAAK,WAED,OAAO1M,KAAKid,MAAM21H,wBAItBjmI,IAAK,SAAUzC,GAEXlK,KAAKid,MAAM21H,uBAAyB1oI,KAU5CzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGp3H,UAAW,qBAE/CmG,IAAK,WAED,OAAO1M,KAAKid,MAAM61H,mBAItBnmI,IAAK,SAAUzC,GAEXlK,KAAKid,MAAM61H,kBAAoB5oI,KAUvCzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGp3H,UAAW,gBAE/CmG,IAAK,WAED,OAAO1M,KAAKid,MAAM81H,cAItBpmI,IAAK,SAAUzC,GAEXlK,KAAKid,MAAM81H,aAAe7oI,KAUlCzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGp3H,UAAW,gBAE/CmG,IAAK,WAED,OAAO1M,KAAKid,MAAM+1H,cAItBrmI,IAAK,SAAUzC,GAEXlK,KAAKid,MAAM+1H,aAAe9oI,KAUlCzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGp3H,UAAW,oBAE/CmG,IAAK,WAED,OAAO1M,KAAKid,MAAMg2H,kBAItBtmI,IAAK,SAAUzC,GAEXlK,KAAKid,MAAMg2H,iBAAmB/oI,KAWtCzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGp3H,UAAW,QAE/CmG,IAAK,WAED,OAAO1M,KAAKid,MAAMkE,QAU1B1Z,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGp3H,UAAW,mBAE/CmG,IAAK,WAED,OAAO1M,KAAKid,MAAMi2H,iBAItBvmI,IAAK,SAAUzC,GAEXlK,KAAKid,MAAMi2H,gBAAkBhpI,KAYrCzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGp3H,UAAW,aAE/CmG,IAAK,WAED,OAAO1M,KAAKid,MAAMk2H,WAItBxmI,IAAK,SAAUzC,GAEXlK,KAAKid,MAAMk2H,UAAYjpI,KAW/BzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGp3H,UAAW,SAE/CmG,IAAK,WAED,OAAO1M,KAAKid,MAAMywH,OAAO3lI,UA4BjC1H,EAAOmwB,QAAQmtG,GAAGyV,YAAc,SAAUj6G,GAEjCzyB,MAAMa,QAAQ4xB,KAEfA,GAAQA,IAGZn5B,KAAKqzI,QAAUl6G,EACfn5B,KAAK6iB,OACL7iB,KAAK2Z,MAAM3Z,KAAKqzI,UAIpBhzI,EAAOmwB,QAAQmtG,GAAGyV,YAAY7sI,WAK1Bsc,KAAM,WAMF7iB,KAAKszI,iBAMLtzI,KAAKuzI,mBAMLvzI,KAAKwzI,gBASTC,YAAa,SAAUC,EAAK7hC,GAMxB7xG,KAAK2zI,YAAY9hC,GAAYlqG,QAJhB,SAASoqG,GAClBA,EAAQu6B,eAAiBoH,KAYjCE,QAAS,SAAUF,EAAK7hC,GAMpB7xG,KAAK2zI,YAAY9hC,GAAYlqG,QAJhB,SAASoqG,GAClBA,EAAQk/B,cAAgByC,KAYhCG,UAAW,SAAU3pI,EAAO2nG,GAMxB7xG,KAAK2zI,YAAY9hC,GAAYlqG,QAJhB,SAASoqG,GAClBA,EAAQ+hC,OAAS5pI,KAYzB6lI,YAAa,SAAUpD,EAAU96B,GAM7B7xG,KAAK2zI,YAAY9hC,GAAYlqG,QAJhB,SAASoqG,GAClBA,EAAQ46B,SAAWA,KAa3BgH,YAAa,SAAUlnI,GAEnB,IAAIqlG,KAEJ,GAAIrlG,EACJ,CACUA,aAAgB/F,QAElB+F,GAAQA,IAGZ,IAAImJ,EAAO5V,KAQX,OAPAyM,EAAK9E,QAAQ,SAASkC,GACd+L,EAAK09H,cAAczpI,IAEnBioG,EAASv9F,KAAKqB,EAAK09H,cAAczpI,MAIlC7J,KAAKqa,QAAQy3F,GAKpB,OAAO9xG,KAAKwzI,aAWpBO,gBAAiB,SAAUlqI,GAEvB,OAAO7J,KAAKszI,cAAczpI,IAU9BmqI,SAAU,SAAUC,GAEhB,OAAOj0I,KAAKuzI,gBAAgBU,IAShCt6H,MAAO,WAEH,IAAI9P,EAAKK,EAAOgqI,EAAMC,EACtBD,EAAOl0I,KAAKqzI,QACZc,KAEA,IAAKtqI,KAAOqqI,EAERhqI,EAAQgqI,EAAKrqI,GAERg4C,MAAMh4C,EAAM,GAOb7J,KAAKszI,cAAczpI,GAAO7J,KAAKqa,QAAQnQ,IALvClK,KAAKuzI,gBAAgB1pI,GAAO7J,KAAKuzI,gBAAgB1pI,OACjD7J,KAAKuzI,gBAAgB1pI,GAAO7J,KAAKuzI,gBAAgB1pI,GAAK9C,OAAOmD,IAOjEiqI,EAAS5/H,KAAKvU,KAAKwzI,YAAcxzI,KAAKqa,QAAQra,KAAKuzI,mBAW3Dl5H,QAAS,SAAU/D,GAEf,IAAItD,EAAQ4C,EAQZ,OAPA5C,KACA4C,EAAO3O,UAAUmtI,OAEjB99H,EAAM3O,QAAQ,SAASgnF,GACnB,OAAOjoF,MAAMH,UAAUgO,KAAKpN,MAAM6L,EAAStM,MAAMa,QAAQonF,GAAQ/4E,EAAK+4E,IAASA,MAG5E37E,IAmBf3S,EAAOmwB,QAAQmtG,GAAG0W,WAAa,SAAUp3H,EAAO+lD,GAE5ChjE,KAAKid,MAAQA,EAChBjd,KAAKgjE,YAAcA,GAIpB3iE,EAAOmwB,QAAQmtG,GAAG0W,WAAW9tI,UAAU8B,YAAchI,EAAOmwB,QAAQmtG,GAAG0W,WAMvE5sI,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAG0W,WAAW9tI,UAAW,KAE1DmG,IAAK,WAED,OAAO1M,KAAKid,MAAMktH,IAAInqI,KAAKgjE,YAAY,KAI3Cr2D,IAAK,SAAUzC,GAEXlK,KAAKgjE,YAAY,GAAKhjE,KAAKid,MAAMotH,IAAIngI,MAU7CzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAG0W,WAAW9tI,UAAW,KAE1DmG,IAAK,WAED,OAAO1M,KAAKid,MAAMktH,IAAInqI,KAAKgjE,YAAY,KAI3Cr2D,IAAK,SAAUzC,GAEXlK,KAAKgjE,YAAY,GAAKhjE,KAAKid,MAAMotH,IAAIngI,MAU7CzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAG0W,WAAW9tI,UAAW,MAE1DmG,IAAK,WAED,OAAO1M,KAAKgjE,YAAY,IAI5Br2D,IAAK,SAAUzC,GAEXlK,KAAKgjE,YAAY,GAAK94D,KAU9BzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAG0W,WAAW9tI,UAAW,MAE1DmG,IAAK,WAED,OAAO1M,KAAKgjE,YAAY,IAI5Br2D,IAAK,SAAUzC,GAEXlK,KAAKgjE,YAAY,GAAK94D,KAoB9B7J,EAAOmwB,QAAQmtG,GAAG2L,kBAAoB,SAAUrsH,EAAO+lD,GAEnDhjE,KAAKid,MAAQA,EAChBjd,KAAKgjE,YAAcA,GAIpB3iE,EAAOmwB,QAAQmtG,GAAG2L,kBAAkB/iI,UAAU8B,YAAchI,EAAOmwB,QAAQmtG,GAAG2L,kBAM9E7hI,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAG2L,kBAAkB/iI,UAAW,KAEjEmG,IAAK,WAED,OAAO1M,KAAKid,MAAMmtH,KAAKpqI,KAAKgjE,YAAY,KAI5Cr2D,IAAK,SAAUzC,GAEXlK,KAAKgjE,YAAY,GAAKhjE,KAAKid,MAAMqtH,KAAKpgI,MAU9CzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAG2L,kBAAkB/iI,UAAW,KAEjEmG,IAAK,WAED,OAAO1M,KAAKid,MAAMmtH,KAAKpqI,KAAKgjE,YAAY,KAI5Cr2D,IAAK,SAAUzC,GAEXlK,KAAKgjE,YAAY,GAAKhjE,KAAKid,MAAMqtH,KAAKpgI,MAU9CzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAG2L,kBAAkB/iI,UAAW,MAEjEmG,IAAK,WAED,OAAO1M,KAAKgjE,YAAY,IAI5Br2D,IAAK,SAAUzC,GAEXlK,KAAKgjE,YAAY,IAAM94D,KAU/BzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAG2L,kBAAkB/iI,UAAW,MAEjEmG,IAAK,WAED,OAAO1M,KAAKgjE,YAAY,IAI5Br2D,IAAK,SAAUzC,GAEXlK,KAAKgjE,YAAY,IAAM94D,KA4B/B7J,EAAOmwB,QAAQmtG,GAAGpL,KAAO,SAAUv1G,EAAMud,EAAQp0B,EAAG+G,EAAGw1H,GAEnDnoG,EAASA,GAAU,KACnBp0B,EAAIA,GAAK,EACT+G,EAAIA,GAAK,OACI3C,IAATm4H,IAAsBA,EAAO,GAKjC1iI,KAAKgd,KAAOA,EAKZhd,KAAKid,MAAQD,EAAK4F,QAAQ7H,GAK1B/a,KAAKu6B,OAASA,EAKdv6B,KAAKoI,KAAO/H,EAAOmwB,QAAQq8B,KAK3B7sD,KAAKmP,OAAS,IAAI9O,EAAOoN,MAMzBzN,KAAKumC,KAAO,IAAIxrB,GAAGw3G,MAAOz2G,UAAY9b,KAAKid,MAAMqtH,KAAKnkI,GAAInG,KAAKid,MAAMqtH,KAAKp9H,IAAMw1H,KAAMA,IAEtF1iI,KAAKumC,KAAKta,OAASjsB,KAKnBA,KAAKo/H,SAAW,IAAI/+H,EAAOmwB,QAAQmtG,GAAG2L,kBAAkBtpI,KAAKid,MAAOjd,KAAKumC,KAAK64F,UAK9Ep/H,KAAKqgB,MAAQ,IAAIhgB,EAAOmwB,QAAQmtG,GAAG2L,kBAAkBtpI,KAAKid,MAAOjd,KAAKumC,KAAKlmB,OAK3ErgB,KAAKg+H,QAAU,IAAI39H,EAAOoN,MAgB1BzN,KAAKiqI,eAAiB,IAAI5pI,EAAOud,OAejC5d,KAAKkqI,aAAe,IAAI7pI,EAAOud,OAK/B5d,KAAKs0I,gBAKLt0I,KAAKu0I,gBAAiB,EAKtBv0I,KAAKw0I,UAAY,KAKjBx0I,KAAKgqB,OAAQ,EAMbhqB,KAAKy0I,qBAAsB,EAM3Bz0I,KAAKisI,kBAMLjsI,KAAKksI,wBAMLlsI,KAAKqsI,mBAMLrsI,KAAKusI,yBAMLvsI,KAAKk0D,QAAS,EAGV35B,IAEAv6B,KAAK00I,uBAAuBn6G,GAExBA,EAAOtN,QAEPjtB,KAAKgd,KAAK4F,QAAQ7H,GAAGmyH,QAAQltI,QAMzCK,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,WAanBouI,mBAAoB,SAAUp8G,EAAQ9E,EAAUlO,GAE5C,IAAIzO,GAAM,EAENyhB,EAAW,GAEXzhB,EAAKyhB,EAAOzhB,GAEPyhB,EAAa,OAElBzhB,EAAKyhB,EAAOhG,KAAKzb,IAGjBA,GAAM,IAEW,OAAb2c,UAEQzzB,KAAKisI,eAAen1H,UACpB9W,KAAKksI,qBAAqBp1H,KAIlC9W,KAAKisI,eAAen1H,GAAM2c,EAC1BzzB,KAAKksI,qBAAqBp1H,GAAMyO,KAkB5CqvH,oBAAqB,SAAUn7G,EAAOhG,EAAUlO,GAE3B,OAAbkO,UAEQzzB,KAAKqsI,gBAAgB5yG,EAAM+0B,aAC3BxuD,KAAKusI,sBAAsB9yG,EAAM+0B,QAIzCxuD,KAAKqsI,gBAAgB5yG,EAAM+0B,MAAQ/6B,EACnCzzB,KAAKusI,sBAAsB9yG,EAAM+0B,MAAQjpC,IAWjDsvH,iBAAkB,WAEd,IAAIrmF,EAAO,EAEPxuD,KAAKy0I,sBAELjmF,EAAOxuD,KAAKgd,KAAK4F,QAAQ7H,GAAG8vH,qBAAqBr8E,MAGrD,IAAK,IAAIxmD,EAAI,EAAGA,EAAIhI,KAAKs0I,aAAavsI,OAAQC,IAE1CwmD,GAAcxuD,KAAKs0I,aAAatsI,GAAGwmD,KAGvC,OAAOA,GAUXsmF,oBAAqB,SAAUruG,GAE3B,IAAI+nB,EAAOxuD,KAAK60I,mBAEhB,QAActqI,IAAVk8B,EAEA,IAAK,IAAIz+B,EAAIhI,KAAKumC,KAAKqmG,OAAO7kI,OAAS,EAAGC,GAAK,EAAGA,IAE9ChI,KAAKumC,KAAKqmG,OAAO5kI,GAAGipI,cAAgBziF,OAKxC/nB,EAAMwqG,cAAgBziF,GAa9Bi+E,kBAAmB,SAAUhzG,EAAOgN,GAEhC,IAAI+nB,EAAOxuD,KAAK60I,mBAEhB,QAActqI,IAAVk8B,EAEA,IAAK,IAAIz+B,EAAIhI,KAAKumC,KAAKqmG,OAAO7kI,OAAS,EAAGC,GAAK,EAAGA,IAE9ChI,KAAKumC,KAAKqmG,OAAO5kI,GAAGskI,eAAiB7yG,EAAM+0B,KAC3CxuD,KAAKumC,KAAKqmG,OAAO5kI,GAAGipI,cAAgBziF,OAKxC/nB,EAAM6lG,eAAiB7yG,EAAM+0B,KAC7B/nB,EAAMwqG,cAAgBziF,GAa9BumF,eAAgB,SAAUC,EAAYC,EAAWxuG,GAK7C,QAHmBl8B,IAAfyqI,IAA4BA,GAAa,QAC3BzqI,IAAd0qI,IAA2BA,GAAY,QAE7B1qI,IAAVk8B,EAEA,IAAK,IAAIz+B,EAAIhI,KAAKumC,KAAKqmG,OAAO7kI,OAAS,EAAGC,GAAK,EAAGA,IAE1CgtI,IAEAh1I,KAAKumC,KAAKqmG,OAAO5kI,GAAGskI,eAAiB,MAGrC2I,IAEAj1I,KAAKumC,KAAKqmG,OAAO5kI,GAAGipI,cAAgB,WAMxC+D,IAEAvuG,EAAM6lG,eAAiB,MAGvB2I,IAEAxuG,EAAMwqG,cAAgB,MAI1B+D,IAEAh1I,KAAKs0I,aAAavsI,OAAS,IAanCmtI,qBAAsB,SAAUz7G,EAAO07G,EAAe1uG,QAE5Bl8B,IAAlB4qI,IAA+BA,GAAgB,GAEnD,IAAIpsI,EAEJ,GAAIrC,MAAMa,QAAQkyB,GAEd,IAASzxB,EAAI,EAAGA,EAAIyxB,EAAM1xB,OAAQC,KAE9Be,EAAQ/I,KAAKs0I,aAAarhH,QAAQwG,EAAMzxB,MAE3B,IAEThI,KAAKs0I,aAAa3uH,OAAO5c,EAAO,GAE5BosI,WAEQn1I,KAAKqsI,gBAAgB5yG,EAAM+0B,aAC3BxuD,KAAKusI,sBAAsB9yG,EAAM+0B,aAOrDzlD,EAAQ/I,KAAKs0I,aAAarhH,QAAQwG,KAErB,IAETz5B,KAAKs0I,aAAa3uH,OAAO5c,EAAO,GAE5BosI,WAEQn1I,KAAKqsI,gBAAgB5yG,EAAM+0B,aAC3BxuD,KAAKusI,sBAAsB9yG,EAAM+0B,QAKrD,IAAIA,EAAOxuD,KAAK60I,mBAEhB,QAActqI,IAAVk8B,EAEA,IAAK,IAAIz+B,EAAIhI,KAAKumC,KAAKqmG,OAAO7kI,OAAS,EAAGC,GAAK,EAAGA,IAE9ChI,KAAKumC,KAAKqmG,OAAO5kI,GAAGipI,cAAgBziF,OAKxC/nB,EAAMwqG,cAAgBziF,GAc9BkkF,SAAU,SAAUj5G,EAAOhG,EAAUlO,EAAiBkhB,GAElD,GAAI//B,MAAMa,QAAQkyB,GAEd,IAASzxB,EAAI,EAAGA,EAAIyxB,EAAM1xB,OAAQC,KAEe,IAAzChI,KAAKs0I,aAAarhH,QAAQwG,EAAMzxB,MAEhChI,KAAKs0I,aAAa//H,KAAKklB,EAAMzxB,IAEzByrB,GAEAzzB,KAAK40I,oBAAoBn7G,EAAMzxB,GAAIyrB,EAAUlO,SAOf,IAAtCvlB,KAAKs0I,aAAarhH,QAAQwG,KAE1Bz5B,KAAKs0I,aAAa//H,KAAKklB,GAEnBhG,GAEAzzB,KAAK40I,oBAAoBn7G,EAAOhG,EAAUlO,IAKtD,IAAIipC,EAAOxuD,KAAK60I,mBAEhB,QAActqI,IAAVk8B,EAEA,IAAK,IAAIz+B,EAAIhI,KAAKumC,KAAKqmG,OAAO7kI,OAAS,EAAGC,GAAK,EAAGA,IAE9ChI,KAAKumC,KAAKqmG,OAAO5kI,GAAGipI,cAAgBziF,OAKxC/nB,EAAMwqG,cAAgBziF,GAU9B4mF,mBAAoB,WAEhBp1I,KAAKumC,KAAK6uG,qBACVp1I,KAAKq1I,gBAYTC,mBAAoB,SAAUtiI,EAAQuiI,GAElC,OAAOv1I,KAAKumC,KAAK+uG,mBAAmBtiI,EAAQuiI,IAUhDxC,aAAc,SAAU1/D,GAEpBrzE,KAAKumC,KAAKwsG,aAAa1/D,IAc3BmiE,aAAc,SAAUC,EAASlkB,EAAQC,GAErCxxH,KAAKumC,KAAKivG,aAAaC,GAAUz1I,KAAKid,MAAMqtH,KAAK/Y,GAASvxH,KAAKid,MAAMqtH,KAAK9Y,MAe9EkkB,kBAAmB,SAAUD,EAASE,EAAQC,GAE1C51I,KAAKumC,KAAKmvG,kBAAkBD,GAAUz1I,KAAKid,MAAMqtH,KAAKqL,GAAS31I,KAAKid,MAAMqtH,KAAKsL,MAenFC,WAAY,SAAUx1H,EAAOkxG,EAAQC,GAEjCxxH,KAAKumC,KAAKsvG,WAAWx1H,GAAQrgB,KAAKid,MAAMqtH,KAAK/Y,GAASvxH,KAAKid,MAAMqtH,KAAK9Y,MAS1EskB,aAAc,WAEV91I,KAAKumC,KAAKuvG,gBASdC,gBAAiB,WAEb/1I,KAAKumC,KAAKy4F,gBAAkB,GAShCgX,gBAAiB,WAEbh2I,KAAKumC,KAAK64F,SAAS,GAAK,EACxBp/H,KAAKumC,KAAK64F,SAAS,GAAK,GAS5B6W,eAAgB,WAEZj2I,KAAKumC,KAAK8qG,QAAU,EACpBrxI,KAAKumC,KAAK2vG,eAAiB,GAW/BC,aAAc,SAAU3oI,EAAKgjI,GAEzB,OAAOxwI,KAAKumC,KAAK4vG,aAAa3oI,EAAKgjI,IAWvC4F,aAAc,SAAU5oI,EAAKu4B,GAEzB,OAAO/lC,KAAKumC,KAAK6vG,aAAa5oI,EAAKu4B,IAUvCmwF,WAAY,SAAUr1F,GAElB7gC,KAAKumC,KAAKy4F,gBAAkBh/H,KAAKid,MAAMotH,KAAKxpG,IAUhDo1F,YAAa,SAAUp1F,GAEnB7gC,KAAKumC,KAAKy4F,gBAAkBh/H,KAAKid,MAAMotH,IAAIxpG,IAW/Cw1G,YAAa,SAAUx1G,GAEnB,IAAItoB,EAAYvY,KAAKid,MAAMqtH,MAAMzpG,GAC7BlyB,EAAQ3O,KAAKumC,KAAK53B,MAAQ1I,KAAKsH,GAAK,EAExCvN,KAAKumC,KAAK64F,SAAS,GAAK7mH,EAAYtS,KAAK2H,IAAIe,GAC7C3O,KAAKumC,KAAK64F,SAAS,GAAK7mH,EAAYtS,KAAK4H,IAAIc,IAWjD2nI,aAAc,SAAUz1G,GAEpB,IAAItoB,EAAYvY,KAAKid,MAAMqtH,MAAMzpG,GAC7BlyB,EAAQ3O,KAAKumC,KAAK53B,MAAQ1I,KAAKsH,GAAK,EAExCvN,KAAKumC,KAAK64F,SAAS,IAAO7mH,EAAYtS,KAAK2H,IAAIe,GAC/C3O,KAAKumC,KAAK64F,SAAS,IAAO7mH,EAAYtS,KAAK4H,IAAIc,IAWnD4nI,OAAQ,SAAU11G,GAEd,IAAItoB,EAAYvY,KAAKid,MAAMqtH,MAAMzpG,GAC7BlyB,EAAQ3O,KAAKumC,KAAK53B,MAAQ1I,KAAKsH,GAAK,EAExCvN,KAAKumC,KAAKlmB,MAAM,IAAM9H,EAAYtS,KAAK2H,IAAIe,GAC3C3O,KAAKumC,KAAKlmB,MAAM,IAAM9H,EAAYtS,KAAK4H,IAAIc,IAW/C6nI,WAAY,SAAU31G,GAElB,IAAItoB,EAAYvY,KAAKid,MAAMqtH,MAAMzpG,GAC7BlyB,EAAQ3O,KAAKumC,KAAK53B,MAEtB3O,KAAKumC,KAAKlmB,MAAM,IAAM9H,EAAYtS,KAAK2H,IAAIe,GAC3C3O,KAAKumC,KAAKlmB,MAAM,IAAM9H,EAAYtS,KAAK4H,IAAIc,IAW/C8nI,YAAa,SAAU51G,GAEnB,IAAItoB,EAAYvY,KAAKid,MAAMqtH,MAAMzpG,GAC7BlyB,EAAQ3O,KAAKumC,KAAK53B,MAEtB3O,KAAKumC,KAAKlmB,MAAM,IAAM9H,EAAYtS,KAAK2H,IAAIe,GAC3C3O,KAAKumC,KAAKlmB,MAAM,IAAM9H,EAAYtS,KAAK4H,IAAIc,IAW/CrF,QAAS,SAAUu3B,GAEf,IAAItoB,EAAYvY,KAAKid,MAAMqtH,MAAMzpG,GAC7BlyB,EAAQ3O,KAAKumC,KAAK53B,MAAQ1I,KAAKsH,GAAK,EAExCvN,KAAKumC,KAAKlmB,MAAM,IAAM9H,EAAYtS,KAAK2H,IAAIe,GAC3C3O,KAAKumC,KAAKlmB,MAAM,IAAM9H,EAAYtS,KAAK4H,IAAIc,IAW/C+nI,SAAU,SAAU71G,GAEhB7gC,KAAKumC,KAAK64F,SAAS,GAAKp/H,KAAKid,MAAMqtH,MAAMzpG,IAW7C81G,UAAW,SAAU91G,GAEjB7gC,KAAKumC,KAAK64F,SAAS,GAAKp/H,KAAKid,MAAMqtH,KAAKzpG,IAW5CnM,OAAQ,SAAUmM,GAEd7gC,KAAKumC,KAAK64F,SAAS,GAAKp/H,KAAKid,MAAMqtH,MAAMzpG,IAW7ClM,SAAU,SAAUkM,GAEhB7gC,KAAKumC,KAAK64F,SAAS,GAAKp/H,KAAKid,MAAMqtH,KAAKzpG,IAU5CphB,UAAW,WAEPzf,KAAKgqB,OAAQ,EAEThqB,KAAKu0I,iBAELv0I,KAAK8sD,kBACL9sD,KAAKu0I,gBAAiB,IAW9B1nH,WAAY,WAER7sB,KAAKu6B,OAAOp0B,EAAInG,KAAKid,MAAMmtH,KAAKpqI,KAAKumC,KAAKzqB,SAAS,IAAM9b,KAAKmP,OAAOhJ,EACrEnG,KAAKu6B,OAAOrtB,EAAIlN,KAAKid,MAAMmtH,KAAKpqI,KAAKumC,KAAKzqB,SAAS,IAAM9b,KAAKmP,OAAOjC,EAEhElN,KAAK42I,gBAEN52I,KAAKu6B,OAAOP,SAAWh6B,KAAKumC,KAAK53B,OAGjC3O,KAAKw0I,WAELx0I,KAAKw0I,UAAUqC,wBAGnB72I,KAAKgqB,OAAQ,GAajB/H,MAAO,SAAU9b,EAAG+G,EAAG4pI,EAAcC,QAEZxsI,IAAjBusI,IAA8BA,GAAe,QAC/BvsI,IAAdwsI,IAA2BA,GAAY,GAE3C/2I,KAAK81I,eACL91I,KAAKg2I,kBACLh2I,KAAK+1I,kBAEDe,GAEA92I,KAAKi2I,iBAGLc,IAEA/2I,KAAK0iI,KAAO,GAGhB1iI,KAAKmG,EAAIA,EACTnG,KAAKkN,EAAIA,GASbse,WAAY,WAER,GAAIxrB,KAAKgd,KAAK4F,QAAQ7H,GAAGiwH,UAErB,IAAK,IAAIhjI,EAAI,EAAGA,EAAIhI,KAAKgd,KAAK4F,QAAQ7H,GAAGiwH,UAAUjjI,OAAQC,IAEnDhI,KAAKgd,KAAK4F,QAAQ7H,GAAGiwH,UAAUhjI,KAAOhI,MAEtCA,KAAKgd,KAAK4F,QAAQ7H,GAAGiwH,UAAUrlH,OAAO3d,EAAG,GAKjDhI,KAAKumC,KAAKtpB,QAAUjd,KAAKgd,KAAK4F,QAAQ7H,GAAGkC,OAEzCjd,KAAKgd,KAAK4F,QAAQ7H,GAAGmyH,QAAQltI,OAUrC8sD,gBAAiB,WAET9sD,KAAKumC,KAAKtpB,QAAUjd,KAAKgd,KAAK4F,QAAQ7H,GAAGkC,OAEzCjd,KAAKgd,KAAK4F,QAAQ7H,GAAGwwH,mBAAmBvrI,OAUhDsmB,QAAS,WAELtmB,KAAK8sD,kBAEL9sD,KAAKg3I,cAELh3I,KAAKisI,kBACLjsI,KAAKksI,wBACLlsI,KAAKqsI,mBACLrsI,KAAKusI,yBAEDvsI,KAAKw0I,WAELx0I,KAAKw0I,UAAUluH,SAAQ,GAAM,GAGjCtmB,KAAKw0I,UAAY,KAEbx0I,KAAKu6B,SAELv6B,KAAKu6B,OAAOhI,KAAO,KACnBvyB,KAAKu6B,OAAS,OAUtBy8G,YAAa,WAIT,IAFA,IAAIhvI,EAAIhI,KAAKumC,KAAKqmG,OAAO7kI,OAElBC,KAEHhI,KAAKumC,KAAK0wG,YAAYj3I,KAAKumC,KAAKqmG,OAAO5kI,IAG3ChI,KAAKq1I,gBAiBTrI,SAAU,SAAUvmG,EAAOmT,EAASC,EAAS7f,GASzC,YAPgBzvB,IAAZqvC,IAAyBA,EAAU,QACvBrvC,IAAZsvC,IAAyBA,EAAU,QACtBtvC,IAAbyvB,IAA0BA,EAAW,GAEzCh6B,KAAKumC,KAAKymG,SAASvmG,GAAQzmC,KAAKid,MAAMqtH,KAAK1wF,GAAU55C,KAAKid,MAAMqtH,KAAKzwF,IAAW7f,GAChFh6B,KAAKq1I,eAEE5uG,GAcXywG,UAAW,SAAUppI,EAAQ8rC,EAASC,EAAS7f,GAE3C,IAAIyM,EAAQ,IAAI1rB,GAAG9N,QAASa,OAAQ9N,KAAKid,MAAMotH,IAAIv8H,KAEnD,OAAO9N,KAAKgtI,SAASvmG,EAAOmT,EAASC,EAAS7f,IAelDq4G,aAAc,SAAUxgI,EAAOC,EAAQ8nC,EAASC,EAAS7f,GAErD,IAAIyM,EAAQ,IAAI1rB,GAAGo8H,KAAMtlI,MAAO7R,KAAKid,MAAMotH,IAAIx4H,GAAQC,OAAQ9R,KAAKid,MAAMotH,IAAIv4H,KAE9E,OAAO9R,KAAKgtI,SAASvmG,EAAOmT,EAASC,EAAS7f,IAalDo9G,SAAU,SAAUx9F,EAASC,EAAS7f,GAElC,IAAIyM,EAAQ,IAAI1rB,GAAGkyH,MAEnB,OAAOjtI,KAAKgtI,SAASvmG,EAAOmT,EAASC,EAAS7f,IAalDq9G,YAAa,SAAUz9F,EAASC,EAAS7f,GAErC,IAAIyM,EAAQ,IAAI1rB,GAAGu8H,SAEnB,OAAOt3I,KAAKgtI,SAASvmG,EAAOmT,EAASC,EAAS7f,IAgBlDu9G,QAAS,SAAUxvI,EAAQ6xC,EAASC,EAAS7f,GAEzC,IAAIyM,EAAQ,IAAI1rB,GAAG7I,MAAOnK,OAAQ/H,KAAKid,MAAMotH,IAAItiI,KAEjD,OAAO/H,KAAKgtI,SAASvmG,EAAOmT,EAASC,EAAS7f,IAgBlDw9G,WAAY,SAAUzvI,EAAQ+F,EAAQ8rC,EAASC,EAAS7f,GAEpD,IAAIyM,EAAQ,IAAI1rB,GAAG08H,SAAU1vI,OAAQ/H,KAAKid,MAAMotH,IAAItiI,GAAS+F,OAAQ9N,KAAKid,MAAMotH,IAAIv8H,KAEpF,OAAO9N,KAAKgtI,SAASvmG,EAAOmT,EAASC,EAAS7f,IAkBlD63G,WAAY,SAAU9lI,EAASyN,GAE3BzN,EAAUA,MAELrF,MAAMa,QAAQiS,KAEfA,EAAS9S,MAAMH,UAAUE,MAAMO,KAAKC,UAAW,IAGnD,IAAImuE,KAGJ,GAAsB,IAAlB57D,EAAOzR,QAAgBrB,MAAMa,QAAQiS,EAAO,IAE5C47D,EAAO57D,EAAO,GAAG/S,MAAM,QAEtB,GAAIC,MAAMa,QAAQiS,EAAO,IAE1B47D,EAAO57D,EAAO/S,aAEb,GAAyB,iBAAd+S,EAAO,GAGnB,IAAK,IAAIxR,EAAI,EAAGF,EAAM0R,EAAOzR,OAAQC,EAAIF,EAAKE,GAAK,EAE/CotE,EAAK7gE,MAAMiF,EAAOxR,GAAIwR,EAAOxR,EAAI,KAKzC,IAAIw3E,EAAMpK,EAAKrtE,OAAS,EAEpBqtE,EAAKoK,GAAK,KAAOpK,EAAK,GAAG,IAAMA,EAAKoK,GAAK,KAAOpK,EAAK,GAAG,IAExDA,EAAKlI,MAIT,IAAK,IAAIn7D,EAAI,EAAGA,EAAIqjE,EAAKrtE,OAAQgK,IAE7BqjE,EAAKrjE,GAAG,GAAK/R,KAAKid,MAAMqtH,KAAKl1D,EAAKrjE,GAAG,IACrCqjE,EAAKrjE,GAAG,GAAK/R,KAAKid,MAAMqtH,KAAKl1D,EAAKrjE,GAAG,IAGzC,IAAIiB,EAAShT,KAAKumC,KAAKmxG,YAAYtiE,EAAMrpE,GAIzC,OAFA/L,KAAKq1I,eAEEriI,GAWXikI,YAAa,SAAUxwG,GAEzB,IAAIzzB,EAAShT,KAAKumC,KAAK0wG,YAAYxwG,GAI7B,OAFNzmC,KAAKq1I,eAEQriI,GAaXq0H,UAAW,SAAUv5H,EAAQ8rC,EAASC,EAAS7f,GAI3C,OAFAh6B,KAAKg3I,cAEEh3I,KAAKk3I,UAAUppI,EAAQ8rC,EAASC,EAAS7f,IAiBpD29G,aAAc,SAAU9lI,EAAOC,EAAQ8nC,EAASC,EAAS7f,GAOrD,YALczvB,IAAVsH,IAAuBA,EAAQ,SACpBtH,IAAXuH,IAAwBA,EAAS,IAErC9R,KAAKg3I,cAEEh3I,KAAKqyI,aAAaxgI,EAAOC,EAAQ8nC,EAASC,EAAS7f,IAc9D06G,uBAAwB,SAAUn6G,GAM9B,YAJehwB,IAAXgwB,IAAwBA,EAASv6B,KAAKu6B,QAE1Cv6B,KAAKg3I,cAEEh3I,KAAKqyI,aAAa93G,EAAO1oB,MAAO0oB,EAAOzoB,OAAQ,EAAG,EAAGyoB,EAAOP,WAYvE+1G,YAAa,SAAUpD,EAAUlmG,GAE7B,QAAcl8B,IAAVk8B,EAEA,IAAK,IAAIz+B,EAAIhI,KAAKumC,KAAKqmG,OAAO7kI,OAAS,EAAGC,GAAK,EAAGA,IAE9ChI,KAAKumC,KAAKqmG,OAAO5kI,GAAG2kI,SAAWA,OAKnClmG,EAAMkmG,SAAWA,GAUzB0I,aAAc,WAENr1I,KAAKw0I,WAELx0I,KAAKw0I,UAAUh2E,QAgBvBo5E,iBAAkB,SAAU/tI,EAAK0uB,GAM7B,IAAK,IAJDgO,EAAOvmC,KAAKgd,KAAKqF,MAAMuvF,eAAe/nG,EAAK0uB,GAC3Cs/G,KAGK7vI,EAAI,EAAGA,EAAIu+B,EAAKx+B,OAAQC,IACjC,CACI,IAAI8vI,EAAcvxG,EAAKv+B,GACnB+vI,EAAkB/3I,KAAKg4I,WAAWF,GAGtCD,EAAgBC,EAAY/gH,OAAO0C,OAASo+G,EAAgBC,EAAY/gH,OAAO0C,WAC/Eo+G,EAAgBC,EAAY/gH,OAAO0C,OAASo+G,EAAgBC,EAAY/gH,OAAO0C,OAAO1yB,OAAOgxI,GAGzFD,EAAYjmC,aAEZgmC,EAAgBC,EAAYjmC,YAAckmC,GAOlD,OAHA/3I,KAAKumC,KAAK0xG,iBAAkB,EAC5Bj4I,KAAKq1I,eAEEwC,GAWXG,WAAY,SAAUF,GAElB,IAAII,KAEJ,GAAIJ,EAAYh3G,OAChB,EACQ2F,EAAQ,IAAI1rB,GAAG9N,QAASa,OAAQ9N,KAAKid,MAAMotH,IAAIyN,EAAYh3G,OAAOhzB,WAChEw+H,eAAiBwL,EAAY/gH,OAAOohH,aAC1C1xG,EAAMwqG,cAAgB6G,EAAY/gH,OAAOqhH,SACzC3xG,EAAMqtG,OAASgE,EAAYO,SAE3B,IAAIlpI,EAAS4L,GAAGu9H,KAAKr1H,SACrB9T,EAAO,GAAKnP,KAAKid,MAAMqtH,KAAKwN,EAAYh3G,OAAOhlB,SAAS,GAAK9b,KAAKu6B,OAAO1oB,MAAM,GAC/E1C,EAAO,GAAKnP,KAAKid,MAAMqtH,KAAKwN,EAAYh3G,OAAOhlB,SAAS,GAAK9b,KAAKu6B,OAAOzoB,OAAO,GAEhF9R,KAAKumC,KAAKymG,SAASvmG,EAAOt3B,GAC1B+oI,EAAgB3jI,KAAKkyB,QAOrB,IAAK,IAHD8xG,EAAWT,EAAYS,SACvBC,EAAKz9H,GAAGu9H,KAAKr1H,SAERjb,EAAI,EAAGA,EAAIuwI,EAASxwI,OAAQC,IACrC,CAII,IAAK,IAHD4kI,EAAS2L,EAASvwI,GAClB6qE,KAEK35D,EAAI,EAAGA,EAAI0zH,EAAO7kI,OAAQmR,GAAK,EAEpC25D,EAASt+D,MAAOvU,KAAKid,MAAMqtH,KAAKsC,EAAO1zH,IAAKlZ,KAAKid,MAAMqtH,KAAKsC,EAAO1zH,EAAI,MAM3E,IAAK,IAHDutB,EAAQ,IAAI1rB,GAAG09H,QAAS5lE,SAAUA,IAG7Bt4D,EAAI,EAAGA,IAAMksB,EAAMosC,SAAS9qE,OAAQwS,IAC7C,CACI,IAAIyjB,EAAIyI,EAAMosC,SAASt4D,GACvBQ,GAAGu9H,KAAKI,IAAI16G,EAAGA,EAAGyI,EAAMkyG,cAG5B59H,GAAGu9H,KAAKthI,MAAMwhI,EAAI/xG,EAAMkyG,aAAc,GAEtCH,EAAG,IAAMx4I,KAAKid,MAAMqtH,KAAKtqI,KAAKu6B,OAAO1oB,MAAQ,GAC7C2mI,EAAG,IAAMx4I,KAAKid,MAAMqtH,KAAKtqI,KAAKu6B,OAAOzoB,OAAS,GAE9C20B,EAAMmyG,kBACNnyG,EAAMoyG,qBACNpyG,EAAMqyG,uBAENryG,EAAM6lG,eAAiBwL,EAAY/gH,OAAOohH,aAC1C1xG,EAAMwqG,cAAgB6G,EAAY/gH,OAAOqhH,SACzC3xG,EAAMqtG,OAASgE,EAAYO,SAE3Br4I,KAAKumC,KAAKymG,SAASvmG,EAAO+xG,GAE1BN,EAAgB3jI,KAAKkyB,GAI7B,OAAOyxG,GAoBXa,YAAa,SAAUlvI,EAAK0uB,EAAQvhB,GAEhC,GAAY,OAARnN,EAEI08B,EAAOhO,OAIX,IAAIgO,EAAOvmC,KAAKgd,KAAKqF,MAAMuvF,eAAe/nG,EAAK0uB,GAG9B,iBAAVvhB,IAEPA,EAAQ,GAMZ,IAAK,IAFDwhI,EAAKz9H,GAAGu9H,KAAKr1H,SAERjb,EAAI,EAAGA,EAAIu+B,EAAKx+B,OAAQC,IACjC,CAGI,IAAK,IAFD6qE,KAEK35D,EAAI,EAAGA,EAAIqtB,EAAKv+B,GAAGy+B,MAAM1+B,OAAQmR,GAAK,EAE3C25D,EAASt+D,MACLvU,KAAKid,MAAMqtH,KAAK/jG,EAAKv+B,GAAGy+B,MAAMvtB,GAAKlC,GACnChX,KAAKid,MAAMqtH,KAAK/jG,EAAKv+B,GAAGy+B,MAAMvtB,EAAI,GAAKlC,KAO/C,IAAK,IAHDhH,EAAI,IAAI+K,GAAG09H,QAAS5lE,SAAUA,IAGzBt4D,EAAI,EAAGA,IAAMvK,EAAE6iE,SAAS9qE,OAAQwS,IACzC,CACI,IAAIyjB,EAAIhuB,EAAE6iE,SAASt4D,GACnBQ,GAAGu9H,KAAKI,IAAI16G,EAAGA,EAAGhuB,EAAE2oI,cAGxB59H,GAAGu9H,KAAKthI,MAAMwhI,EAAIxoI,EAAE2oI,aAAc,GAElCH,EAAG,IAAMx4I,KAAKid,MAAMqtH,KAAKtqI,KAAKu6B,OAAO1oB,MAAQ,GAC7C2mI,EAAG,IAAMx4I,KAAKid,MAAMqtH,KAAKtqI,KAAKu6B,OAAOzoB,OAAS,GAE9C9B,EAAE4oI,kBACF5oI,EAAE6oI,qBACF7oI,EAAE8oI,uBAEF94I,KAAKumC,KAAKymG,SAASh9H,EAAGwoI,GAM1B,OAHAx4I,KAAKumC,KAAK0xG,iBAAkB,EAC5Bj4I,KAAKq1I,gBAEE,IAMfh1I,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAU8B,YAAchI,EAAOmwB,QAAQmtG,GAAGpL,KAQjElyH,EAAOmwB,QAAQmtG,GAAGpL,KAAKymB,QAAU,EAQjC34I,EAAOmwB,QAAQmtG,GAAGpL,KAAKse,OAAS,EAQhCxwI,EAAOmwB,QAAQmtG,GAAGpL,KAAK0mB,UAAY,EAMnCxxI,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAW,UAEpDmG,IAAK,WAED,OAAQ1M,KAAKumC,KAAKn+B,OAAS/H,EAAOmwB,QAAQmtG,GAAGpL,KAAKse,QAItDlkI,IAAK,SAAUzC,GAEPA,GAASlK,KAAKumC,KAAKn+B,OAAS/H,EAAOmwB,QAAQmtG,GAAGpL,KAAKse,QAEnD7wI,KAAKumC,KAAKn+B,KAAO/H,EAAOmwB,QAAQmtG,GAAGpL,KAAKse,OACxC7wI,KAAK0iI,KAAO,GAENx4H,GAASlK,KAAKumC,KAAKn+B,OAAS/H,EAAOmwB,QAAQmtG,GAAGpL,KAAKse,SAEzD7wI,KAAKumC,KAAKn+B,KAAO/H,EAAOmwB,QAAQmtG,GAAGpL,KAAKymB,QACxCh5I,KAAK0iI,KAAO,MAWxBj7H,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAW,WAEpDmG,IAAK,WAED,OAAQ1M,KAAKumC,KAAKn+B,OAAS/H,EAAOmwB,QAAQmtG,GAAGpL,KAAKymB,SAItDrsI,IAAK,SAAUzC,GAEPA,GAASlK,KAAKumC,KAAKn+B,OAAS/H,EAAOmwB,QAAQmtG,GAAGpL,KAAKymB,SAEnDh5I,KAAKumC,KAAKn+B,KAAO/H,EAAOmwB,QAAQmtG,GAAGpL,KAAKymB,QACxCh5I,KAAK0iI,KAAO,GAENx4H,GAASlK,KAAKumC,KAAKn+B,OAAS/H,EAAOmwB,QAAQmtG,GAAGpL,KAAKymB,UAEzDh5I,KAAKumC,KAAKn+B,KAAO/H,EAAOmwB,QAAQmtG,GAAGpL,KAAKse,OACxC7wI,KAAK0iI,KAAO,MAWxBj7H,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAW,aAEpDmG,IAAK,WAED,OAAQ1M,KAAKumC,KAAKn+B,OAAS/H,EAAOmwB,QAAQmtG,GAAGpL,KAAK0mB,WAItDtsI,IAAK,SAAUzC,GAEPA,GAASlK,KAAKumC,KAAKn+B,OAAS/H,EAAOmwB,QAAQmtG,GAAGpL,KAAK0mB,WAEnDj5I,KAAKumC,KAAKn+B,KAAO/H,EAAOmwB,QAAQmtG,GAAGpL,KAAK0mB,UACxCj5I,KAAK0iI,KAAO,GAENx4H,GAASlK,KAAKumC,KAAKn+B,OAAS/H,EAAOmwB,QAAQmtG,GAAGpL,KAAK0mB,YAEzDj5I,KAAKumC,KAAKn+B,KAAO/H,EAAOmwB,QAAQmtG,GAAGpL,KAAKse,OACxC7wI,KAAK0iI,KAAO,MAWxBj7H,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAW,cAEpDmG,IAAK,WAED,OAAO1M,KAAKumC,KAAK2yG,YAIrBvsI,IAAK,SAAUzC,GAEPA,IAAUlK,KAAKumC,KAAK2yG,aAEpBl5I,KAAKumC,KAAK2yG,WAAahvI,MAenCzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAW,SAEpDmG,IAAK,WAED,OAAOrM,EAAO4F,KAAK8kD,UAAU1qD,EAAO4F,KAAKkS,SAASnY,KAAKumC,KAAK53B,SAIhEhC,IAAK,SAASzC,GAEVlK,KAAKumC,KAAK53B,MAAQtO,EAAO4F,KAAK6J,SAASzP,EAAO4F,KAAK8kD,UAAU7gD,OAWrEzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAW,kBAEpDmG,IAAK,WAED,OAAO1M,KAAKumC,KAAK2vG,gBAIrBvpI,IAAK,SAAUzC,GAEXlK,KAAKumC,KAAK2vG,eAAiBhsI,KAUnCzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAW,gBAEpDmG,IAAK,WAED,OAAO1M,KAAKumC,KAAK4yG,cAIrBxsI,IAAK,SAAUzC,GAEXlK,KAAKumC,KAAK4yG,aAAejvI,KAUjCzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAW,mBAEpDmG,IAAK,WAED,OAAO1M,KAAKumC,KAAKy4F,iBAIrBryH,IAAK,SAAUzC,GAEXlK,KAAKumC,KAAKy4F,gBAAkB90H,KAWpCzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAW,WAEpDmG,IAAK,WAED,OAAO1M,KAAKumC,KAAK8qG,SAIrB1kI,IAAK,SAAUzC,GAEXlK,KAAKumC,KAAK8qG,QAAUnnI,KAU5BzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAW,iBAEpDmG,IAAK,WAED,OAAO1M,KAAKumC,KAAKqwG,eAIrBjqI,IAAK,SAAUzC,GAEPA,IAAUlK,KAAKumC,KAAKqwG,gBAEpB52I,KAAKumC,KAAKqwG,cAAgB1sI,MAWtCzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAW,WAEpDmG,IAAK,WAED,OAAO1M,KAAKumC,KAAK6yG,SAIrBzsI,IAAK,SAAUzC,GAEXlK,KAAKumC,KAAK6yG,QAAUlvI,KAU5BzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAW,QAEpDmG,IAAK,WAED,OAAO1M,KAAKumC,KAAKm8F,MAIrB/1H,IAAK,SAAUzC,GAEPA,IAAUlK,KAAKumC,KAAKm8F,OAEpB1iI,KAAKumC,KAAKm8F,KAAOx4H,EACjBlK,KAAKumC,KAAK8yG,2BAWtB5xI,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAW,eAEpDmG,IAAK,WAED,OAAO1M,KAAKumC,KAAKn+B,MAIrBuE,IAAK,SAAUzC,GAEPA,IAAUlK,KAAKumC,KAAKn+B,OAEpBpI,KAAKumC,KAAKn+B,KAAO8B,MAc7BzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAW,YAEpDmG,IAAK,WAED,OAAO1M,KAAKumC,KAAK53B,OAIrBhC,IAAK,SAASzC,GAEVlK,KAAKumC,KAAK53B,MAAQzE,KAU1BzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAW,mBAEpDmG,IAAK,WAED,OAAO1M,KAAKumC,KAAK+yG,iBAIrB3sI,IAAK,SAAUzC,GAEXlK,KAAKumC,KAAK+yG,gBAAkBpvI,KAUpCzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAW,KAEpDmG,IAAK,WAED,OAAO1M,KAAKid,MAAMmtH,KAAKpqI,KAAKumC,KAAKzqB,SAAS,KAI9CnP,IAAK,SAAUzC,GAEXlK,KAAKumC,KAAKzqB,SAAS,GAAK9b,KAAKid,MAAMqtH,KAAKpgI,MAUhDzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAW,KAEpDmG,IAAK,WAED,OAAO1M,KAAKid,MAAMmtH,KAAKpqI,KAAKumC,KAAKzqB,SAAS,KAI9CnP,IAAK,SAAUzC,GAEXlK,KAAKumC,KAAKzqB,SAAS,GAAK9b,KAAKid,MAAMqtH,KAAKpgI,MAWhDzC,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAW,MAEpDmG,IAAK,WAED,OAAO1M,KAAKumC,KAAKzvB,MAUzBrP,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAW,SAEpDmG,IAAK,WAED,OAA2B,OAAnB1M,KAAKw0I,WAIjB7nI,IAAK,SAAUzC,GAEPA,IAAUlK,KAAKw0I,UAGfx0I,KAAKw0I,UAAY,IAAIn0I,EAAOmwB,QAAQmtG,GAAG4b,UAAUv5I,KAAKgd,KAAMhd,KAAKumC,OAE3Dr8B,GAASlK,KAAKw0I,YAEpBx0I,KAAKw0I,UAAUluH,UACftmB,KAAKw0I,UAAY,SAiB7B/sI,OAAOmF,eAAevM,EAAOmwB,QAAQmtG,GAAGpL,KAAKhsH,UAAW,sBAEpDmG,IAAK,WAED,OAAO1M,KAAKy0I,qBAIhB9nI,IAAK,SAAUzC,GAEPA,IAAUlK,KAAKy0I,qBAEfz0I,KAAKy0I,qBAAsB,EAC3Bz0I,KAAK80I,wBAEC5qI,GAASlK,KAAKy0I,sBAEpBz0I,KAAKy0I,qBAAsB,EAC3Bz0I,KAAK80I,0BA8BjBz0I,EAAOmwB,QAAQmtG,GAAG4b,UAAY,SAASv8H,EAAMuV,EAAMinH,GAE/Cn5I,EAAO+vB,MAAMppB,KAAKhH,KAAMgd,GAMxB,IAAIy8H,GACAC,oBAAqB18H,EAAK4F,QAAQ7H,GAAGovH,IAAI,GACzCwP,eAAe,EACfn2E,UAAW,EACX/iD,MAAO,IAGXzgB,KAAKw5I,SAAWn5I,EAAO6I,MAAM4C,OAAO2tI,EAAiBD,GAKrDx5I,KAAK45I,IAAM55I,KAAKw5I,SAASE,oBACzB15I,KAAK45I,KAAO,EAAI55I,KAAK45I,IAKrB55I,KAAKuyB,KAAOA,EAKZvyB,KAAK+tB,OAAS,IAAI1tB,EAAOif,SAAStC,GAElChd,KAAK+tB,OAAOtN,MAAQzgB,KAAKw5I,SAAS/4H,MAElCzgB,KAAKuT,IAAIvT,KAAK+tB,QAEd/tB,KAAKw+D,OAELx+D,KAAK62I,yBAITx2I,EAAOmwB,QAAQmtG,GAAG4b,UAAUhzI,UAAYkB,OAAOwb,OAAO5iB,EAAO+vB,MAAM7pB,WACnElG,EAAOmwB,QAAQmtG,GAAG4b,UAAUhzI,UAAU8B,YAAchI,EAAOmwB,QAAQmtG,GAAG4b,UAEtEl5I,EAAO6I,MAAM4C,OAAOzL,EAAOmwB,QAAQmtG,GAAG4b,UAAUhzI,WAO5CswI,sBAAuB,WAEnB72I,KAAK8b,SAAS3V,EAAInG,KAAKuyB,KAAKzW,SAAS,GAAK9b,KAAK45I,IAC/C55I,KAAK8b,SAAS5O,EAAIlN,KAAKuyB,KAAKzW,SAAS,GAAK9b,KAAK45I,IAC/C55I,KAAKg6B,SAAWh6B,KAAKuyB,KAAK5jB,OAS9B6vD,KAAM,WAEF,IAAI7vD,EAAO0f,EAAO7N,EAAOxY,EAAGuS,EAAcs/H,EAAIpwI,EAAK0F,EAAQorB,EAAQyD,EAAGuvC,EAAOusE,EAAMC,EAAIC,EASvF,GAPAvwI,EAAMzJ,KAAKuyB,MACXgI,EAASv6B,KAAK+tB,QACPrN,QACPF,EAAQtV,SAASlL,KAAKi6I,kBAAmB,IAC7B,SACZJ,EAAK75I,KAAKwjE,UAEN/5D,aAAesR,GAAGw3G,MAAQ9oH,EAAImjI,OAAO7kI,OACzC,CACI,IAAI0I,EAAIhH,EAAImjI,OAAO7kI,OAInB,IAFAC,EAAI,EAEGA,IAAMyI,GACb,CAKI,GAJA4d,EAAQ5kB,EAAImjI,OAAO5kI,GACnBmH,EAASkf,EAAMvS,UAAY,EAC3BnN,EAAQ0f,EAAM1f,OAAS,EAEnB0f,aAAiBtT,GAAG9N,OAEpBjN,KAAKk1E,WAAW36C,EAAQprB,EAAO,GAAKnP,KAAK45I,IAAKzqI,EAAO,GAAKnP,KAAK45I,IAAKjrI,EAAO0f,EAAMvgB,OAAS9N,KAAK45I,IAAKp5H,EAAOq5H,QAE1G,GAAIxrH,aAAiBtT,GAAG08H,QAEzBz3I,KAAKk6I,YAAY3/G,EAAQprB,EAAO,GAAKnP,KAAK45I,IAAKzqI,EAAO,GAAKnP,KAAK45I,IAAKjrI,EAAO0f,EAAMtmB,OAAS/H,KAAK45I,IAAKvrH,EAAMvgB,OAAS9N,KAAK45I,IArBzH,SAqByIp5H,EAAOq5H,QAE/I,GAAIxrH,aAAiBtT,GAAGkyH,MAEzBjtI,KAAKm6I,UAAU5/G,EAAQprB,EAAO,GAAKnP,KAAK45I,KAAMzqI,EAAO,GAAKnP,KAAK45I,IAAKp5H,EAzBpE,SAyB2F,EAALq5H,EAAa,GAALA,EAAc,GAALA,EAAoB,IAAX75I,KAAK45I,IAAWjrI,QAE/H,GAAI0f,aAAiBtT,GAAG7I,KAEzBlS,KAAKo6I,SAAS7/G,EAAQlM,EAAMtmB,OAAS/H,KAAK45I,IA7B1C,SA6B0DC,QAEzD,GAAIxrH,aAAiBtT,GAAGo8H,IAEzBn3I,KAAKq6I,cAAc9/G,EAAQprB,EAAO,GAAKnP,KAAK45I,IAAKzqI,EAAO,GAAKnP,KAAK45I,IAAKjrI,EAAO0f,EAAMxc,MAAQ7R,KAAK45I,IAAKvrH,EAAMvc,OAAS9R,KAAK45I,IAjC1H,SAiC0Ip5H,EAAOq5H,QAEhJ,GAAIxrH,aAAiBtT,GAAG09H,OAC7B,CAII,IAHAlrE,KACAusE,EAAO/+H,GAAGu9H,KAAKr1H,SAEV1I,EAAIw/H,EAAK,EAAGC,EAAQ3rH,EAAMwkD,SAAS9qE,OAAQ,GAAKiyI,EAAQD,EAAKC,EAAQD,EAAKC,EAAOz/H,EAAI,GAAKy/H,IAAUD,IAAOA,EAE5G/7G,EAAI3P,EAAMwkD,SAASt4D,GACnBQ,GAAGu9H,KAAK1lI,OAAOknI,EAAM97G,EAAGrvB,GACxB4+D,EAAMh5D,OAAOulI,EAAK,GAAK3qI,EAAO,IAAMnP,KAAK45I,MAAOE,EAAK,GAAK3qI,EAAO,IAAMnP,KAAK45I,MAGhF55I,KAAKs6I,WAAW//G,EAAQgzC,EAAOl/C,EAAMk4C,UA/CrC,SA+C2D/lD,EAAOq5H,EAAI75I,KAAKw5I,SAASG,eAAgBxqI,EAAO,GAAKnP,KAAK45I,KAAMzqI,EAAO,GAAKnP,KAAK45I,MAGhJ5xI,OAYZqyI,cAAe,SAAS9sH,EAAGpnB,EAAG+G,EAAGyB,EAAOoR,EAAGpP,EAAG6P,EAAO6sD,EAAW7J,QAE1Cj5D,IAAdi5D,IAA2BA,EAAY,QAC7Bj5D,IAAViW,IAAuBA,EAAQ,GAEnC+M,EAAE0lD,UAAUzP,EAAWhjD,EAAO,GAC9B+M,EAAE5M,UAAU0sD,GACZ9/C,EAAE3M,SAASza,EAAI4Z,EAAI,EAAG7S,EAAIyD,EAAI,EAAGoP,EAAGpP,IAUxCukE,WAAY,SAAS3nD,EAAGpnB,EAAG+G,EAAGyB,EAAOb,EAAQ0S,EAAOgjD,QAE9Bj5D,IAAdi5D,IAA2BA,EAAY,QAC7Bj5D,IAAViW,IAAuBA,EAAQ,UACnC+M,EAAE0lD,UAAUzP,EAAW,EAAU,GACjCj2C,EAAE5M,UAAUH,EAAO,GACnB+M,EAAE2nD,WAAW/uE,EAAG+G,EAAW,GAAPY,GACpByf,EAAE1M,UACF0M,EAAE+1C,OAAOn9D,EAAG+G,GACZqgB,EAAEg2C,OAAOp9D,EAAI2H,EAAS7H,KAAK2H,KAAKe,GAAQzB,EAAIY,EAAS7H,KAAK4H,KAAKc,KAUnEyrI,SAAU,SAAS7sH,EAAGzlB,EAAK0Y,EAAOgjD,QAEZj5D,IAAdi5D,IAA2BA,EAAY,QAC7Bj5D,IAAViW,IAAuBA,EAAQ,GAEnC+M,EAAE0lD,UAAsB,EAAZzP,EAAehjD,EAAO,GAClC+M,EAAE+1C,QAAQx7D,EAAM,EAAG,GACnBylB,EAAEg2C,OAAOz7D,EAAM,EAAG,IAUtBwyI,WAAY,SAAS/sH,EAAGggD,EAAOhH,EAAW/lD,EAAO6sD,EAAW7J,EAAWn9C,EAAOlX,GAE1E,IAAIiqE,EAAQpxE,EAAGg2B,EAAG8oD,EAAIC,EAAI5gF,EAAG+K,EAAIE,EAAIlE,EAAGmE,EAAIC,EAK5C,QAHkB/G,IAAdi5D,IAA2BA,EAAY,QAC7Bj5D,IAAViW,IAAuBA,EAAQ,GAE9B6F,EAiCL,CAII,IAHA+yD,GAAU,SAAU,MAAU,KAC9BpxE,EAAI,EAEGA,IAAMulE,EAAMxlE,OAAS,GAExB++E,EAAKvZ,EAAMvlE,EAAIulE,EAAMxlE,QACrBg/E,EAAKxZ,GAAOvlE,EAAI,GAAKulE,EAAMxlE,QAC3BmJ,EAAK41E,EAAG,GACRz1E,EAAKy1E,EAAG,GACR11E,EAAK21E,EAAG,GACRz1E,EAAKy1E,EAAG,GACRx5D,EAAE0lD,UAAUzP,EAAW4V,EAAOpxE,EAAIoxE,EAAOrxE,QAAS,GAClDwlB,EAAE+1C,OAAOpyD,GAAKG,GACdkc,EAAEg2C,OAAOnyD,GAAKE,GACdic,EAAE2nD,WAAWhkE,GAAKG,EAAgB,EAAZmyD,GACtBx7D,IAIJ,OADAulB,EAAE0lD,UAAUzP,EAAW,EAAU,GAC1Bj2C,EAAE2nD,WAAW/lE,EAAO,GAAIA,EAAO,GAAgB,EAAZq0D,GA/C1C,IAJAj2C,EAAE0lD,UAAUzP,EAAWhjD,EAAO,GAC9B+M,EAAE5M,UAAU0sD,GACZrlE,EAAI,EAEGA,IAAMulE,EAAMxlE,QAGf5B,GADA63B,EAAIuvC,EAAMvlE,IACJ,GACNkF,EAAI8wB,EAAE,GAEI,IAANh2B,EAEAulB,EAAE+1C,OAAOn9D,GAAI+G,GAIbqgB,EAAEg2C,OAAOp9D,GAAI+G,GAGjBlF,IAKJ,GAFAulB,EAAE1M,UAEE0sD,EAAMxlE,OAAS,EAGf,OADAwlB,EAAE+1C,OAAOiK,EAAMA,EAAMxlE,OAAS,GAAG,IAAKwlE,EAAMA,EAAMxlE,OAAS,GAAG,IACvDwlB,EAAEg2C,OAAOgK,EAAM,GAAG,IAAKA,EAAM,GAAG,KAmCnDgtE,SAAU,SAAShtH,EAAG6nD,EAAM50D,EAAO6sD,EAAW7J,GAE1C,IAAUx7D,EAAGwyI,EAAOC,EAAOrrE,EAAKC,EAAKC,EAAKC,EAAKC,EAAUxxC,EAAG73B,EAAG+G,EAe/D,SAdkB3C,IAAdi5D,IAA2BA,EAAY,QAC7Bj5D,IAAViW,IAAuBA,EAAQ,GAEnC+M,EAAE0lD,UAAUzP,EAAWhjD,EAAO,GAEL,iBAAd6sD,GAEP9/C,EAAE5M,UAAU0sD,GAGhBmtE,EAAQ,KACRC,EAAQ,KACRzyI,EAAI,EAEGA,EAAIotE,EAAKrtE,QAGZ5B,GADA63B,EAAIo3C,EAAKptE,IACH,GACNkF,EAAI8wB,EAAE,GAEF73B,IAAMq0I,GAASttI,IAAMutI,IAEX,IAANzyI,EAEAulB,EAAE+1C,OAAOn9D,EAAG+G,IAIZkiE,EAAMorE,EACNnrE,EAAMorE,EACNnrE,EAAMnpE,EACNopE,EAAMriE,EACNsiE,EAAM4F,GAAMptE,EAAI,GAAKotE,EAAKrtE,QAAQ,GAIrB,KAFJunE,EAAMF,IADTgG,GAAMptE,EAAI,GAAKotE,EAAKrtE,QAAQ,GACLsnE,IAAUG,EAAMJ,IAAQG,EAAMF,IAIvD9hD,EAAEg2C,OAAOp9D,EAAG+G,IAGpBstI,EAAQr0I,EACRs0I,EAAQvtI,GAGZlF,IAIqB,iBAAdqlE,GAEP9/C,EAAE1M,UAGFu0D,EAAKrtE,OAAS,GAA0B,iBAAdslE,IAE1B9/C,EAAE+1C,OAAO8R,EAAKA,EAAKrtE,OAAS,GAAG,GAAIqtE,EAAKA,EAAKrtE,OAAS,GAAG,IACzDwlB,EAAEg2C,OAAO6R,EAAK,GAAG,GAAIA,EAAK,GAAG,MAWrC+kE,UAAW,SAAS5sH,EAAGrc,EAAIE,EAAIoP,EAAO2vD,EAAW3M,EAAWk3E,EAAYC,EAAUC,EAAWjsI,GAEzF,IAASksI,EAAIC,OACKvwI,IAAdi5D,IAA2BA,EAAY,QAC7Bj5D,IAAViW,IAAuBA,EAAQ,UAEnC+M,EAAE0lD,UAAUzP,EAAW2M,EAAW,IAClC5iD,EAAE5M,UAAUH,GAGZ+M,EAAE+1C,OAAOpyD,GAAKE,GACdypI,EAAK3pI,EAAKjL,KAAK2H,IAAIe,GAAS3O,KAAKgd,KAAKnL,MACtCipI,EAAK1pI,EAAKnL,KAAK4H,IAAIc,GAAS3O,KAAKgd,KAAKlL,OACtCyb,EAAEg2C,OAAOs3E,GAAKC,GAEdvtH,EAAE+1C,OAAOpyD,GAAKE,GACdypI,EAAK3pI,EAAKjL,KAAK2H,IAAIe,IAAU3O,KAAKgd,KAAKnL,MACvCipI,EAAK1pI,EAAKnL,KAAK4H,IAAIc,IAAU3O,KAAKgd,KAAKlL,OACvCyb,EAAEg2C,OAAOs3E,GAAKC,IAUlBZ,YAAa,SAAS3sH,EAAGpnB,EAAG+G,EAAGyB,EAAO7G,EAAKgG,EAAQ0S,EAAO6sD,EAAW7J,QAE/Cj5D,IAAdi5D,IAA2BA,EAAY,QAC7Bj5D,IAAViW,IAAuBA,EAAS,GAEpC+M,EAAE0lD,UAAUzP,EAAWhjD,EAAO,GAG9B,IAAIxQ,EAAI/J,KAAK2H,IAAIe,GACbuK,EAAIjT,KAAK4H,IAAIc,GAEjB4e,EAAE5M,UAAU0sD,EAAW,GACvB9/C,EAAE2nD,YAAYptE,EAAI,EAAEkI,EAAI7J,GAAI2B,EAAI,EAAEoR,EAAIhM,EAAa,GAATY,GAC1Cyf,EAAE2nD,WAAYptE,EAAI,EAAEkI,EAAI7J,EAAI2B,EAAI,EAAEoR,EAAIhM,EAAa,GAATY,GAC1Cyf,EAAE1M,UAGF0M,EAAE0lD,UAAUzP,EAAWhjD,EAAO,GAC9B+M,EAAE5M,UAAU0sD,EAAW,GACvB9/C,EAAE+1C,QAAQx7D,EAAI,EAAEkI,EAAIlC,EAAOoL,EAAI/S,GAAI2B,EAAI,EAAEoR,EAAIpL,EAAOkC,EAAI9C,GACxDqgB,EAAEg2C,OAAQz7D,EAAI,EAAEkI,EAAIlC,EAAOoL,EAAI/S,EAAI2B,EAAI,EAAEoR,EAAIpL,EAAOkC,EAAI9C,GACxDqgB,EAAEg2C,OAAQz7D,EAAI,EAAEkI,EAAIlC,EAAOoL,EAAI/S,EAAI2B,EAAI,EAAEoR,EAAIpL,EAAOkC,EAAI9C,GACxDqgB,EAAEg2C,QAAQz7D,EAAI,EAAEkI,EAAIlC,EAAOoL,EAAI/S,GAAI2B,EAAI,EAAEoR,EAAIpL,EAAOkC,EAAI9C,GACxDqgB,EAAE1M,UAGF0M,EAAE0lD,UAAUzP,EAAWhjD,EAAO,GAC9B+M,EAAE+1C,QAAQx7D,EAAI,EAAEkI,EAAIlC,EAAOoL,EAAI/S,GAAI2B,EAAI,EAAEoR,EAAIpL,EAAOkC,EAAI9C,GACxDqgB,EAAEg2C,OAAQz7D,EAAI,EAAEkI,EAAIlC,EAAOoL,EAAI/S,EAAI2B,EAAI,EAAEoR,EAAIpL,EAAOkC,EAAI9C,GACxDqgB,EAAE+1C,QAAQx7D,EAAI,EAAEkI,EAAIlC,EAAOoL,EAAI/S,GAAI2B,EAAI,EAAEoR,EAAIpL,EAAOkC,EAAI9C,GACxDqgB,EAAEg2C,OAAQz7D,EAAI,EAAEkI,EAAIlC,EAAOoL,EAAI/S,EAAI2B,EAAI,EAAEoR,EAAIpL,EAAOkC,EAAI9C,IAU5D+sI,gBAAiB,WAEb,IAAI35E,EAAMD,EAAO06E,EAAK36E,EAWtB,OAVA26E,GAAO,IAAK,IAAK,KAEjB36E,EAAMn6D,KAAKI,MAAsB,IAAhBJ,KAAKuE,UACtB61D,EAAQp6D,KAAKI,MAAsB,IAAhBJ,KAAKuE,UACxB81D,EAAOr6D,KAAKI,MAAsB,IAAhBJ,KAAKuE,UAEvB41D,EAAMn6D,KAAKI,OAAO+5D,EAAM,EAAI26E,EAAI,IAAM,GACtC16E,EAAQp6D,KAAKI,OAAOg6D,EAAQ,EAAI06E,EAAI,IAAM,GAC1Cz6E,EAAOr6D,KAAKI,OAAOi6D,EAAO,EAAIy6E,EAAI,IAAM,GAEjC/6I,KAAKg7I,SAAS56E,EAAKC,EAAOC,IAUrC06E,SAAU,SAASrtI,EAAG4f,EAAG3d,GACrB,OAAO5P,KAAKw6H,eAAe7sH,GAAK3N,KAAKw6H,eAAejtG,GAAKvtB,KAAKw6H,eAAe5qH,IASjF4qH,eAAgB,SAASxqH,GAErB,IAAI0qH,EAGJ,OAAmB,KAFnBA,EAAM1qH,EAAEtI,SAAS,KAETK,OAEG2yH,EAIAA,EAAM,OA6BzBr6H,EAAOmwB,QAAQmtG,GAAGsL,OAAS,SAAUhsH,EAAO8uH,EAAOC,EAAOmF,EAAYC,EAAWC,EAASC,EAAQC,EAAQC,EAAQC,GAK9GzxI,KAAKgd,KAAOC,EAAMD,KAKlBhd,KAAKid,MAAQA,OAEM1S,IAAf4mI,IAA4BA,EAAa,QAC3B5mI,IAAd6mI,IAA2BA,EAAY,UAC3B7mI,IAAZ8mI,IAAyBA,EAAU,GAIvC,IAAItlI,GACAolI,WAHJA,EAAal0H,EAAMotH,IAAI8G,GAInBC,UAAWA,EACXC,QAASA,QAGS,IAAXC,GAAqC,OAAXA,IAEjCvlI,EAAQkvI,cAAiBh+H,EAAMotH,IAAIiH,EAAO,IAAKr0H,EAAMotH,IAAIiH,EAAO,WAG9C,IAAXC,GAAqC,OAAXA,IAEjCxlI,EAAQmvI,cAAiBj+H,EAAMotH,IAAIkH,EAAO,IAAKt0H,EAAMotH,IAAIkH,EAAO,WAG9C,IAAXC,GAAqC,OAAXA,IAEjCzlI,EAAQsiI,cAAiBpxH,EAAMotH,IAAImH,EAAO,IAAKv0H,EAAMotH,IAAImH,EAAO,WAG9C,IAAXC,GAAqC,OAAXA,IAEjC1lI,EAAQuiI,cAAiBrxH,EAAMotH,IAAIoH,EAAO,IAAKx0H,EAAMotH,IAAIoH,EAAO,MAMpEzxI,KAAKumC,KAAO,IAAIxrB,GAAGogI,aAAapP,EAAOC,EAAOjgI,GAE9C/L,KAAKumC,KAAKta,OAASjsB,MAIvBK,EAAOmwB,QAAQmtG,GAAGsL,OAAO1iI,UAAU8B,YAAchI,EAAOmwB,QAAQmtG,GAAGsL,OAoBnE5oI,EAAOmwB,QAAQmtG,GAAGwQ,iBAAmB,SAAUlxH,EAAO8uH,EAAOC,EAAO2F,EAAWP,EAAWC,GAKtFrxI,KAAKgd,KAAOC,EAAMD,KAKlBhd,KAAKid,MAAQA,OAEK1S,IAAdonI,IAA2BA,EAAY,WACzBpnI,IAAd6mI,IAA2BA,EAAY,UAC3B7mI,IAAZ8mI,IAAyBA,EAAU,GAEnCM,IAEAA,EAAY10H,EAAMotH,IAAIsH,IAG1B,IAAI5lI,GACA4lI,UAAWA,EACXP,UAAWA,EACXC,QAASA,GAMbrxI,KAAKumC,KAAO,IAAIxrB,GAAGozH,iBAAiBpC,EAAOC,EAAOjgI,GAElD/L,KAAKumC,KAAKta,OAASjsB,MAIvBK,EAAOmwB,QAAQmtG,GAAGsL,OAAO1iI,UAAU8B,YAAchI,EAAOmwB,QAAQmtG,GAAGsL,OAiBnE5oI,EAAOmwB,QAAQmtG,GAAGsS,SAAW,SAAUjmI,GAMnChK,KAAKgK,KAAOA,EAEZ+Q,GAAGk1H,SAASjpI,KAAKhH,OAIrBK,EAAOmwB,QAAQmtG,GAAGsS,SAAS1pI,UAAYkB,OAAOwb,OAAOlI,GAAGk1H,SAAS1pI,WACjElG,EAAOmwB,QAAQmtG,GAAGsS,SAAS1pI,UAAU8B,YAAchI,EAAOmwB,QAAQmtG,GAAGsS,SAiBrE5vI,EAAOmwB,QAAQmtG,GAAGyS,gBAAkB,SAAUP,EAAWC,EAAW/jI,GA0ChEgP,GAAGq1H,gBAAgBppI,KAAKhH,KAAM6vI,EAAWC,EAAW/jI,IAIxD1L,EAAOmwB,QAAQmtG,GAAGyS,gBAAgB7pI,UAAYkB,OAAOwb,OAAOlI,GAAGq1H,gBAAgB7pI,WAC/ElG,EAAOmwB,QAAQmtG,GAAGyS,gBAAgB7pI,UAAU8B,YAAchI,EAAOmwB,QAAQmtG,GAAGyS,gBAe5E/vI,EAAOmwB,QAAQmtG,GAAGiN,eAAiB,SAAUoG,GAKzChxI,KAAKwuD,KAAOwiF,GAuBhB3wI,EAAOmwB,QAAQmtG,GAAG+Q,mBAAqB,SAAUzxH,EAAO8uH,EAAOC,EAAO19H,EAAU+/H,EAAcC,EAAcC,QAEvFhkI,IAAb+D,IAA0BA,EAAW,UACpB/D,IAAjB8jI,IAA8BA,GAAgB,EAAG,SAChC9jI,IAAjB+jI,IAA8BA,GAAgB,EAAG,SACpC/jI,IAAbgkI,IAA0BA,EAAW3zH,OAAOC,WAKhD7a,KAAKgd,KAAOC,EAAMD,KAKlBhd,KAAKid,MAAQA,EAOb,IAAIlR,GAAYuC,SALhBA,EAAW2O,EAAMotH,IAAI/7H,GAKe+/H,aAHpCA,GAAiBpxH,EAAMqtH,KAAK+D,EAAa,IAAKpxH,EAAMqtH,KAAK+D,EAAa,KAGNC,aAFhEA,GAAiBrxH,EAAMqtH,KAAKgE,EAAa,IAAKrxH,EAAMqtH,KAAKgE,EAAa,KAEsBC,SAAUA,GAEtGxzH,GAAG2zH,mBAAmB1nI,KAAKhH,KAAM+rI,EAAOC,EAAOjgI,IAInD1L,EAAOmwB,QAAQmtG,GAAG+Q,mBAAmBnoI,UAAYkB,OAAOwb,OAAOlI,GAAG2zH,mBAAmBnoI,WACrFlG,EAAOmwB,QAAQmtG,GAAG+Q,mBAAmBnoI,UAAU8B,YAAchI,EAAOmwB,QAAQmtG,GAAG+Q,mBAmB/EruI,EAAOmwB,QAAQmtG,GAAGkR,eAAiB,SAAU5xH,EAAO8uH,EAAOC,EAAOr9H,EAAOigI,QAEvDrkI,IAAVoE,IAAuBA,EAAQ,QACrBpE,IAAVqkI,IAAuBA,EAAQ,GAKnC5uI,KAAKgd,KAAOC,EAAMD,KAKlBhd,KAAKid,MAAQA,EAEb,IAAIlR,GAAY4C,MAAOA,EAAOigI,MAAOA,GAErC7zH,GAAG8zH,eAAe7nI,KAAKhH,KAAM+rI,EAAOC,EAAOjgI,IAI/C1L,EAAOmwB,QAAQmtG,GAAGkR,eAAetoI,UAAYkB,OAAOwb,OAAOlI,GAAG8zH,eAAetoI,WAC7ElG,EAAOmwB,QAAQmtG,GAAGkR,eAAetoI,UAAU8B,YAAchI,EAAOmwB,QAAQmtG,GAAGkR,eAoB3ExuI,EAAOmwB,QAAQmtG,GAAGyR,eAAiB,SAAUnyH,EAAO8uH,EAAOC,EAAO78H,EAAQR,EAAO4/H,QAE9DhkI,IAAX4E,IAAwBA,GAAU,EAAG,SAC3B5E,IAAVoE,IAAuBA,EAAQ,QAClBpE,IAAbgkI,IAA0BA,EAAW3zH,OAAOC,WAKhD7a,KAAKgd,KAAOC,EAAMD,KAKlBhd,KAAKid,MAAQA,EAIb,IAAIlR,GAAYqvI,aAFhBjsI,GAAW8N,EAAMotH,IAAIl7H,EAAO,IAAK8N,EAAMotH,IAAIl7H,EAAO,KAEZksI,YAAa1sI,EAAO4/H,SAAUA,GAEpExzH,GAAGq0H,eAAepoI,KAAKhH,KAAM+rI,EAAOC,EAAOjgI,IAI/C1L,EAAOmwB,QAAQmtG,GAAGyR,eAAe7oI,UAAYkB,OAAOwb,OAAOlI,GAAGq0H,eAAe7oI,WAC7ElG,EAAOmwB,QAAQmtG,GAAGyR,eAAe7oI,UAAU8B,YAAchI,EAAOmwB,QAAQmtG,GAAGyR,eAsB3E/uI,EAAOmwB,QAAQmtG,GAAG8R,oBAAsB,SAAUxyH,EAAO8uH,EAAOC,EAAOsD,EAAcC,EAASC,EAASntF,EAAMksF,QAEpFhkI,IAAjB+kI,IAA8BA,GAAe,QACjC/kI,IAAZglI,IAAyBA,GAAW,EAAG,SAC3BhlI,IAAZilI,IAAyBA,GAAW,EAAG,SAC9BjlI,IAAT83C,IAAsBA,GAAQ,EAAG,SACpB93C,IAAbgkI,IAA0BA,EAAW3zH,OAAOC,WAKhD7a,KAAKgd,KAAOC,EAAMD,KAKlBhd,KAAKid,MAAQA,EAKb,IAAIlR,GAAYsiI,aAHhBkB,GAAYtyH,EAAMqtH,KAAKiF,EAAQ,IAAKtyH,EAAMqtH,KAAKiF,EAAQ,KAGhBjB,aAFvCkB,GAAYvyH,EAAMqtH,KAAKkF,EAAQ,IAAKvyH,EAAMqtH,KAAKkF,EAAQ,KAEO8L,WAAYj5F,EAAMksF,SAAUA,EAAUgN,uBAAwBjM,GAE5Hv0H,GAAG00H,oBAAoBzoI,KAAKhH,KAAM+rI,EAAOC,EAAOjgI,IAIpD1L,EAAOmwB,QAAQmtG,GAAG8R,oBAAoBlpI,UAAYkB,OAAOwb,OAAOlI,GAAG00H,oBAAoBlpI,WACvFlG,EAAOmwB,QAAQmtG,GAAG8R,oBAAoBlpI,UAAU8B,YAAchI,EAAOmwB,QAAQmtG,GAAG8R,oBAsBhFpvI,EAAOmwB,QAAQmtG,GAAGuR,mBAAqB,SAAUjyH,EAAO8uH,EAAOgD,EAAQ/C,EAAOgD,EAAQT,EAAUU,QAE3E1kI,IAAbgkI,IAA0BA,EAAW3zH,OAAOC,gBAC7BtQ,IAAf0kI,IAA4BA,EAAa,MAK7CjvI,KAAKgd,KAAOC,EAAMD,KAKlBhd,KAAKid,MAAQA,EAEb8xH,GAAW9xH,EAAMqtH,KAAKyE,EAAO,IAAK9xH,EAAMqtH,KAAKyE,EAAO,KACpDC,GAAW/xH,EAAMqtH,KAAK0E,EAAO,IAAK/xH,EAAMqtH,KAAK0E,EAAO,KAEhDC,IAEAA,GAAehyH,EAAMqtH,KAAK2E,EAAW,IAAKhyH,EAAMqtH,KAAK2E,EAAW,MAGpE,IAAIljI,GAAYkjI,WAAYA,EAAYuM,YAAazM,EAAQ0M,YAAazM,EAAQT,SAAUA,GAE5FxzH,GAAGm0H,mBAAmBloI,KAAKhH,KAAM+rI,EAAOC,EAAOjgI,IAInD1L,EAAOmwB,QAAQmtG,GAAGuR,mBAAmB3oI,UAAYkB,OAAOwb,OAAOlI,GAAGm0H,mBAAmB3oI,WACrFlG,EAAOmwB,QAAQmtG,GAAGuR,mBAAmB3oI,UAAU8B,YAAchI,EAAOmwB,QAAQmtG,GAAGuR,mBAuB/E7uI,EAAOq7I,gBAAkB,SAAU1xI,EAAM2xI,EAAU9pI,EAAOC,EAAQq4F,EAAQC,EAASnrB,SAEjE10E,IAAVsH,GAAuBA,GAAS,KAAKA,EAAQ,UAClCtH,IAAXuH,GAAwBA,GAAU,KAAKA,EAAS,SACrCvH,IAAX4/F,IAAwBA,EAAS,QACrB5/F,IAAZ6/F,IAAyBA,EAAU,GAMvCpqG,KAAKgK,KAAOA,EAOZhK,KAAK27I,SAAsB,EAAXA,EAOhB37I,KAAK47I,WAAqB,EAAR/pI,EAOlB7R,KAAK67I,YAAuB,EAAT/pI,EASnB9R,KAAK87I,YAAuB,EAAT3xC,EAQnBnqG,KAAK+7I,aAAyB,EAAV3xC,EAMpBpqG,KAAKi/E,WAAaA,MAQlBj/E,KAAK62G,UAQL72G,KAAK63B,MAAQ,GAGjBx3B,EAAOq7I,gBAAgBn1I,WASnBy1I,mBAAoB,SAAUC,GAE1B,OACIA,GAAcj8I,KAAK27I,UACnBM,EAAcj8I,KAAK27I,SAAW37I,KAAK63B,OAY3CgnC,SAAU,SAAUq9E,EAAKvwH,GAErB3rB,KAAK62G,OAAOtiG,MAAO2nI,IAAKA,EAAKvwH,MAAOA,IACpC3rB,KAAK63B,UAMbx3B,EAAOq7I,gBAAgBn1I,UAAU8B,YAAchI,EAAOq7I,gBAoBtDr7I,EAAO87I,KAAO,SAAUrjB,EAAO/vH,EAAO5C,EAAG+G,EAAG2E,EAAOC,GAK/C9R,KAAK84H,MAAQA,EAKb94H,KAAK+I,MAAQA,EAKb/I,KAAKmG,EAAIA,EAKTnG,KAAKkN,EAAIA,EAKTlN,KAAKg6B,SAAW,EAKhBh6B,KAAKo8I,SAAU,EAKfp8I,KAAKuxH,OAASprH,EAAI0L,EAKlB7R,KAAKwxH,OAAStkH,EAAI4E,EAKlB9R,KAAK6R,MAAQA,EAKb7R,KAAK8R,OAASA,EAKd9R,KAAKyS,QAAUxM,KAAKiK,IAAI2B,EAAQ,GAKhC7R,KAAK0S,QAAUzM,KAAKiK,IAAI4B,EAAS,GAKjC9R,KAAKygB,MAAQ,EAKbzgB,KAAKi/E,cAKLj/E,KAAKq8I,SAAU,EAKfr8I,KAAKuoI,SAAU,EAKfvoI,KAAKwoI,YAAa,EAKlBxoI,KAAKqoI,UAAW,EAKhBroI,KAAKsoI,WAAY,EAMjBtoI,KAAK4oI,aAAc,EAMnB5oI,KAAK2oI,cAAe,EAMpB3oI,KAAK+oI,WAAY,EAMjB/oI,KAAK8oI,aAAc,EAMnB9oI,KAAKmoI,kBAAoB,KAMzBnoI,KAAKooI,yBAA2BpoI,MAIpCK,EAAO87I,KAAK51I,WAURgW,cAAe,SAAUpW,EAAG+G,GAExB,QAAS/G,EAAInG,KAAKuxH,QAAUrkH,EAAIlN,KAAKwxH,QAAUrrH,EAAInG,KAAKyL,OAASyB,EAAIlN,KAAK0P,SAa9EG,WAAY,SAAU1J,EAAG+G,EAAGzB,EAAOiE,GAE/B,QAAIjE,GAASzL,KAAKuxH,YAKd7hH,GAAU1P,KAAKwxH,YAKfrrH,GAAKnG,KAAKuxH,OAASvxH,KAAK6R,UAKxB3E,GAAKlN,KAAKwxH,OAASxxH,KAAK8R,WAiBhCwqI,qBAAsB,SAAU7oH,EAAU5M,GAEtC7mB,KAAKmoI,kBAAoB10G,EACzBzzB,KAAKooI,yBAA2BvhH,GASpCP,QAAS,WAELtmB,KAAKmoI,kBAAoB,KACzBnoI,KAAKooI,yBAA2B,KAChCpoI,KAAKi/E,WAAa,MAatBs9D,aAAc,SAAU7wI,EAAMD,EAAO04C,EAAInV,GAErChvC,KAAK4oI,YAAcl9H,EACnB1L,KAAK2oI,aAAel9H,EACpBzL,KAAK+oI,UAAY5kF,EACjBnkD,KAAK8oI,YAAc95F,EAEnBhvC,KAAKqoI,SAAW38H,EAChB1L,KAAKsoI,UAAY78H,EACjBzL,KAAKuoI,QAAUpkF,EACfnkD,KAAKwoI,WAAax5F,GAStBwtG,eAAgB,WAEZx8I,KAAK4oI,aAAc,EACnB5oI,KAAK2oI,cAAe,EACpB3oI,KAAK+oI,WAAY,EACjB/oI,KAAK8oI,aAAc,EAEnB9oI,KAAKuoI,SAAU,EACfvoI,KAAKwoI,YAAa,EAClBxoI,KAAKqoI,UAAW,EAChBroI,KAAKsoI,WAAY,GAYrBmU,cAAe,SAAU/J,EAAUgK,GAE/B,OAAIhK,GAAYgK,EAGJ18I,KAAK4oI,aAAe5oI,KAAK2oI,cAAgB3oI,KAAK+oI,WAAa/oI,KAAK8oI,aAAe9oI,KAAKuoI,SAAWvoI,KAAKwoI,YAAcxoI,KAAKqoI,UAAYroI,KAAKsoI,WAAatoI,KAAKmoI,kBAE7JuK,EAGG1yI,KAAK4oI,aAAe5oI,KAAK2oI,cAAgB3oI,KAAK+oI,WAAa/oI,KAAK8oI,cAEnE4T,IAGG18I,KAAKuoI,SAAWvoI,KAAKwoI,YAAcxoI,KAAKqoI,UAAYroI,KAAKsoI,YAazEr8H,KAAM,SAAU+7H,GAEZhoI,KAAK+I,MAAQi/H,EAAKj/H,MAClB/I,KAAKygB,MAAQunH,EAAKvnH,MAClBzgB,KAAKi/E,WAAa+oD,EAAK/oD,WAEvBj/E,KAAK+oI,UAAYf,EAAKe,UACtB/oI,KAAK8oI,YAAcd,EAAKc,YACxB9oI,KAAK4oI,YAAcZ,EAAKY,YACxB5oI,KAAK2oI,aAAeX,EAAKW,aAEzB3oI,KAAKmoI,kBAAoBH,EAAKG,kBAC9BnoI,KAAKooI,yBAA2BJ,EAAKI,2BAM7C/nI,EAAO87I,KAAK51I,UAAU8B,YAAchI,EAAO87I,KAO3C10I,OAAOmF,eAAevM,EAAO87I,KAAK51I,UAAW,YAEzCmG,IAAK,WACD,OAAQ1M,KAAK4oI,aAAe5oI,KAAK2oI,cAAgB3oI,KAAK+oI,WAAa/oI,KAAK8oI,eAUhFrhI,OAAOmF,eAAevM,EAAO87I,KAAK51I,UAAW,cAEzCmG,IAAK,WACD,OAAQ1M,KAAK4oI,aAAe5oI,KAAK2oI,cAAgB3oI,KAAK+oI,WAAa/oI,KAAK8oI,aAAe9oI,KAAKmoI,qBAUpG1gI,OAAOmF,eAAevM,EAAO87I,KAAK51I,UAAW,QAEzCmG,IAAK,WACD,OAAO1M,KAAKuxH,UAUpB9pH,OAAOmF,eAAevM,EAAO87I,KAAK51I,UAAW,SAEzCmG,IAAK,WACD,OAAO1M,KAAKuxH,OAASvxH,KAAK6R,SAUlCpK,OAAOmF,eAAevM,EAAO87I,KAAK51I,UAAW,OAEzCmG,IAAK,WACD,OAAO1M,KAAKwxH,UAUpB/pH,OAAOmF,eAAevM,EAAO87I,KAAK51I,UAAW,UAEzCmG,IAAK,WACD,OAAO1M,KAAKwxH,OAASxxH,KAAK8R,UAgClCzR,EAAO0yD,QAAU,SAAU/1C,EAAMnT,EAAK4tD,EAAWC,EAAY7lD,EAAOC,GAKhE9R,KAAKgd,KAAOA,EAKZhd,KAAK6J,IAAMA,EAEX,IAAI08B,EAAOlmC,EAAOs8I,cAAchjI,MAAM3Z,KAAKgd,KAAMnT,EAAK4tD,EAAWC,EAAY7lD,EAAOC,GAEvE,OAATy0B,IAQJvmC,KAAK6R,MAAQ00B,EAAK10B,MAKlB7R,KAAK8R,OAASy0B,EAAKz0B,OAKnB9R,KAAKy3D,UAAYlxB,EAAKkxB,UAKtBz3D,KAAK03D,WAAanxB,EAAKmxB,WAKvB13D,KAAK8sH,YAAcvmF,EAAKumF,YAKxB9sH,KAAKquG,OAAS9nE,EAAK8nE,OAKnBruG,KAAK48I,QAAUr2G,EAAKq2G,QAKpB58I,KAAKi/E,WAAa14C,EAAK04C,WAKvBj/E,KAAK68I,cAAgBt2G,EAAKs2G,cAK1B78I,KAAK88I,eAAiBv2G,EAAKu2G,eAK3B98I,KAAK44H,OAASryF,EAAKqyF,OAKnB54H,KAAK+8I,SAAWx2G,EAAKw2G,SAKrB/8I,KAAKg9I,iBAAmBz2G,EAAKy2G,iBAK7Bh9I,KAAKi9I,MAAQ12G,EAAK02G,MAKlBj9I,KAAKq6F,QAAU9zD,EAAK8zD,QAKpBr6F,KAAKk9I,kBAKLl9I,KAAKiyI,UAAY1rG,EAAK0rG,UAKtBjyI,KAAK62G,OAAStwE,EAAKswE,OAKnB72G,KAAKs8B,aAAc,EAKnBt8B,KAAKm9I,aAAe,EAKpBn9I,KAAKo9I,YAMLp9I,KAAKm0I,YAMLn0I,KAAKq9I,OAAS,EAMdr9I,KAAKm+D,OAAS,IAQlB99D,EAAO0yD,QAAQykD,IAAM,EAMrBn3G,EAAO0yD,QAAQ0kD,WAAa,EAM5Bp3G,EAAO0yD,QAAQuqF,MAAQ,EAMvBj9I,EAAO0yD,QAAQwqF,KAAO,EAMtBl9I,EAAO0yD,QAAQyqF,MAAQ,EAMvBn9I,EAAO0yD,QAAQ0qF,KAAO,EAEtBp9I,EAAO0yD,QAAQxsD,WAcX0c,OAAQ,SAAUjZ,EAAM6H,EAAOC,EAAQ2lD,EAAWC,EAAYj+B,GAW1D,YATclvB,IAAVkvB,IAAuBA,EAAQz5B,KAAKgd,KAAKC,OAE7Cjd,KAAK6R,MAAQA,EACb7R,KAAK8R,OAASA,EAEd9R,KAAK09I,YAAYjmF,EAAWC,GAE5B13D,KAAK44H,OAAO7wH,OAAS,EAEd/H,KAAK29I,iBAAiB3zI,EAAM6H,EAAOC,EAAQ2lD,EAAWC,EAAYj+B,IAW7EikH,YAAa,SAAUjmF,EAAWC,GAE9B13D,KAAKy3D,UAAYA,EACjBz3D,KAAK03D,WAAaA,EAClB13D,KAAK68I,cAAgB78I,KAAK6R,MAAQ4lD,EAClCz3D,KAAK88I,eAAiB98I,KAAK8R,OAAS4lD,GAoBxCkmF,gBAAiB,SAAUC,EAASh0I,EAAK4tD,EAAWC,EAAYomF,EAAYC,EAAa7B,GAErF,QAAgB3xI,IAAZszI,EAAyB,OAAO,UAClBtzI,IAAdktD,IAA2BA,EAAYz3D,KAAKy3D,gBAC7BltD,IAAfmtD,IAA4BA,EAAa13D,KAAK03D,iBAC/BntD,IAAfuzI,IAA4BA,EAAa,QACzBvzI,IAAhBwzI,IAA6BA,EAAc,QACnCxzI,IAAR2xI,IAAqBA,EAAM,GAGb,IAAdzkF,IAEAA,EAAY,IAGG,IAAfC,IAEAA,EAAa,IAGjB,IAAIvE,EAAM,KAOV,QALY5oD,IAARV,GAA6B,OAARA,IAErBA,EAAMg0I,GAGNh0I,aAAexJ,EAAOoyD,WAEtBU,EAAMtpD,EAAIkkB,WAGd,CACI,IAAK/tB,KAAKgd,KAAKqF,MAAMm/D,cAAc33E,GAG/B,OADAvB,QAAQG,KAAK,6DAA+DoB,EAAM,KAC3E,KAGXspD,EAAMnzD,KAAKgd,KAAKqF,MAAM+wC,SAASvpD,GAGnC,IAAI21E,EAAMx/E,KAAKg+I,gBAAgBH,GAE/B,GAAY,OAARr+D,GAAgBx/E,KAAKquG,SAAWhuG,EAAO0yD,QAAQ0kD,WAG/C,OADAnvG,QAAQG,KAAK,yFAA2Fo1I,EAAU,KAC3G,KAGX,GAAI79I,KAAK+8I,SAASv9D,GAGd,OADAx/E,KAAK+8I,SAASv9D,GAAKy+D,SAAS9qF,GACrBnzD,KAAK+8I,SAASv9D,GAIrB,IAAI0+D,EAAS,IAAI79I,EAAO89I,QAAQN,EAAS3B,EAAKzkF,EAAWC,EAAYomF,EAAYC,MAEjFG,EAAOD,SAAS9qF,GAEhBnzD,KAAK+8I,SAASxoI,KAAK2pI,GAUnB,IAAK,IARDl2I,EAAIhI,KAAK+8I,SAASh1I,OAAS,EAC3B5B,EAAI23I,EACJ5wI,EAAI4wI,EAEJplH,EAAQ,EACR0lH,EAAS,EACTC,EAAS,EAEJx2I,EAAIq0I,EAAKr0I,EAAIq0I,EAAMgC,EAAOrmH,QAE/B73B,KAAKi9I,MAAMp1I,IAAM1B,EAAG+G,EAAGlF,GAEvB7B,GAAKsxD,EAAYsmF,IAEjBrlH,IAEcwlH,EAAOrmH,WAKrBumH,IAEeF,EAAOI,UAElBn4I,EAAI23I,EACJ5wI,GAAKwqD,EAAaqmF,EAElBK,EAAS,IACTC,IAEeH,EAAOK,OAvBY12I,KA8B1C,OAAOq2I,GA+BfM,kBAAmB,SAAUx0I,EAAMkyI,EAAKryI,EAAKypB,EAAOrG,EAAQs+B,EAAU9xB,EAAOglH,EAAaC,GAQtF,QANen0I,IAAX0iB,IAAwBA,GAAS,QACpB1iB,IAAbghD,IAA0BA,GAAW,QAC3BhhD,IAAVkvB,IAAuBA,EAAQz5B,KAAKgd,KAAKC,YACzB1S,IAAhBk0I,IAA6BA,EAAcp+I,EAAO2wB,aACtCzmB,IAAZm0I,IAAyBA,GAAU,GAElC1+I,KAAKq6F,QAAQrwF,GAMlB,IAAK,IAAIhC,EAAI,EAAGA,EAAIhI,KAAKq6F,QAAQrwF,GAAMjC,OAAQC,IAC/C,CACI,IAAI22I,GAAQ,EACRl1I,EAAMzJ,KAAKq6F,QAAQrwF,GAAMhC,GAe7B,QAbgBuC,IAAZd,EAAIyyI,KAAoC,iBAARA,GAAoBzyI,EAAIyyI,MAAQA,EAEhEyC,GAAQ,OAEQp0I,IAAXd,EAAIqN,IAAmC,iBAARolI,GAAoBzyI,EAAIqN,KAAOolI,EAEnEyC,GAAQ,OAEUp0I,IAAbd,EAAIO,MAAqC,iBAARkyI,GAAoBzyI,EAAIO,OAASkyI,IAEvEyC,GAAQ,GAGRA,EACJ,CACI,IAAIpkH,EAAS,IAAIkkH,EAAYz+I,KAAKgd,KAAM4iE,WAAWn2E,EAAItD,EAAG,IAAKy5E,WAAWn2E,EAAIyD,EAAG,IAAKrD,EAAKypB,GAE3FiH,EAAOvwB,KAAOP,EAAIO,KAClBuwB,EAAOgxB,SAAWA,EAClBhxB,EAAOtN,OAASA,EAChBsN,EAAOld,QAAU5T,EAAI4T,QAEjB5T,EAAIoI,QAEJ0oB,EAAO1oB,MAAQpI,EAAIoI,OAGnBpI,EAAIqI,SAEJyoB,EAAOzoB,OAASrI,EAAIqI,QAGpBrI,EAAIuwB,WAEJO,EAAO5rB,MAAQlF,EAAIuwB,UAGnB0kH,IAEAnkH,EAAOrtB,GAAKqtB,EAAOzoB,QAGvB2nB,EAAMlmB,IAAIgnB,GAEV,IAAK,IAAI5E,KAAYlsB,EAAIw1E,WAErBxlD,EAAM9sB,IAAI4tB,EAAQ5E,EAAUlsB,EAAIw1E,WAAWtpD,IAAW,GAAO,EAAO,GAAG,SAvD/ErtB,QAAQG,KAAK,8DAAgEuB,IA6ErF40I,gBAAiB,SAAU3B,EAAO4B,EAAch1I,EAAKivH,EAAOr/F,EAAOwlD,GAE1C,iBAAVg+D,IAAsBA,GAASA,SAErB1yI,IAAjBs0I,GAA+C,OAAjBA,EAE9BA,KAE6B,iBAAjBA,IAEZA,GAAgBA,IAGpB/lB,EAAQ94H,KAAKuyI,SAASzZ,QAERvuH,IAAVkvB,IAAuBA,EAAQz5B,KAAKgd,KAAKC,YAC1B1S,IAAf00E,IAA4BA,WAED10E,IAA3B00E,EAAW6/D,cAEX7/D,EAAW6/D,YAAcz+I,EAAO2wB,aAGTzmB,IAAvB00E,EAAWy/D,UAEXz/D,EAAWy/D,SAAU,GAGzB,IAAI7E,EAAK75I,KAAK44H,OAAOE,GAAOjnH,MACxBktI,EAAK/+I,KAAK44H,OAAOE,GAAOhnH,OAI5B,GAFA9R,KAAKiM,KAAK,EAAG,EAAG4tI,EAAIkF,EAAIjmB,GAEpB94H,KAAKm0I,SAASpsI,OAAS,EAEvB,OAAO,EAMX,IAAK,IAFDwyB,EADA1C,EAAQ,EAGH7vB,EAAI,EAAGF,EAAM9H,KAAKm0I,SAASpsI,OAAQC,EAAIF,EAAKE,IAEjD,IAA+C,IAA3Ci1I,EAAMhqH,QAAQjzB,KAAKm0I,SAASnsI,GAAGe,OACnC,CACIwxB,EAAS,IAAI0kD,EAAW6/D,YAAY9+I,KAAKgd,KAAMhd,KAAKm0I,SAASnsI,GAAGupH,OAAQvxH,KAAKm0I,SAASnsI,GAAGwpH,OAAQ3nH,GAEjG,IAAK,IAAI8rB,KAAYspD,EAEjB1kD,EAAO5E,GAAYspD,EAAWtpD,GAGlC8D,EAAMlmB,IAAIgnB,GACV1C,IAKR,GAA4B,IAAxBgnH,EAAa92I,OAGb,IAAKC,EAAI,EAAGA,EAAIi1I,EAAMl1I,OAAQC,IAE1BhI,KAAKuM,QAAQ0wI,EAAMj1I,GAAI62I,EAAa,GAAI,EAAG,EAAGhF,EAAIkF,EAAIjmB,QAGzD,GAAI+lB,EAAa92I,OAAS,EAG3B,IAAKC,EAAI,EAAGA,EAAIi1I,EAAMl1I,OAAQC,IAE1BhI,KAAKuM,QAAQ0wI,EAAMj1I,GAAI62I,EAAa72I,GAAI,EAAG,EAAG6xI,EAAIkF,EAAIjmB,GAI9D,OAAOjhG,GAiBXmnH,YAAa,SAAUlmB,EAAOjnH,EAAOC,EAAQ2nB,QAI3BlvB,IAAVsH,IAAuBA,EAAQ7R,KAAKgd,KAAKnL,YAC9BtH,IAAXuH,IAAwBA,EAAS9R,KAAKgd,KAAKlL,aACjCvH,IAAVkvB,IAAuBA,EAAQz5B,KAAKgd,KAAKC,OAE7C,IAAIlU,EAAQ+vH,EAOZ,GALqB,iBAAVA,IAEP/vH,EAAQ/I,KAAKi/I,cAAcnmB,MAGjB,OAAV/vH,GAAkBA,EAAQ/I,KAAK44H,OAAO7wH,QAA1C,MAQcwC,IAAVsH,GAAuBA,GAAS,EAEhCA,EAAQ5L,KAAK2N,IAAI5T,KAAKgd,KAAKnL,MAAO7R,KAAK44H,OAAO7vH,GAAO8zI,eAEhDhrI,EAAQ7R,KAAKgd,KAAKnL,QAEvBA,EAAQ7R,KAAKgd,KAAKnL,YAGPtH,IAAXuH,GAAwBA,GAAU,EAElCA,EAAS7L,KAAK2N,IAAI5T,KAAKgd,KAAKlL,OAAQ9R,KAAK44H,OAAO7vH,GAAO+zI,gBAElDhrI,EAAS9R,KAAKgd,KAAKlL,SAExBA,EAAS9R,KAAKgd,KAAKlL,QAGnB9R,KAAKs8B,cAELh0B,QAAQmxB,MAAM,uBACdnxB,QAAQC,IAAI,QAASvI,KAAK44H,OAAO7vH,GAAOiB,MACxC1B,QAAQC,IAAI,QAASsJ,EAAO,IAAKC,GACjCxJ,QAAQC,IAAI,WAAYvI,KAAK+8I,SAAS,GAAG/yI,KAAM,SAAUjB,IAG7D,IAAIm2I,EAAYzlH,EAAMlmB,IAAI,IAAIlT,EAAO2yD,aAAahzD,KAAKgd,KAAMhd,KAAM+I,EAAO8I,EAAOC,IAOjF,OALI9R,KAAKs8B,aAELh0B,QAAQ62I,WAGLD,EAvCH52I,QAAQG,KAAK,iDAAmDqwH,EAAQ,MAwDhF6kB,iBAAkB,SAAU3zI,EAAM6H,EAAOC,EAAQ2lD,EAAWC,EAAYj+B,QAEtDlvB,IAAVkvB,IAAuBA,EAAQz5B,KAAKgd,KAAKC,OAE7C,CAAA,GAAiC,OAA7Bjd,KAAKi/I,cAAcj1I,GAAvB,CA4BA,IAAK,IAHD0tH,EAnBAoB,GAEA9uH,KAAMA,EACN7D,EAAG,EACH+G,EAAG,EACH2E,MAAOA,EACPC,OAAQA,EACR+qI,cAAehrI,EAAQ4lD,EACvBqlF,eAAgBhrI,EAAS4lD,EACzBj3C,MAAO,EACPpD,SAAS,EACT4hE,cACAmgE,WACAhkG,aACAsyF,UACAnnG,KAAM,MAKN/3B,KAEKtB,EAAI,EAAGA,EAAI4E,EAAQ5E,IAC5B,CACIwqH,KAEA,IAAK,IAAIvxH,EAAI,EAAGA,EAAI0L,EAAO1L,IAEvBuxH,EAAInjH,KAAK,IAAIlU,EAAO87I,KAAKrjB,GAAQ,EAAG3yH,EAAG+G,EAAGuqD,EAAWC,IAGzDlpD,EAAO+F,KAAKmjH,GAGhBoB,EAAMvyF,KAAO/3B,EAEbxO,KAAK44H,OAAOrkH,KAAKukH,GAEjB94H,KAAKm9I,aAAen9I,KAAK44H,OAAO7wH,OAAS,EAEzC,IAAIgY,EAAI+4G,EAAM+jB,cACVlsI,EAAImoH,EAAMgkB,eAed,OAbI/8H,EAAI/f,KAAKgd,KAAKnL,QAEdkO,EAAI/f,KAAKgd,KAAKnL,OAGdlB,EAAI3Q,KAAKgd,KAAKlL,SAEdnB,EAAI3Q,KAAKgd,KAAKlL,SAGdtD,EAAS,IAAInO,EAAO2yD,aAAahzD,KAAKgd,KAAMhd,KAAMA,KAAK44H,OAAO7wH,OAAS,EAAGgY,EAAGpP,IAC1E3G,KAAOA,EAEPyvB,EAAMlmB,IAAI/E,GA5DblG,QAAQG,KAAK,sEAAwEuB,KAyE7FwqB,SAAU,SAAUwmE,EAAUhxF,GAE1B,IAAK,IAAIhC,EAAI,EAAGA,EAAIgzF,EAASjzF,OAAQC,IAEjC,GAAIgzF,EAAShzF,GAAGgC,OAASA,EAErB,OAAOhC,EAIf,OAAO,MAWXi3I,cAAe,SAAUj1I,GAErB,OAAOhK,KAAKw0B,SAASx0B,KAAK44H,OAAQ5uH,IAWtCg0I,gBAAiB,SAAUh0I,GAEvB,OAAOhK,KAAKw0B,SAASx0B,KAAK+8I,SAAU/yI,IAWxCq1I,cAAe,SAAUr1I,GAErB,OAAOhK,KAAKw0B,SAASx0B,KAAK62G,OAAQ7sG,IAiBtCs1I,qBAAsB,SAAUF,EAAS3rH,EAAUlO,EAAiBuzG,GAIhE,GAFAA,EAAQ94H,KAAKuyI,SAASzZ,GAEC,iBAAZsmB,EAEU,OAAb3rH,SAEOzzB,KAAK44H,OAAOE,GAAO19E,UAAUgkG,GAMpCp/I,KAAK44H,OAAOE,GAAO19E,UAAUgkG,IAAa3rH,SAAUA,EAAUlO,gBAAiBA,QAKnF,IAAK,IAAIvd,EAAI,EAAGF,EAAMs3I,EAAQr3I,OAAQC,EAAIF,EAAKE,IAE1B,OAAbyrB,SAEOzzB,KAAK44H,OAAOE,GAAO19E,UAAUgkG,EAAQp3I,IAI5ChI,KAAK44H,OAAOE,GAAO19E,UAAUgkG,EAAQp3I,KAAQyrB,SAAUA,EAAUlO,gBAAiBA,IAuBlGg6H,wBAAyB,SAAUp5I,EAAG+G,EAAG2E,EAAOC,EAAQ2hB,EAAUlO,EAAiBuzG,GAM/E,GAJAA,EAAQ94H,KAAKuyI,SAASzZ,GAEtB94H,KAAKiM,KAAK9F,EAAG+G,EAAG2E,EAAOC,EAAQgnH,KAE3B94H,KAAKm0I,SAASpsI,OAAS,GAK3B,IAAK,IAAIC,EAAI,EAAGA,EAAIhI,KAAKm0I,SAASpsI,OAAQC,IAEtChI,KAAKm0I,SAASnsI,GAAGs0I,qBAAqB7oH,EAAUlO,IAiBxDg3H,aAAc,SAAU6C,EAAS1M,EAAU5Z,EAAO0mB,GAO9C,QALiBj1I,IAAbmoI,IAA0BA,GAAW,QACrBnoI,IAAhBi1I,IAA6BA,GAAc,GAE/C1mB,EAAQ94H,KAAKuyI,SAASzZ,GAEC,iBAAZsmB,EAEP,OAAOp/I,KAAKy/I,oBAAoBL,EAAS1M,EAAU5Z,GAAO,GAEzD,GAAIpyH,MAAMa,QAAQ63I,GACvB,CAEI,IAAK,IAAIp3I,EAAI,EAAGA,EAAIo3I,EAAQr3I,OAAQC,IAEhChI,KAAKy/I,oBAAoBL,EAAQp3I,GAAI0qI,EAAU5Z,GAAO,GAGtD0mB,GAGAx/I,KAAK0/I,eAAe5mB,KAkBhC6mB,oBAAqB,SAAU5uI,EAAO6uB,EAAM8yG,EAAU5Z,EAAO0mB,GAOzD,QALiBj1I,IAAbmoI,IAA0BA,GAAW,QACrBnoI,IAAhBi1I,IAA6BA,GAAc,GAE/C1mB,EAAQ94H,KAAKuyI,SAASzZ,KAElB/nH,EAAQ6uB,GAAZ,CAKA,IAAK,IAAI72B,EAAQgI,EAAOhI,GAAS62B,EAAM72B,IAEnC/I,KAAKy/I,oBAAoB12I,EAAO2pI,EAAU5Z,GAAO,GAGjD0mB,GAGAx/I,KAAK0/I,eAAe5mB,KAe5B8mB,wBAAyB,SAAUR,EAAS1M,EAAU5Z,EAAO0mB,QAExCj1I,IAAbmoI,IAA0BA,GAAW,QACrBnoI,IAAhBi1I,IAA6BA,GAAc,GAE/C1mB,EAAQ94H,KAAKuyI,SAASzZ,GAGtB,IAAK,IAAI9wH,EAAI,EAAGF,EAAM9H,KAAKi9I,MAAMl1I,OAAQC,EAAIF,EAAKE,KAElB,IAAxBo3I,EAAQnsH,QAAQjrB,IAEhBhI,KAAKy/I,oBAAoBz3I,EAAG0qI,EAAU5Z,GAAO,GAIjD0mB,GAGAx/I,KAAK0/I,eAAe5mB,IAgB5B2mB,oBAAqB,SAAU12I,EAAO2pI,EAAU5Z,EAAO0mB,GAMnD,QAJiBj1I,IAAbmoI,IAA0BA,GAAW,QAC3BnoI,IAAVuuH,IAAuBA,EAAQ94H,KAAKm9I,mBACpB5yI,IAAhBi1I,IAA6BA,GAAc,GAE3C9M,EAEA1yI,KAAKk9I,eAAe3oI,KAAKxL,OAG7B,CACI,IAAIf,EAAIhI,KAAKk9I,eAAejqH,QAAQlqB,GAEhCf,GAAK,GAELhI,KAAKk9I,eAAev3H,OAAO3d,EAAG,GAItC,IAAK,IAAIkF,EAAI,EAAGA,EAAIlN,KAAK44H,OAAOE,GAAOhnH,OAAQ5E,IAE3C,IAAK,IAAI/G,EAAI,EAAGA,EAAInG,KAAK44H,OAAOE,GAAOjnH,MAAO1L,IAC9C,CACI,IAAI6hI,EAAOhoI,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,GAElC6hI,GAAQA,EAAKj/H,QAAUA,IAEnB2pI,EAEA1K,EAAKuU,cAAa,GAAM,GAAM,GAAM,GAIpCvU,EAAKwU,iBAGTxU,EAAKO,QAAUmK,EACf1K,EAAKQ,WAAakK,EAClB1K,EAAKK,SAAWqK,EAChB1K,EAAKM,UAAYoK,GAW7B,OANI8M,GAGAx/I,KAAK0/I,eAAe5mB,GAGjBA,GAYXyZ,SAAU,SAAUzZ,GAehB,YAbcvuH,IAAVuuH,EAEAA,EAAQ94H,KAAKm9I,aAES,iBAAVrkB,EAEZA,EAAQ94H,KAAKi/I,cAAcnmB,GAEtBA,aAAiBz4H,EAAO2yD,eAE7B8lE,EAAQA,EAAM/vH,OAGX+vH,GAWX+mB,sBAAuB,SAAU31I,GAQ7B,IANc,IAAVA,IAAiD,IAA/BlK,KAAK8/I,wBAEvB9/I,KAAK8/I,uBAAwB,EAC7B9/I,KAAK+/I,uBAGK,IAAV71I,IAAkD,IAA/BlK,KAAK8/I,sBAC5B,CACI9/I,KAAK8/I,uBAAwB,EAE7B,IAAK,IAAI93I,KAAKhI,KAAK+/I,kBAEf//I,KAAK0/I,eAAe13I,GAGxBhI,KAAK+/I,mBAAoB,IAYjCL,eAAgB,SAAU5mB,GAEtB,GAAI94H,KAAK8/I,sBAEL9/I,KAAK+/I,kBAAkBjnB,IAAS,OASpC,IAAK,IALDknB,EAAQ,KACRC,EAAQ,KACRv0I,EAAO,KACPD,EAAQ,KAEHyB,EAAI,EAAGyD,EAAI3Q,KAAK44H,OAAOE,GAAOhnH,OAAQ5E,EAAIyD,EAAGzD,IAElD,IAAK,IAAI/G,EAAI,EAAG4Z,EAAI/f,KAAK44H,OAAOE,GAAOjnH,MAAO1L,EAAI4Z,EAAG5Z,IACrD,CACI,IAAI6hI,EAAOhoI,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,GAElC6hI,IAEAgY,EAAQhgJ,KAAKkgJ,aAAapnB,EAAO3yH,EAAG+G,GACpC+yI,EAAQjgJ,KAAKmgJ,aAAarnB,EAAO3yH,EAAG+G,GACpCxB,EAAO1L,KAAKogJ,YAAYtnB,EAAO3yH,EAAG+G,GAClCzB,EAAQzL,KAAK2yI,aAAa7Z,EAAO3yH,EAAG+G,GAEhC86H,EAAK0K,WAEL1K,EAAKO,SAAU,EACfP,EAAKQ,YAAa,EAClBR,EAAKK,UAAW,EAChBL,EAAKM,WAAY,GAGjB0X,GAASA,EAAMtN,WAGf1K,EAAKO,SAAU,GAGf0X,GAASA,EAAMvN,WAGf1K,EAAKQ,YAAa,GAGlB98H,GAAQA,EAAKgnI,WAGb1K,EAAKK,UAAW,GAGhB58H,GAASA,EAAMinI,WAGf1K,EAAKM,WAAY,MAiBrC4X,aAAc,SAAUpnB,EAAO3yH,EAAG+G,GAE9B,OAAIA,EAAI,EAEGlN,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,EAAI,GAAG/G,GAGnC,MAaXg6I,aAAc,SAAUrnB,EAAO3yH,EAAG+G,GAE9B,OAAIA,EAAIlN,KAAK44H,OAAOE,GAAOhnH,OAAS,EAEzB9R,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,EAAI,GAAG/G,GAGnC,MAaXi6I,YAAa,SAAUtnB,EAAO3yH,EAAG+G,GAE7B,OAAI/G,EAAI,EAEGnG,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,EAAI,GAGnC,MAaXwsI,aAAc,SAAU7Z,EAAO3yH,EAAG+G,GAE9B,OAAI/G,EAAInG,KAAK44H,OAAOE,GAAOjnH,MAAQ,EAExB7R,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,EAAI,GAGnC,MAUXk6I,SAAU,SAAUvnB,GAEhBA,EAAQ94H,KAAKuyI,SAASzZ,GAElB94H,KAAK44H,OAAOE,KAEZ94H,KAAKm9I,aAAerkB,IAc5BwnB,QAAS,SAAUn6I,EAAG+G,EAAG4rH,GAIrB,OAFAA,EAAQ94H,KAAKuyI,SAASzZ,QAEavuH,IAA/BvK,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,SAAsD3C,IAAlCvK,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,IAKnEnG,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,GAAG4C,OAAS,GAanDw3I,WAAY,SAAUp6I,EAAG+G,EAAG4rH,GAIxB,GAFAA,EAAQ94H,KAAKuyI,SAASzZ,GAElB3yH,GAAK,GAAKA,EAAInG,KAAK44H,OAAOE,GAAOjnH,OAAS3E,GAAK,GAAKA,EAAIlN,KAAK44H,OAAOE,GAAOhnH,QAEvE9R,KAAKsgJ,QAAQn6I,EAAG+G,EAAG4rH,GACvB,CACI,IAAIkP,EAAOhoI,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,GAQtC,OANAnG,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,GAAK,IAAI9F,EAAO87I,KAAKn8I,KAAK44H,OAAOE,IAAS,EAAG3yH,EAAG+G,EAAGlN,KAAKy3D,UAAWz3D,KAAK03D,YAEnG13D,KAAK44H,OAAOE,GAAO9uG,OAAQ,EAE3BhqB,KAAK0/I,eAAe5mB,GAEbkP,IAiBnBwY,kBAAmB,SAAUr6I,EAAG+G,EAAGuqD,EAAWC,EAAYohE,GAOtD,OALAA,EAAQ94H,KAAKuyI,SAASzZ,GAEtB3yH,EAAInG,KAAKgd,KAAK0E,KAAKw0E,YAAY/vF,EAAGsxD,GAAaA,EAC/CvqD,EAAIlN,KAAKgd,KAAK0E,KAAKw0E,YAAYhpF,EAAGwqD,GAAcA,EAEzC13D,KAAKugJ,WAAWp6I,EAAG+G,EAAG4rH,IAejC2nB,QAAS,SAAUzY,EAAM7hI,EAAG+G,EAAG4rH,GAE3B,GAAa,OAATkP,EAEA,OAAOhoI,KAAKugJ,WAAWp6I,EAAG+G,EAAG4rH,GAKjC,GAFAA,EAAQ94H,KAAKuyI,SAASzZ,GAElB3yH,GAAK,GAAKA,EAAInG,KAAK44H,OAAOE,GAAOjnH,OAAS3E,GAAK,GAAKA,EAAIlN,KAAK44H,OAAOE,GAAOhnH,OAC/E,CACI,IAAI/I,EA0CJ,OAxCIi/H,aAAgB3nI,EAAO87I,MAEvBpzI,EAAQi/H,EAAKj/H,MAET/I,KAAKsgJ,QAAQn6I,EAAG+G,EAAG4rH,GAEnB94H,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,GAAG8F,KAAK+7H,GAInChoI,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,GAAK,IAAI9F,EAAO87I,KAAKrjB,EAAO/vH,EAAO5C,EAAG+G,EAAG86H,EAAKn2H,MAAOm2H,EAAKl2H,UAKzF/I,EAAQi/H,EAEJhoI,KAAKsgJ,QAAQn6I,EAAG+G,EAAG4rH,GAEnB94H,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,GAAG4C,MAAQA,EAItC/I,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,GAAK,IAAI9F,EAAO87I,KAAKn8I,KAAK44H,OAAOE,GAAQ/vH,EAAO5C,EAAG+G,EAAGlN,KAAKy3D,UAAWz3D,KAAK03D,aAI1G13D,KAAKk9I,eAAejqH,QAAQlqB,IAAU,EAEtC/I,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,GAAGo2I,cAAa,GAAM,GAAM,GAAM,GAI7Dv8I,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,GAAGq2I,iBAGlCx8I,KAAK44H,OAAOE,GAAO9uG,OAAQ,EAE3BhqB,KAAK0/I,eAAe5mB,GAEb94H,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,GAGtC,OAAO,MAgBXu6I,eAAgB,SAAU1Y,EAAM7hI,EAAG+G,EAAGuqD,EAAWC,EAAYohE,GAOzD,OALAA,EAAQ94H,KAAKuyI,SAASzZ,GAEtB3yH,EAAInG,KAAKgd,KAAK0E,KAAKw0E,YAAY/vF,EAAGsxD,GAAaA,EAC/CvqD,EAAIlN,KAAKgd,KAAK0E,KAAKw0E,YAAYhpF,EAAGwqD,GAAcA,EAEzC13D,KAAKygJ,QAAQzY,EAAM7hI,EAAG+G,EAAG4rH,IAiBpC6nB,gBAAiB,SAAU53I,EAAO63I,EAAMt3I,EAASwvH,QAEhCvuH,IAATq2I,IAAsBA,EAAO,QACjBr2I,IAAZjB,IAAyBA,GAAU,GAEvCwvH,EAAQ94H,KAAKuyI,SAASzZ,GAEtB,IAAI9oH,EAAI,EAER,GAAI1G,GAEA,IAAS4D,EAAIlN,KAAK44H,OAAOE,GAAOhnH,OAAS,EAAG5E,GAAK,EAAGA,IAEhD,IAAS/G,EAAInG,KAAK44H,OAAOE,GAAOjnH,MAAQ,EAAG1L,GAAK,EAAGA,IAE/C,GAAInG,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,GAAG4C,QAAUA,EAC5C,CACI,GAAIiH,IAAM4wI,EAEN,OAAO5gJ,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,GAIlC6J,UAQhB,IAAK,IAAI9C,EAAI,EAAGA,EAAIlN,KAAK44H,OAAOE,GAAOhnH,OAAQ5E,IAE3C,IAAK,IAAI/G,EAAI,EAAGA,EAAInG,KAAK44H,OAAOE,GAAOjnH,MAAO1L,IAE1C,GAAInG,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,GAAG4C,QAAUA,EAC5C,CACI,GAAIiH,IAAM4wI,EAEN,OAAO5gJ,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,GAIlC6J,IAOpB,OAAO,MAcX6wI,QAAS,SAAU16I,EAAG+G,EAAG4rH,EAAOgoB,GAM5B,YAJgBv2I,IAAZu2I,IAAyBA,GAAU,GAEvChoB,EAAQ94H,KAAKuyI,SAASzZ,GAElB3yH,GAAK,GAAKA,EAAInG,KAAK44H,OAAOE,GAAOjnH,OAAS3E,GAAK,GAAKA,EAAIlN,KAAK44H,OAAOE,GAAOhnH,QAE9B,IAAzC9R,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,GAAG4C,MAE1B+3I,EAEO9gJ,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,GAI3B,KAKJnG,KAAK44H,OAAOE,GAAOvyF,KAAKr5B,GAAG/G,GAK/B,MAiBf46I,eAAgB,SAAU56I,EAAG+G,EAAGuqD,EAAWC,EAAYohE,EAAOgoB,GAU1D,YARkBv2I,IAAdktD,IAA2BA,EAAYz3D,KAAKy3D,gBAC7BltD,IAAfmtD,IAA4BA,EAAa13D,KAAK03D,YAElDohE,EAAQ94H,KAAKuyI,SAASzZ,GAEtB3yH,EAAInG,KAAKgd,KAAK0E,KAAKw0E,YAAY/vF,EAAGsxD,GAAaA,EAC/CvqD,EAAIlN,KAAKgd,KAAK0E,KAAKw0E,YAAYhpF,EAAGwqD,GAAcA,EAEzC13D,KAAK6gJ,QAAQ16I,EAAG+G,EAAG4rH,EAAOgoB,IAerC70I,KAAM,SAAU9F,EAAG+G,EAAG2E,EAAOC,EAAQgnH,GAEjCA,EAAQ94H,KAAKuyI,SAASzZ,GAEtB,CAAA,GAAK94H,KAAK44H,OAAOE,GAAjB,MAMUvuH,IAANpE,IAAmBA,EAAI,QACjBoE,IAAN2C,IAAmBA,EAAI,QACb3C,IAAVsH,IAAuBA,EAAQ7R,KAAK44H,OAAOE,GAAOjnH,YACvCtH,IAAXuH,IAAwBA,EAAS9R,KAAK44H,OAAOE,GAAOhnH,QAEpD3L,EAAI,IAEJA,EAAI,GAGJ+G,EAAI,IAEJA,EAAI,GAGJ2E,EAAQ7R,KAAK44H,OAAOE,GAAOjnH,QAE3BA,EAAQ7R,KAAK44H,OAAOE,GAAOjnH,OAG3BC,EAAS9R,KAAK44H,OAAOE,GAAOhnH,SAE5BA,EAAS9R,KAAK44H,OAAOE,GAAOhnH,QAGhC9R,KAAKm0I,SAASpsI,OAAS,EAEvB/H,KAAKm0I,SAAS5/H,MAAOpO,EAAGA,EAAG+G,EAAGA,EAAG2E,MAAOA,EAAOC,OAAQA,EAAQgnH,MAAOA,IAEtE,IAAK,IAAIxlH,EAAKpG,EAAGoG,EAAKpG,EAAI4E,EAAQwB,IAE9B,IAAK,IAAID,EAAKlN,EAAGkN,EAAKlN,EAAI0L,EAAOwB,IAE7BrT,KAAKm0I,SAAS5/H,KAAKvU,KAAK44H,OAAOE,GAAOvyF,KAAKjzB,GAAID,IAIvD,OAAOrT,KAAKm0I,SAzCRn0I,KAAKm0I,SAASpsI,OAAS,IAsD/Bi5I,MAAO,SAAU76I,EAAG+G,EAAG+zI,EAAWnoB,GAO9B,QALUvuH,IAANpE,IAAmBA,EAAI,QACjBoE,IAAN2C,IAAmBA,EAAI,GAE3B4rH,EAAQ94H,KAAKuyI,SAASzZ,GAEjBmoB,KAAaA,EAAUl5I,OAAS,GAArC,CASA,IAAK,IAHDq8E,EAAQj+E,EAAI86I,EAAU,GAAG96I,EACzBk+E,EAAQn3E,EAAI+zI,EAAU,GAAG/zI,EAEpBlF,EAAI,EAAGA,EAAIi5I,EAAUl5I,OAAQC,IAElChI,KAAK44H,OAAOE,GAAOvyF,KAAM89C,EAAQ48D,EAAUj5I,GAAGkF,GAAKk3E,EAAQ68D,EAAUj5I,GAAG7B,GAAI8F,KAAKg1I,EAAUj5I,IAGrGhI,KAAK44H,OAAOE,GAAO9uG,OAAQ,EACrBhqB,KAAK0/I,eAAe5mB,KAgBxB3kG,KAAM,SAAU+sH,EAAOC,EAAOh7I,EAAG+G,EAAG2E,EAAOC,EAAQgnH,GAE/CA,EAAQ94H,KAAKuyI,SAASzZ,GAEtB94H,KAAKiM,KAAK9F,EAAG+G,EAAG2E,EAAOC,EAAQgnH,GAE3B94H,KAAKm0I,SAASpsI,OAAS,IAK3B/H,KAAKq9I,OAAS6D,EACdlhJ,KAAKm+D,OAASgjF,EAEdnhJ,KAAKm0I,SAASxsI,QAAQ3H,KAAKohJ,YAAaphJ,MAExCA,KAAKghJ,MAAM76I,EAAG+G,EAAGlN,KAAKm0I,SAAUrb,KAWpCsoB,YAAa,SAAUl3I,GAEfA,EAAMnB,QAAU/I,KAAKq9I,OAGrBnzI,EAAMnB,MAAQ/I,KAAKm+D,OAEdj0D,EAAMnB,QAAU/I,KAAKm+D,SAG1Bj0D,EAAMnB,MAAQ/I,KAAKq9I,SAiB3B11I,QAAS,SAAU8rB,EAAU5M,EAAS1gB,EAAG+G,EAAG2E,EAAOC,EAAQgnH,GAEvDA,EAAQ94H,KAAKuyI,SAASzZ,GAEtB94H,KAAKiM,KAAK9F,EAAG+G,EAAG2E,EAAOC,EAAQgnH,GAE3B94H,KAAKm0I,SAASpsI,OAAS,IAK3B/H,KAAKm0I,SAASxsI,QAAQ8rB,EAAU5M,GAEhC7mB,KAAKghJ,MAAM76I,EAAG+G,EAAGlN,KAAKm0I,SAAUrb,KAgBpCvsH,QAAS,SAAU4B,EAAQE,EAAMlI,EAAG+G,EAAG2E,EAAOC,EAAQgnH,GAMlD,GAJAA,EAAQ94H,KAAKuyI,SAASzZ,GAEtB94H,KAAKiM,KAAK9F,EAAG+G,EAAG2E,EAAOC,EAAQgnH,KAE3B94H,KAAKm0I,SAASpsI,OAAS,GAA3B,CAKA,IAAK,IAAIC,EAAI,EAAGA,EAAIhI,KAAKm0I,SAASpsI,OAAQC,IAElChI,KAAKm0I,SAASnsI,GAAGe,QAAUoF,IAE3BnO,KAAKm0I,SAASnsI,GAAGe,MAAQsF,GAIjCrO,KAAKghJ,MAAM76I,EAAG+G,EAAGlN,KAAKm0I,SAAUrb,KAcpCtuH,OAAQ,SAAUrE,EAAG+G,EAAG2E,EAAOC,EAAQgnH,GAMnC,GAJAA,EAAQ94H,KAAKuyI,SAASzZ,GAEtB94H,KAAKiM,KAAK9F,EAAG+G,EAAG2E,EAAOC,EAAQgnH,KAE3B94H,KAAKm0I,SAASpsI,OAAS,GAA3B,CAOA,IAAK,IAFDq3I,KAEKv3I,EAAI,EAAGA,EAAI7H,KAAKm0I,SAASpsI,OAAQF,IAEtC,GAAI7H,KAAKm0I,SAAStsI,GAAGkB,MACrB,CACI,IAAIy2E,EAAMx/E,KAAKm0I,SAAStsI,GAAGkB,OAEG,IAA1Bq2I,EAAQnsH,QAAQusD,IAEhB4/D,EAAQ7qI,KAAKirE,GAKzB,IAAK,IAAIx3E,EAAI,EAAGA,EAAIhI,KAAKm0I,SAASpsI,OAAQC,IAEtChI,KAAKm0I,SAASnsI,GAAGe,MAAQ/I,KAAKgd,KAAKsE,IAAI+X,KAAK+lH,GAGhDp/I,KAAKghJ,MAAM76I,EAAG+G,EAAGlN,KAAKm0I,SAAUrb,KAcpCj/F,QAAS,SAAU1zB,EAAG+G,EAAG2E,EAAOC,EAAQgnH,GAMpC,GAJAA,EAAQ94H,KAAKuyI,SAASzZ,GAEtB94H,KAAKiM,KAAK9F,EAAG+G,EAAG2E,EAAOC,EAAQgnH,KAE3B94H,KAAKm0I,SAASpsI,OAAS,GAA3B,CAOA,IAAK,IAFDq3I,KAEKv3I,EAAI,EAAGA,EAAI7H,KAAKm0I,SAASpsI,OAAQF,IAElC7H,KAAKm0I,SAAStsI,GAAGkB,OAEjBq2I,EAAQ7qI,KAAKvU,KAAKm0I,SAAStsI,GAAGkB,OAItC1I,EAAO04B,WAAWc,QAAQulH,GAE1B,IAAK,IAAIp3I,EAAI,EAAGA,EAAIhI,KAAKm0I,SAASpsI,OAAQC,IAEtChI,KAAKm0I,SAASnsI,GAAGe,MAAQq2I,EAAQp3I,EAAI,GAGzChI,KAAKghJ,MAAM76I,EAAG+G,EAAGlN,KAAKm0I,SAAUrb,KAepCtyF,KAAM,SAAUz9B,EAAO5C,EAAG+G,EAAG2E,EAAOC,EAAQgnH,GAMxC,GAJAA,EAAQ94H,KAAKuyI,SAASzZ,GAEtB94H,KAAKiM,KAAK9F,EAAG+G,EAAG2E,EAAOC,EAAQgnH,KAE3B94H,KAAKm0I,SAASpsI,OAAS,GAA3B,CAKA,IAAK,IAAIC,EAAI,EAAGA,EAAIhI,KAAKm0I,SAASpsI,OAAQC,IAEtChI,KAAKm0I,SAASnsI,GAAGe,MAAQA,EAG7B/I,KAAKghJ,MAAM76I,EAAG+G,EAAGlN,KAAKm0I,SAAUrb,KASpCuoB,gBAAiB,WAEbrhJ,KAAK44H,OAAO7wH,OAAS,EACrB/H,KAAKm9I,aAAe,GASxBmE,KAAM,WAKF,IAAK,IAHDC,EAAM,GACN16I,GAAQ,IAEHqG,EAAI,EAAGA,EAAIlN,KAAK44H,OAAO54H,KAAKm9I,cAAcrrI,OAAQ5E,IAC3D,CACI,IAAK,IAAI/G,EAAI,EAAGA,EAAInG,KAAK44H,OAAO54H,KAAKm9I,cAActrI,MAAO1L,IAEtDo7I,GAAO,OAEHvhJ,KAAK44H,OAAO54H,KAAKm9I,cAAc52G,KAAKr5B,GAAG/G,GAAK,EAExCnG,KAAKo9I,SAASp9I,KAAK44H,OAAO54H,KAAKm9I,cAAc52G,KAAKr5B,GAAG/G,IAErDU,EAAK0N,KAAK,eAAiBvU,KAAKo9I,SAASp9I,KAAK44H,OAAO54H,KAAKm9I,cAAc52G,KAAKr5B,GAAG/G,KAIhFU,EAAK0N,KAAK,uBAKd1N,EAAK0N,KAAK,4BAIlBgtI,GAAO,KAGX16I,EAAK,GAAK06I,EACVj5I,QAAQC,IAAIpB,MAAMmB,QAASzB,IAU/Byf,QAAS,WAELtmB,KAAKqhJ,kBACLrhJ,KAAKumC,QACLvmC,KAAKgd,KAAO,OAMpB3c,EAAO0yD,QAAQxsD,UAAU8B,YAAchI,EAAO0yD,QAM9CtrD,OAAOmF,eAAevM,EAAO0yD,QAAQxsD,UAAW,SAE5CmG,IAAK,WAED,OAAO1M,KAAK44H,OAAO54H,KAAKm9I,eAI5BxwI,IAAK,SAAUzC,GAEPA,IAAUlK,KAAKm9I,cAEfn9I,KAAKqgJ,SAASn2I,MA6B1B7J,EAAO2yD,aAAe,SAAUh2C,EAAMw6C,EAASzuD,EAAO8I,EAAOC,GAEzDD,GAAS,EACTC,GAAU,EAEVzR,EAAO2wB,OAAOhqB,KAAKhH,KAAMgd,EAAM,EAAG,GAQlChd,KAAKgyI,IAAMx6E,EAQXx3D,KAAK+I,MAAQA,EAQb/I,KAAK84H,MAAQthE,EAAQohE,OAAO7vH,GAO5B/I,KAAK+tB,OAAS1tB,EAAO6jC,WAAWjhB,OAAOjjB,KAAM6R,EAAOC,GAOpD9R,KAAK6mB,QAAU7mB,KAAK+tB,OAAOoW,WAAW,MAEtCnkC,KAAKwyD,WAAW,IAAIzsD,KAAKktD,QAAQ,IAAIltD,KAAKm3D,YAAYl9D,KAAK+tB,OAAQ,KAAM/tB,KAAKgd,KAAKoN,cASnFpqB,KAAKoI,KAAO/H,EAAOuB,aAMnB5B,KAAK2wB,YAActwB,EAAOuB,aAe1B5B,KAAKwhJ,gBACDC,mBAAmB,EACnBC,cAAe,GACfC,WAAY,MAShB3hJ,KAAKqmB,OAAQ,EAKbrmB,KAAKitB,QAAS,EAkBdjtB,KAAK4hJ,eAEDC,iBAAkB,mBAClBC,qBAAsB,oBAEtBC,iBAAiB,EAEjBC,WAAY,GACZC,iBAAkB,kBAClBC,sBAAuB,qBAU3BliJ,KAAKmiJ,cAAgB,EAQrBniJ,KAAKoiJ,cAAgB,EAOrBpiJ,KAAKgqB,OAAQ,EAObhqB,KAAKqiJ,YAAc,EAOnBriJ,KAAKsiJ,OAAQ,EAObtiJ,KAAKuiJ,KAGDzuB,QAAS,EACTF,QAAS,EACT4uB,YAAa,EACbC,aAAc,EAEdhrF,UAAWD,EAAQC,UACnBC,WAAYF,EAAQE,WAKpBhK,GAAI8J,EAAQC,UACZ9J,GAAI6J,EAAQE,WAGZqlF,aASJ/8I,KAAK0iJ,SAAW,EAOhB1iJ,KAAK2iJ,SAAW,EAMhB3iJ,KAAK4iJ,WAAa,IAAIviJ,EAAOoN,MAAMzN,KAAK84H,MAAMl/E,SAAW,EAAG55C,KAAK84H,MAAMj/E,SAAW,GAOlF75C,KAAKm0I,YAEAn3H,EAAKsS,OAAOy7D,oBAEb/qF,KAAKwhJ,eAAeG,WAAathJ,EAAO2yD,aAAa6vF,0BAGzD7iJ,KAAK4xB,eAAgB,GAIzBvxB,EAAO2yD,aAAazsD,UAAYkB,OAAOwb,OAAO5iB,EAAO2wB,OAAOzqB,WAC5DlG,EAAO2yD,aAAazsD,UAAU8B,YAAchI,EAAO2yD,aAEnD3yD,EAAO2yD,aAAazsD,UAAUgyD,cAAgBl4D,EAAOwqD,UAAUkB,KAAKtsC,UAQpEpf,EAAO2yD,aAAa8vF,iBAAmB,KAWvCziJ,EAAO2yD,aAAa6vF,uBAAyB,WAOzC,OALK7iJ,KAAK8iJ,mBAEN9iJ,KAAK8iJ,iBAAmBziJ,EAAO6jC,WAAWjhB,OAAOjjB,KAAM,EAAG,IAGvDA,KAAK8iJ,kBAShBziJ,EAAO2yD,aAAazsD,UAAUkZ,UAAY,WAEtC,OAAOzf,KAAKu4D,iBAUhBl4D,EAAO2yD,aAAazsD,UAAUsmB,WAAa,WAEnC7sB,KAAK4xB,gBAEL5xB,KAAK8b,SAAS3V,GAAKnG,KAAKgd,KAAKqC,OAAOnC,KAAK/W,EAAInG,KAAK6xB,aAAa1rB,GAAKnG,KAAKgd,KAAKqC,OAAOrI,MAAM7Q,EAC3FnG,KAAK8b,SAAS5O,GAAKlN,KAAKgd,KAAKqC,OAAOnC,KAAKhQ,EAAIlN,KAAK6xB,aAAa3kB,GAAKlN,KAAKgd,KAAKqC,OAAOrI,MAAM9J,GAG/FlN,KAAK0iJ,UAAY1iJ,KAAKgd,KAAKqC,OAAOnC,KAAK/W,EAAInG,KAAK4iJ,WAAWz8I,GAAKnG,KAAKmiJ,cAAgBniJ,KAAKgX,MAAM7Q,EAChGnG,KAAK2iJ,UAAY3iJ,KAAKgd,KAAKqC,OAAOnC,KAAKhQ,EAAIlN,KAAK4iJ,WAAW11I,GAAKlN,KAAKoiJ,cAAgBpiJ,KAAKgX,MAAM9J,GAWpG7M,EAAO2yD,aAAazsD,UAAU01D,cAAgB,SAAUR,GAEhDz7D,KAAK4xB,gBAEL5xB,KAAK8b,SAAS3V,GAAKnG,KAAKgd,KAAKqC,OAAOnC,KAAK/W,EAAInG,KAAK6xB,aAAa1rB,GAAKnG,KAAKgd,KAAKqC,OAAOrI,MAAM7Q,EAC3FnG,KAAK8b,SAAS5O,GAAKlN,KAAKgd,KAAKqC,OAAOnC,KAAKhQ,EAAIlN,KAAK6xB,aAAa3kB,GAAKlN,KAAKgd,KAAKqC,OAAOrI,MAAM9J,GAG/FlN,KAAK0iJ,UAAY1iJ,KAAKgd,KAAKqC,OAAOnC,KAAK/W,EAAInG,KAAK4iJ,WAAWz8I,GAAKnG,KAAKmiJ,cAAgBniJ,KAAKgX,MAAM7Q,EAChGnG,KAAK2iJ,UAAY3iJ,KAAKgd,KAAKqC,OAAOnC,KAAKhQ,EAAIlN,KAAK4iJ,WAAW11I,GAAKlN,KAAKoiJ,cAAgBpiJ,KAAKgX,MAAM9J,EAEhGlN,KAAKmjB,SAELpd,KAAKirB,OAAOzqB,UAAU01D,cAAcj1D,KAAKhH,KAAMy7D,IAWnDp7D,EAAO2yD,aAAazsD,UAAUi1D,aAAe,SAAUC,GAE/Cz7D,KAAK4xB,gBAEL5xB,KAAK8b,SAAS3V,GAAKnG,KAAKgd,KAAKqC,OAAOnC,KAAK/W,EAAInG,KAAK6xB,aAAa1rB,GAAKnG,KAAKgd,KAAKqC,OAAOrI,MAAM7Q,EAC3FnG,KAAK8b,SAAS5O,GAAKlN,KAAKgd,KAAKqC,OAAOnC,KAAKhQ,EAAIlN,KAAK6xB,aAAa3kB,GAAKlN,KAAKgd,KAAKqC,OAAOrI,MAAM9J,GAG/FlN,KAAK0iJ,UAAY1iJ,KAAKgd,KAAKqC,OAAOnC,KAAK/W,EAAInG,KAAK4iJ,WAAWz8I,GAAKnG,KAAKmiJ,cAAgBniJ,KAAKgX,MAAM7Q,EAChGnG,KAAK2iJ,UAAY3iJ,KAAKgd,KAAKqC,OAAOnC,KAAKhQ,EAAIlN,KAAK4iJ,WAAW11I,GAAKlN,KAAKoiJ,cAAgBpiJ,KAAKgX,MAAM9J,EAEhGlN,KAAKmjB,SAELpd,KAAKirB,OAAOzqB,UAAUi1D,aAAax0D,KAAKhH,KAAMy7D,IASlDp7D,EAAO2yD,aAAazsD,UAAU+f,QAAU,WAEpCjmB,EAAO6jC,WAAW5e,OAAOtlB,MAEzBK,EAAOwqD,UAAUmD,QAAQznD,UAAU+f,QAAQtf,KAAKhH,OAiBpDK,EAAO2yD,aAAazsD,UAAU8U,OAAS,SAAUxJ,EAAOC,GAEpD9R,KAAK+tB,OAAOlc,MAAQA,EACpB7R,KAAK+tB,OAAOjc,OAASA,EAErB9R,KAAKomC,QAAQ9S,MAAMjY,OAAOxJ,EAAOC,GAEjC9R,KAAKomC,QAAQv0B,MAAQA,EACrB7R,KAAKomC,QAAQt0B,OAASA,EAEtB9R,KAAKomC,QAAQwQ,KAAK/kC,MAAQA,EAC1B7R,KAAKomC,QAAQwQ,KAAK9kC,OAASA,EAE3B9R,KAAKomC,QAAQC,YAAYx0B,MAAQA,EACjC7R,KAAKomC,QAAQC,YAAYv0B,OAASA,EAElC9R,KAAKomC,QAAQC,YAAYrc,QACzBhqB,KAAKomC,QAAQ28G,gBAAiB,EAE9B/iJ,KAAKomC,QAAQwnB,aAEb5tD,KAAKgqB,OAAQ,GAUjB3pB,EAAO2yD,aAAazsD,UAAUy8I,YAAc,WAExChjJ,KAAKgd,KAAKC,MAAMqd,UAAU,EAAG,EAAGt6B,KAAK84H,MAAM+jB,cAAgB78I,KAAKgX,MAAM7Q,EAAGnG,KAAK84H,MAAMgkB,eAAiB98I,KAAKgX,MAAM9J,IAWpH7M,EAAO2yD,aAAazsD,UAAUshI,eAAiB,WAE3C,OAAO7nI,KAAK4iJ,WAAWz8I,IAAQnG,KAAK4xB,cAAmC,EAAlB5xB,KAAK8b,SAAS3V,IAWvE9F,EAAO2yD,aAAazsD,UAAUuhI,eAAiB,WAE3C,OAAO9nI,KAAK4iJ,WAAW11I,IAAQlN,KAAK4xB,cAAmC,EAAlB5xB,KAAK8b,SAAS5O,IAYvE7M,EAAO2yD,aAAazsD,UAAU08I,MAAQ,SAAU98I,GAE5C,OAA2B,IAAvBnG,KAAKmiJ,eAA+C,IAAvBniJ,KAAKmiJ,eAA2C,IAApBniJ,KAAK8b,SAAS3V,EAEhEA,EAIgB,IAAvBnG,KAAKmiJ,eAA2C,IAApBniJ,KAAK8b,SAAS3V,EAEnCA,EAAInG,KAAK8b,SAAS3V,EAGtBnG,KAAK0iJ,UAAYv8I,EAAKnG,KAAK0iJ,SAAW1iJ,KAAKmiJ,gBAYtD9hJ,EAAO2yD,aAAazsD,UAAU28I,QAAU,SAAU/8I,GAE9C,OAA2B,IAAvBnG,KAAKmiJ,cAEEh8I,EAGHnG,KAAK0iJ,SAAW1iJ,KAAKmiJ,eAAkBh8I,EAAInG,KAAK0iJ,WAY5DriJ,EAAO2yD,aAAazsD,UAAU48I,MAAQ,SAAUj2I,GAE5C,OAA2B,IAAvBlN,KAAKoiJ,eAA+C,IAAvBpiJ,KAAKoiJ,eAA2C,IAApBpiJ,KAAK8b,SAAS5O,EAEhEA,EAIgB,IAAvBlN,KAAKoiJ,eAA2C,IAApBpiJ,KAAK8b,SAAS5O,EAEnCA,EAAIlN,KAAK8b,SAAS5O,EAGtBlN,KAAK2iJ,UAAYz1I,EAAKlN,KAAK2iJ,SAAW3iJ,KAAKoiJ,gBAYtD/hJ,EAAO2yD,aAAazsD,UAAU68I,QAAU,SAAUl2I,GAE9C,OAA2B,IAAvBlN,KAAKoiJ,cAEEl1I,EAGHlN,KAAK2iJ,SAAW3iJ,KAAKoiJ,eAAkBl1I,EAAIlN,KAAK2iJ,WAY5DtiJ,EAAO2yD,aAAazsD,UAAU88I,SAAW,SAAUl9I,GAG/C,OAAOF,KAAKI,MAAMrG,KAAKijJ,MAAM98I,GAAKnG,KAAKuiJ,IAAI9qF,YAY/Cp3D,EAAO2yD,aAAazsD,UAAU+8I,SAAW,SAAUp2I,GAG/C,OAAOjH,KAAKI,MAAMrG,KAAKmjJ,MAAMj2I,GAAKlN,KAAKuiJ,IAAI7qF,aAc/Cr3D,EAAO2yD,aAAazsD,UAAUg9I,UAAY,SAAUp9I,EAAG+G,EAAGqC,GAKtD,OAHAA,EAAMpJ,EAAInG,KAAKqjJ,SAASl9I,GACxBoJ,EAAMrC,EAAIlN,KAAKsjJ,SAASp2I,GAEjBqC,GAeXlP,EAAO2yD,aAAazsD,UAAUi9I,gBAAkB,SAAU1wI,EAAMoB,EAAUw+H,EAAU+Q,GAE3EvvI,IAAYA,EAAWlU,KAAKqiJ,kBAChB93I,IAAbmoI,IAA0BA,GAAW,QACjBnoI,IAApBk5I,IAAiCA,GAAkB,GAGvD,IAAIxG,EAAQj9I,KAAK4nI,SAAS90H,EAAK3M,EAAG2M,EAAK5F,EAAG4F,EAAKjB,MAAOiB,EAAKhB,OAAQ4gI,EAAU+Q,GAE7E,GAAqB,IAAjBxG,EAAMl1I,OAEN,SAOJ,IAAK,IAHDosH,EAASrhH,EAAKmB,kBAAkBC,GAChCC,KAEKnM,EAAI,EAAGA,EAAIi1I,EAAMl1I,OAAQC,IAE9B,IAAK,IAAIH,EAAI,EAAGA,EAAIssH,EAAOpsH,OAAQF,IACnC,CACI,IAAImgI,EAAOiV,EAAMj1I,GACb07I,EAAQvvB,EAAOtsH,GACnB,GAAImgI,EAAKzrH,cAAcmnI,EAAM,GAAIA,EAAM,IACvC,CACIvvI,EAAQI,KAAKyzH,GACb,OAKZ,OAAO7zH,GAiBX9T,EAAO2yD,aAAazsD,UAAUqhI,SAAW,SAAUzhI,EAAG+G,EAAG2E,EAAOC,EAAQ4gI,EAAU+Q,QAG7Dl5I,IAAbmoI,IAA0BA,GAAW,QACjBnoI,IAApBk5I,IAAiCA,GAAkB,GAEvD,IAAIE,IAAajR,GAAY+Q,GAG7Bt9I,EAAInG,KAAKijJ,MAAM98I,GACf+G,EAAIlN,KAAKmjJ,MAAMj2I,GASf,IANA,IAAImG,EAAKpN,KAAKI,MAAMF,GAAKnG,KAAKuiJ,IAAI70F,GAAK1tD,KAAKgX,MAAM7Q,IAC9CmN,EAAKrN,KAAKI,MAAM6G,GAAKlN,KAAKuiJ,IAAI50F,GAAK3tD,KAAKgX,MAAM9J,IAE9Ci8E,EAAKljF,KAAKG,MAAMD,EAAI0L,IAAU7R,KAAKuiJ,IAAI70F,GAAK1tD,KAAKgX,MAAM7Q,IAAMkN,EAC7D+1E,EAAKnjF,KAAKG,MAAM8G,EAAI4E,IAAW9R,KAAKuiJ,IAAI50F,GAAK3tD,KAAKgX,MAAM9J,IAAMoG,EAE3DtT,KAAKm0I,SAASpsI,QAEjB/H,KAAKm0I,SAASjnE,MAGlB,IAAK,IAAI02E,EAAKtwI,EAAIswI,EAAKtwI,EAAK81E,EAAIw6D,IAE5B,IAAK,IAAIC,EAAKxwI,EAAIwwI,EAAKxwI,EAAK81E,EAAI06D,IAChC,CACI,IAAInsB,EAAM13H,KAAK84H,MAAMvyF,KAAKq9G,GAEtBlsB,GAAOA,EAAImsB,KAEPF,GAAYjsB,EAAImsB,GAAIpH,cAAc/J,EAAU+Q,KAE5CzjJ,KAAKm0I,SAAS5/H,KAAKmjH,EAAImsB,IAMvC,OAAO7jJ,KAAKm0I,SAAS1tI,SAazBpG,EAAO2yD,aAAazsD,UAAUu9I,eAAiB,SAAUC,GAErD,IAAIhH,EAAW/8I,KAAKuiJ,IAAIxF,SAGxB,GAAIgH,EAAY,IAEZ,KAAOhH,EAASh1I,OAASg8I,GAErBhH,EAASxoI,UAAKhK,GAItB,IAAIy5I,EAAWhkJ,KAAKgyI,IAAIiL,MAAM8G,IAAc/jJ,KAAKgyI,IAAIiL,MAAM8G,GAAW,GAEtE,GAAiB,OAAbC,EACJ,CACI,IAAInG,EAAU79I,KAAKgyI,IAAI+K,SAASiH,GAEhC,GAAInG,GAAWA,EAAQoG,kBAAkBF,GAErC,OAAQhH,EAASgH,GAAalG,EAItC,OAAQd,EAASgH,GAAa,MAYlC1jJ,EAAO2yD,aAAazsD,UAAU29I,kBAAoB,WAI9C,IAFA,IAAInH,EAAW/8I,KAAKuiJ,IAAIxF,SAEjBA,EAASh1I,QAEZg1I,EAAS7vE,OAYjB7sE,EAAO2yD,aAAazsD,UAAU49I,SAAW,SAAUC,EAAQC,GAEvDD,EAASA,GAAU,EACnBC,EAASA,GAAUD,EAEnB,IAAK,IAAIl3I,EAAI,EAAGA,EAAIlN,KAAK84H,MAAMvyF,KAAKx+B,OAAQmF,IAIxC,IAAK,IAFDwqH,EAAM13H,KAAK84H,MAAMvyF,KAAKr5B,GAEjB/G,EAAI,EAAGA,EAAIuxH,EAAI3vH,OAAQ5B,IAChC,CACI,IAAI6hI,EAAOtQ,EAAIvxH,GAEf6hI,EAAKn2H,MAAQ7R,KAAKgyI,IAAIv6E,UAAY2sF,EAClCpc,EAAKl2H,OAAS9R,KAAKgyI,IAAIt6E,WAAa2sF,EAEpCrc,EAAKzW,OAASyW,EAAK7hI,EAAI6hI,EAAKn2H,MAC5Bm2H,EAAKxW,OAASwW,EAAK96H,EAAI86H,EAAKl2H,OAIpC9R,KAAKgX,MAAM/I,MAAMm2I,EAAQC,IAe7BhkJ,EAAO2yD,aAAazsD,UAAU+9I,YAAc,SAAUz9H,EAAS1gB,EAAG+G,GAE9D,IAAI6gB,EAASlH,EAAQkH,OACjBw2H,EAAQx2H,EAAOlc,MAAQ5L,KAAKiK,IAAI/J,GAChCq+I,EAAQz2H,EAAOjc,OAAS7L,KAAKiK,IAAIhD,GAGjCkC,EAAK,EACLC,EAAK,EACL+E,EAAKjO,EACLkO,EAAKnH,EAEL/G,EAAI,IAEJiJ,GAAMjJ,EACNiO,EAAK,GAGLlH,EAAI,IAEJmC,GAAMnC,EACNmH,EAAK,GAGT,IAAIstI,EAAa3hJ,KAAKwhJ,eAAeG,WAErC,GAAIA,EACJ,EAGQA,EAAW9vI,MAAQ0yI,GAAS5C,EAAW7vI,OAAS0yI,KAEhD7C,EAAW9vI,MAAQ0yI,EACnB5C,EAAW7vI,OAAS0yI,GAGxB,IAAIC,EAAc9C,EAAWx9G,WAAW,MACxCsgH,EAAY1tG,UAAU,EAAG,EAAGwtG,EAAOC,GACnCC,EAAYztG,UAAUjpB,EAAQ3e,EAAIC,EAAIk1I,EAAOC,EAAO,EAAG,EAAGD,EAAOC,GAEjE39H,EAAQkwB,UAAU3iC,EAAIC,EAAIkwI,EAAOC,GACjC39H,EAAQmwB,UAAU2qG,EAAY,EAAG,EAAG4C,EAAOC,EAAOpwI,EAAIC,EAAIkwI,EAAOC,QAMjE39H,EAAQC,OACRD,EAAQ4+C,yBAA2B,OACnC5+C,EAAQmwB,UAAUjpB,EAAQ3e,EAAIC,EAAIk1I,EAAOC,EAAOpwI,EAAIC,EAAIkwI,EAAOC,GAC/D39H,EAAQG,WAkBhB3mB,EAAO2yD,aAAazsD,UAAUm+I,aAAe,SAAU5wB,EAASF,EAASloH,EAAM+D,EAAKhE,EAAOiE,GAEvF,IAAImX,EAAU7mB,KAAK6mB,QAEfhV,EAAQ7R,KAAK84H,MAAMjnH,MACnBC,EAAS9R,KAAK84H,MAAMhnH,OACpBq3E,EAAKnpF,KAAKuiJ,IAAI9qF,UACd2xB,EAAKppF,KAAKuiJ,IAAI7qF,WAEdqlF,EAAW/8I,KAAKuiJ,IAAIxF,SACpB4H,EAAY7uB,IAEX91H,KAAKsiJ,QAEF52I,GAAQD,IAERC,EAAOzF,KAAK6N,IAAI,EAAGpI,GACnBD,EAAQxF,KAAK2N,IAAI/B,EAAQ,EAAGpG,IAE5BgE,GAAOC,IAEPD,EAAMxJ,KAAK6N,IAAI,EAAGrE,GAClBC,EAASzJ,KAAK2N,IAAI9B,EAAS,EAAGpC,KAKtC,IAUI2D,EAAIC,EAAInN,EAAG+G,EAAG03I,EAAMC,EAVpBC,EAASp5I,EAAOy9E,EAAM2qC,EAItBixB,GAAcr5I,GAAS,GAAK,IAAMmG,GAAUA,EAQhD,IAAK3E,GAPauC,GAAQ,GAAK,IAAMqC,GAAWA,EAO3B+yI,EAAOn1I,EAASD,EAAK6D,EAX7B7D,EAAM25E,EAAMwqC,EAW6BixB,GAAQ,EAAG33I,IAAK23I,IAAQvxI,GAAM81E,EACpF,CACQl8E,GAAK4E,IAEL5E,GAAK4E,GAGT,IAAI4lH,EAAM13H,KAAK84H,MAAMvyF,KAAKr5B,GAE1B,IAAK/G,EAAI4+I,EAAYH,EAAOn5I,EAAQC,EAAM2H,EAAKyxI,EAAOF,GAAQ,EAAGz+I,IAAKy+I,IAAQvxI,GAAM81E,EACpF,CACQhjF,GAAK0L,IAEL1L,GAAK0L,GAGT,IAAIm2H,EAAOtQ,EAAIvxH,GAEf,GAAK6hI,KAAQA,EAAKj/H,MAAQ,GAA1B,CAKA,IAAIA,EAAQi/H,EAAKj/H,MAEb4D,EAAMowI,EAASh0I,QAEPwB,IAARoC,IAEAA,EAAM3M,KAAK8jJ,eAAe/6I,IAI1Bi/H,EAAKvnH,QAAUkkI,GAAc3kJ,KAAKqmB,QAElCQ,EAAQq1C,YAAc8rE,EAAKvnH,MAC3BkkI,EAAY3c,EAAKvnH,OAGjB9T,EAEIq7H,EAAKhuG,UAAYguG,EAAKoU,SAEtBv1H,EAAQC,OACRD,EAAQ9P,UAAU1D,EAAK20H,EAAKv1H,QAASa,EAAK00H,EAAKt1H,SAC/CmU,EAAQjU,OAAOo1H,EAAKhuG,UAEhBguG,EAAKoU,SAELv1H,EAAQ7P,OAAO,EAAG,GAGtBrK,EAAI6xD,KAAK33C,GAAUmhH,EAAKv1H,SAAUu1H,EAAKt1H,QAAS3J,GAChD8d,EAAQG,WAIRra,EAAI6xD,KAAK33C,EAASxT,EAAIC,EAAIvK,GAGzB/I,KAAK4hJ,cAAcC,mBAExBh7H,EAAQ43C,UAAYz+D,KAAK4hJ,cAAcC,iBACvCh7H,EAAQ63C,SAASrrD,EAAIC,EAAI61E,EAAIC,IAG7B4+C,EAAK3hH,OAASrmB,KAAK4hJ,cAAcE,uBAEjCj7H,EAAQ43C,UAAYz+D,KAAK4hJ,cAAcE,qBACvCj7H,EAAQ63C,SAASrrD,EAAIC,EAAI61E,EAAIC,QAe7C/oF,EAAO2yD,aAAazsD,UAAUy+I,kBAAoB,SAAUC,EAAQC,GAEhE,IAAIpxB,EAAU9zH,KAAKuiJ,IAAIzuB,QACnBF,EAAU5zH,KAAKuiJ,IAAI3uB,QAEnBuxB,EAAUnlJ,KAAK+tB,OAAOlc,MACtBuzI,EAAUplJ,KAAK+tB,OAAOjc,OAEtBq3E,EAAKnpF,KAAKuiJ,IAAI9qF,UACd2xB,EAAKppF,KAAKuiJ,IAAI7qF,WAKdhsD,EAAO,EACPD,GAAS09E,EACT15E,EAAM,EACNC,GAAU05E,EAgCd,GA9BI67D,EAAS,GAETv5I,EAAOy5I,EAAUF,EACjBx5I,EAAQ05I,EAAU,GAEbF,EAAS,IAGdx5I,EAAQw5I,GAGRC,EAAS,GAETz1I,EAAM21I,EAAUF,EAChBx1I,EAAS01I,EAAU,GAEdF,EAAS,IAGdx1I,EAASw1I,GAGbllJ,KAAKskJ,YAAYtkJ,KAAK6mB,QAASo+H,EAAQC,GAGvCx5I,EAAOzF,KAAKI,OAAOqF,EAAOooH,GAAW3qC,GACrC19E,EAAQxF,KAAKI,OAAOoF,EAAQqoH,GAAW3qC,GACvC15E,EAAMxJ,KAAKI,OAAOoJ,EAAMmkH,GAAWxqC,GACnC15E,EAASzJ,KAAKI,OAAOqJ,EAASkkH,GAAWxqC,GAErC19E,GAAQD,EACZ,CAEIzL,KAAK6mB,QAAQkwB,UAAYrrC,EAAOy9E,EAAM2qC,EAAU,GAAIroH,EAAQC,EAAO,GAAKy9E,EAAIi8D,GAE5E,IAAIC,EAAUp/I,KAAKI,OAAO,EAAIutH,GAAWxqC,GACrCk8D,EAAar/I,KAAKI,OAAO++I,EAAU,EAAIxxB,GAAWxqC,GACtDppF,KAAK0kJ,aAAa5wB,EAASF,EAASloH,EAAM25I,EAAS55I,EAAO65I,GAG9D,GAAI71I,GAAOC,EACX,CAEI1P,KAAK6mB,QAAQkwB,UAAU,EAAKtnC,EAAM25E,EAAMwqC,EAAUuxB,GAAUz1I,EAASD,EAAM,GAAK25E,GAEhF,IAAIm8D,EAAWt/I,KAAKI,OAAO,EAAIytH,GAAW3qC,GACtCq8D,EAAYv/I,KAAKI,OAAO8+I,EAAU,EAAIrxB,GAAW3qC,GACrDnpF,KAAK0kJ,aAAa5wB,EAASF,EAAS2xB,EAAU91I,EAAK+1I,EAAW91I,KAWtErP,EAAO2yD,aAAazsD,UAAUk/I,WAAa,WAEvC,IAAI3xB,EAAU9zH,KAAKuiJ,IAAIzuB,QACnBF,EAAU5zH,KAAKuiJ,IAAI3uB,QAEnBuxB,EAAUnlJ,KAAK+tB,OAAOlc,MACtBuzI,EAAUplJ,KAAK+tB,OAAOjc,OAEtBq3E,EAAKnpF,KAAKuiJ,IAAI9qF,UACd2xB,EAAKppF,KAAKuiJ,IAAI7qF,WAEdhsD,EAAOzF,KAAKI,MAAMytH,EAAU3qC,GAC5B19E,EAAQxF,KAAKI,OAAO8+I,EAAU,EAAIrxB,GAAW3qC,GAC7C15E,EAAMxJ,KAAKI,MAAMutH,EAAUxqC,GAC3B15E,EAASzJ,KAAKI,OAAO++I,EAAU,EAAIxxB,GAAWxqC,GAElDppF,KAAK6mB,QAAQkwB,UAAU,EAAG,EAAGouG,EAASC,GAEtCplJ,KAAK0kJ,aAAa5wB,EAASF,EAASloH,EAAM+D,EAAKhE,EAAOiE,IAU1DrP,EAAO2yD,aAAazsD,UAAU4c,OAAS,WAEnC,IAAIuiI,GAAY,EAEhB,GAAK1lJ,KAAKqd,QAAV,EAKIrd,KAAKgqB,OAAShqB,KAAK84H,MAAM9uG,SAEzBhqB,KAAK84H,MAAM9uG,OAAQ,EACnB07H,GAAY,GAGhB,IAAIlD,EAAcxiJ,KAAK+tB,OAAOlc,MAC1B4wI,EAAeziJ,KAAK+tB,OAAOjc,OAG3BgiH,EAA0B,EAAhB9zH,KAAK0iJ,SACf9uB,EAA0B,EAAhB5zH,KAAK2iJ,SAEfgD,EAAK3lJ,KAAKuiJ,IACV0C,EAASU,EAAG7xB,QAAUA,EACtBoxB,EAASS,EAAG/xB,QAAUA,EAE1B,GAAK8xB,GACU,IAAXT,GAA2B,IAAXC,GAChBS,EAAGnD,cAAgBA,GAAemD,EAAGlD,eAAiBA,EAoD1D,OA9CAziJ,KAAK6mB,QAAQC,OAEb6+H,EAAG7xB,QAAUA,EACb6xB,EAAG/xB,QAAUA,EAET+xB,EAAGnD,cAAgBA,GAAemD,EAAGlD,eAAiBA,IAGtDkD,EAAGnD,YAAcA,EACjBmD,EAAGlD,aAAeA,GAGlBziJ,KAAKqmB,QAELrmB,KAAK6mB,QAAQq1C,YAAcl8D,KAAK4hJ,cAAcI,WAE1ChiJ,KAAK4hJ,cAAcG,kBAEnB2D,GAAY,KAIfA,GACD1lJ,KAAKwhJ,eAAeC,mBACnBx7I,KAAKiK,IAAI+0I,GAAUh/I,KAAKiK,IAAIg1I,GAAWj/I,KAAK2N,IAAI4uI,EAAaC,GAE9DziJ,KAAKglJ,kBAAkBC,EAAQC,GAK/BllJ,KAAKylJ,aAGLzlJ,KAAKqmB,QAELrmB,KAAK6mB,QAAQq1C,YAAc,EAC3Bl8D,KAAK4lJ,eAGT5lJ,KAAKomC,QAAQC,YAAYrc,QAEzBhqB,KAAKgqB,OAAQ,EAEbhqB,KAAK6mB,QAAQG,WAEN,IAYX3mB,EAAO2yD,aAAazsD,UAAUq/I,YAAc,WAExC,IAuBIvyI,EAAIC,EAAInN,EAAG+G,EAAG03I,EAAMC,EAvBpB/wB,EAAU9zH,KAAKuiJ,IAAIzuB,QACnBF,EAAU5zH,KAAKuiJ,IAAI3uB,QAEnB/sG,EAAU7mB,KAAK6mB,QACfs+H,EAAUnlJ,KAAK+tB,OAAOlc,MACtBuzI,EAAUplJ,KAAK+tB,OAAOjc,OAEtBD,EAAQ7R,KAAK84H,MAAMjnH,MACnBC,EAAS9R,KAAK84H,MAAMhnH,OACpBq3E,EAAKnpF,KAAKuiJ,IAAI9qF,UACd2xB,EAAKppF,KAAKuiJ,IAAI7qF,WAEdhsD,EAAOzF,KAAKI,MAAMytH,EAAU3qC,GAC5B19E,EAAQxF,KAAKI,OAAO8+I,EAAU,EAAIrxB,GAAW3qC,GAC7C15E,EAAMxJ,KAAKI,MAAMutH,EAAUxqC,GAC3B15E,EAASzJ,KAAKI,OAAO++I,EAAU,EAAIxxB,GAAWxqC,GAE9C07D,EAASp5I,EAAOy9E,EAAM2qC,EACtB+xB,EAASp2I,EAAM25E,EAAMwqC,EAErBmxB,GAAcr5I,GAAS,GAAK,IAAMmG,GAAUA,EAC5Ci0I,GAAcr2I,GAAQ,GAAK,IAAMqC,GAAWA,EAMhD,IAFA+U,EAAQ48C,YAAczjE,KAAK4hJ,cAAcK,iBAEpC/0I,EAAI44I,EAAYjB,EAAOn1I,EAASD,EAAK6D,EAAKuyI,EAAOhB,GAAQ,EAAG33I,IAAK23I,IAAQvxI,GAAM81E,EACpF,CACQl8E,GAAK4E,IAEL5E,GAAK4E,GAGT,IAAI4lH,EAAM13H,KAAK84H,MAAMvyF,KAAKr5B,GAE1B,IAAK/G,EAAI4+I,EAAYH,EAAOn5I,EAAQC,EAAM2H,EAAKyxI,EAAOF,GAAQ,EAAGz+I,IAAKy+I,IAAQvxI,GAAM81E,EACpF,CACQhjF,GAAK0L,IAEL1L,GAAK0L,GAGT,IAAIm2H,EAAOtQ,EAAIvxH,IACV6hI,GAAQA,EAAKj/H,MAAQ,IAAMi/H,EAAK0K,WAKjC1yI,KAAK4hJ,cAAcM,wBAEnBr7H,EAAQ43C,UAAYz+D,KAAK4hJ,cAAcM,sBACvCr7H,EAAQ63C,SAASrrD,EAAIC,EAAItT,KAAKuiJ,IAAI70F,GAAI1tD,KAAKuiJ,IAAI50F,KAG/C3tD,KAAK4hJ,cAAcK,mBAEnBp7H,EAAQs8C,YAEJ6kE,EAAKO,UAEL1hH,EAAQy8C,OAAOjwD,EAAIC,GACnBuT,EAAQ08C,OAAOlwD,EAAKrT,KAAKuiJ,IAAI70F,GAAIp6C,IAGjC00H,EAAKQ,aAEL3hH,EAAQy8C,OAAOjwD,EAAIC,EAAKtT,KAAKuiJ,IAAI50F,IACjC9mC,EAAQ08C,OAAOlwD,EAAKrT,KAAKuiJ,IAAI70F,GAAIp6C,EAAKtT,KAAKuiJ,IAAI50F,KAG/Cq6E,EAAKK,WAELxhH,EAAQy8C,OAAOjwD,EAAIC,GACnBuT,EAAQ08C,OAAOlwD,EAAIC,EAAKtT,KAAKuiJ,IAAI50F,KAGjCq6E,EAAKM,YAELzhH,EAAQy8C,OAAOjwD,EAAKrT,KAAKuiJ,IAAI70F,GAAIp6C,GACjCuT,EAAQ08C,OAAOlwD,EAAKrT,KAAKuiJ,IAAI70F,GAAIp6C,EAAKtT,KAAKuiJ,IAAI50F,KAGnD9mC,EAAQw8C,YAERx8C,EAAQ68C,cAiBxBj8D,OAAOmF,eAAevM,EAAO2yD,aAAazsD,UAAW,QAEjDmG,IAAK,WACD,OAAO1M,KAAKsiJ,OAGhB31I,IAAK,SAAUzC,GACXlK,KAAKsiJ,MAAQp4I,EACblK,KAAKgqB,OAAQ,KAYrBviB,OAAOmF,eAAevM,EAAO2yD,aAAazsD,UAAW,WAEjDmG,IAAK,WACD,OAAO1M,KAAK0iJ,UAGhB/1I,IAAK,SAAUzC,GACXlK,KAAK0iJ,SAAWx4I,KAYxBzC,OAAOmF,eAAevM,EAAO2yD,aAAazsD,UAAW,WAEjDmG,IAAK,WACD,OAAO1M,KAAK2iJ,UAGhBh2I,IAAK,SAAUzC,GACXlK,KAAK2iJ,SAAWz4I,KAYxBzC,OAAOmF,eAAevM,EAAO2yD,aAAazsD,UAAW,kBAEjDmG,IAAK,WACD,OAAO1M,KAAKuiJ,IAAI70F,IAGpB/gD,IAAK,SAAUzC,GACXlK,KAAKuiJ,IAAI70F,GAAa,EAARxjD,EACdlK,KAAKgqB,OAAQ,KAYrBviB,OAAOmF,eAAevM,EAAO2yD,aAAazsD,UAAW,mBAEjDmG,IAAK,WACD,OAAO1M,KAAKuiJ,IAAI50F,IAGpBhhD,IAAK,SAAUzC,GACXlK,KAAKuiJ,IAAI50F,GAAa,EAARzjD,EACdlK,KAAKgqB,OAAQ,KAiBrB3pB,EAAOs8I,eAaHoJ,aAAa,EAcbpsI,MAAO,SAAUqD,EAAMnT,EAAK4tD,EAAWC,EAAY7lD,EAAOC,GAOtD,QALkBvH,IAAdktD,IAA2BA,EAAY,SACxBltD,IAAfmtD,IAA4BA,EAAa,SAC/BntD,IAAVsH,IAAuBA,EAAQ,SACpBtH,IAAXuH,IAAwBA,EAAS,SAEzBvH,IAARV,EAEA,OAAO7J,KAAKgmJ,eAGhB,GAAY,OAARn8I,EAEA,OAAO7J,KAAKgmJ,aAAavuF,EAAWC,EAAY7lD,EAAOC,GAG3D,IAAIkgI,EAAMh1H,EAAKqF,MAAM2vF,eAAenoG,GAEpC,GAAImoI,EACJ,CACI,GAAIA,EAAI3jC,SAAWhuG,EAAO0yD,QAAQykD,IAE9B,OAAOx3G,KAAKimJ,SAASp8I,EAAKmoI,EAAIzrG,KAAMkxB,EAAWC,GAE9C,IAAKs6E,EAAI3jC,QAAU2jC,EAAI3jC,SAAWhuG,EAAO0yD,QAAQ0kD,WAElD,OAAOz3G,KAAKkmJ,eAAelU,EAAIzrG,WAKnCj+B,QAAQG,KAAK,0DAA4DoB,IAejFo8I,SAAU,SAAUp8I,EAAK08B,EAAMkxB,EAAWC,GAYtC,IAAK,IAVDs6E,EAAMhyI,KAAKgmJ,eAKXx3I,KACA+vI,GAHJh4G,EAAOA,EAAKoQ,QAGIttC,MAAM,MAClByI,EAASysI,EAAKx2I,OACd8J,EAAQ,EAEH3E,EAAI,EAAGA,EAAIqxI,EAAKx2I,OAAQmF,IACjC,CACIsB,EAAOtB,MAIP,IAAK,IAFDi5I,EAAS5H,EAAKrxI,GAAG7D,MAAM,KAElBlD,EAAI,EAAGA,EAAIggJ,EAAOp+I,OAAQ5B,IAE/BqI,EAAOtB,GAAG/G,GAAK,IAAI9F,EAAO87I,KAAKnK,EAAIpZ,OAAO,GAAI1tH,SAASi7I,EAAOhgJ,GAAI,IAAKA,EAAG+G,EAAGuqD,EAAWC,GAG9E,IAAV7lD,IAEAA,EAAQs0I,EAAOp+I,QAmBvB,OAfAiqI,EAAI3jC,OAAShuG,EAAO0yD,QAAQykD,IAC5Bw6B,EAAIhoI,KAAOH,EACXmoI,EAAIngI,MAAQA,EACZmgI,EAAIlgI,OAASA,EACbkgI,EAAIv6E,UAAYA,EAChBu6E,EAAIt6E,WAAaA,EACjBs6E,EAAI6K,cAAgBhrI,EAAQ4lD,EAC5Bu6E,EAAI8K,eAAiBhrI,EAAS4lD,EAE9Bs6E,EAAIpZ,OAAO,GAAG/mH,MAAQA,EACtBmgI,EAAIpZ,OAAO,GAAG9mH,OAASA,EACvBkgI,EAAIpZ,OAAO,GAAGikB,cAAgB7K,EAAI6K,cAClC7K,EAAIpZ,OAAO,GAAGkkB,eAAiB9K,EAAI8K,eACnC9K,EAAIpZ,OAAO,GAAGryF,KAAO/3B,EAEdwjI,GAUXgU,aAAc,SAAUvuF,EAAWC,EAAY7lD,EAAOC,GAElD,OACID,WAAkBtH,IAAVsH,GAAiC,OAAVA,EAAkBA,EAAQ,EACzDC,YAAoBvH,IAAXuH,GAAmC,OAAXA,EAAmBA,EAAS,EAC7D2lD,eAA0BltD,IAAdktD,GAAyC,OAAdA,EAAsBA,EAAY,EACzEC,gBAA4BntD,IAAfmtD,GAA2C,OAAfA,EAAuBA,EAAa,EAC7Eo1D,YAAa,aACb8vB,QAAS,IACT39D,cACA49D,cAAe,EACfC,eAAgB,EAChBlkB,SAEQ5uH,KAAM,QACN7D,EAAG,EACH+G,EAAG,EACH2E,MAAO,EACPC,OAAQ,EACR+qI,cAAe,EACfC,eAAgB,EAChBr8H,MAAO,EACPpD,SAAS,EACT4hE,cACAmgE,WACAhkG,aACAsyF,UACAnnG,UAGRswE,UACAxc,WACA43C,aACA8K,YACAE,WAgBRmJ,iBAAkB,SAASC,EAAaC,EAAmBC,EAAqBC,EAASC,GAmHrF,SAAShgJ,EAAOgD,EAAKi9I,GAEjB,IAAIC,KAEJ,IAAK,IAAI/1I,KAAK81I,EACd,CACI,IAAI78I,EAAM68I,EAAO91I,QAEO,IAAbnH,EAAII,KAEX88I,EAAO98I,GAAOJ,EAAII,IAI1B,OAAO88I,EAhIX,IAAIH,EAAUA,GAAWH,EAAYr8I,KACjCy8I,EAAmBA,IAAqBtgJ,EAAG,EAAG+G,EAAG,GAEhDs5I,GACDl+I,QAAQG,KAAK,gCAAiC49I,QAEvB97I,IAAvBk8I,EAAiBtgJ,QAA0CoE,IAAvBk8I,EAAiBv5I,GACrD5E,QAAQG,KAAK,8CAA+Cg+I,GAGhEH,EAAkBE,GAAWF,EAAkBE,OAC/CD,EAAoBC,GAAWD,EAAoBC,OAEnD,IAAK,IAAIxoH,EAAI,EAAGl2B,EAAMu+I,EAAYhsD,QAAQtyF,OAAQi2B,EAAIl2B,EAAKk2B,IAGvD,GAAIqoH,EAAYhsD,QAAQr8D,GAAGk+G,IAC3B,CACQ3jH,GAEA2jH,IAAKmK,EAAYhsD,QAAQr8D,GAAGk+G,IAC5BlyI,KAAMq8I,EAAYhsD,QAAQr8D,GAAGh0B,KAC7B5B,KAAMi+I,EAAYhsD,QAAQr8D,GAAGl1B,eAAe,QAAUu9I,EAAYhsD,QAAQr8D,GAAG51B,KAAO,GACpFjC,EAAGkgJ,EAAYhsD,QAAQr8D,GAAG73B,EAAIsgJ,EAAiBtgJ,EAC/C+G,EAAGm5I,EAAYhsD,QAAQr8D,GAAG9wB,EAAIu5I,EAAiBv5I,EAC/C2E,MAAOw0I,EAAYhsD,QAAQr8D,GAAGnsB,MAC9BC,OAAQu0I,EAAYhsD,QAAQr8D,GAAGlsB,OAC/BuL,QAASgpI,EAAYhsD,QAAQr8D,GAAG3gB,QAChC4hE,WAAYonE,EAAYhsD,QAAQr8D,GAAGihD,YAInConE,EAAYhsD,QAAQr8D,GAAGhE,WAEvBzB,EAAOyB,SAAWqsH,EAAYhsD,QAAQr8D,GAAGhE,UAG7CssH,EAAkBE,GAASjyI,KAAKgkB,QAE/B,GAAI8tH,EAAYhsD,QAAQr8D,GAAGm0G,SAChC,CACI,IAAI55G,GAEAvuB,KAAMq8I,EAAYhsD,QAAQr8D,GAAGh0B,KAC7B5B,KAAMi+I,EAAYhsD,QAAQr8D,GAAG51B,KAC7BjC,EAAGkgJ,EAAYhsD,QAAQr8D,GAAG73B,EAAIsgJ,EAAiBtgJ,EAC/C+G,EAAGm5I,EAAYhsD,QAAQr8D,GAAG9wB,EAAIu5I,EAAiBv5I,EAC/C2E,MAAOw0I,EAAYhsD,QAAQr8D,GAAGnsB,MAC9BC,OAAQu0I,EAAYhsD,QAAQr8D,GAAGlsB,OAC/BuL,QAASgpI,EAAYhsD,QAAQr8D,GAAG3gB,QAChC4hE,WAAYonE,EAAYhsD,QAAQr8D,GAAGihD,YAInConE,EAAYhsD,QAAQr8D,GAAGhE,WAEvBzB,EAAOyB,SAAWqsH,EAAYhsD,QAAQr8D,GAAGhE,UAG7CzB,EAAO45G,YAGP,IAASpgI,EAAI,EAAGA,EAAIs0I,EAAYhsD,QAAQr8D,GAAGm0G,SAASpqI,OAAQgK,IAExDwmB,EAAO45G,SAAS59H,MAAM8xI,EAAYhsD,QAAQr8D,GAAGm0G,SAASpgI,GAAG5L,EAAGkgJ,EAAYhsD,QAAQr8D,GAAGm0G,SAASpgI,GAAG7E,IAInGq5I,EAAoBC,GAASjyI,KAAKgkB,GAClC+tH,EAAkBE,GAASjyI,KAAKgkB,QAG/B,GAAI8tH,EAAYhsD,QAAQr8D,GAAGo0G,QAChC,EACQ75G,EAAS9xB,EAAM4/I,EAAYhsD,QAAQr8D,IAAK,OAAQ,OAAQ,IAAK,IAAK,UAAW,WAAY,gBAEtF73B,GAAKsgJ,EAAiBtgJ,EAC7BoyB,EAAOrrB,GAAKu5I,EAAiBv5I,EAG7BqrB,EAAO65G,WAEP,IAAK,IAAIrgI,EAAI,EAAGA,EAAIs0I,EAAYhsD,QAAQr8D,GAAGo0G,QAAQrqI,OAAQgK,IAEvDwmB,EAAO65G,QAAQ79H,MAAM8xI,EAAYhsD,QAAQr8D,GAAGo0G,QAAQrgI,GAAG5L,EAAGkgJ,EAAYhsD,QAAQr8D,GAAGo0G,QAAQrgI,GAAG7E,IAGhGq5I,EAAoBC,GAASjyI,KAAKgkB,GAClC+tH,EAAkBE,GAASjyI,KAAKgkB,QAI3B8tH,EAAYhsD,QAAQr8D,GAAGo0F,UAExB75F,EAAS9xB,EAAM4/I,EAAYhsD,QAAQr8D,IAAK,OAAQ,OAAQ,UAAW,IAAK,IAAK,QAAS,SAAU,UAAW,WAAY,gBACpH73B,GAAKsgJ,EAAiBtgJ,EAC7BoyB,EAAOrrB,GAAKu5I,EAAiBv5I,EAE7Bq5I,EAAoBC,GAASjyI,KAAKgkB,GAClC+tH,EAAkBE,GAASjyI,KAAKgkB,MAK5BA,EAAS9xB,EAAM4/I,EAAYhsD,QAAQr8D,IAAK,OAAQ,OAAQ,IAAK,IAAK,QAAS,SAAU,UAAW,WAAY,gBACzG73B,GAAKsgJ,EAAiBtgJ,EAC7BoyB,EAAOrrB,GAAKu5I,EAAiBv5I,EAE7BqrB,EAAO04F,WAAY,EACnBs1B,EAAoBC,GAASjyI,KAAKgkB,GAClC+tH,EAAkBE,GAASjyI,KAAKgkB,IAqBxC,OACI+tH,kBAAmBA,EACnBC,oBAAqBA,IAU7BL,eAAgB,SAAU37C,GAEtB,GAAyB,eAArBA,EAAKuiB,YAGL,OADAxkH,QAAQG,KAAK,oGACN,KAoBX,IAAK,IAhBDupI,GACAngI,MAAO04F,EAAK14F,MACZC,OAAQy4F,EAAKz4F,OACb2lD,UAAW8yC,EAAKO,UAChBpzC,WAAY6yC,EAAKM,WACjBiiB,YAAaviB,EAAKuiB,YAClBze,OAAQhuG,EAAO0yD,QAAQ0kD,WACvBmlC,QAASryC,EAAKqyC,QACd39D,WAAYsrB,EAAKtrB,WACjB49D,cAAetyC,EAAK14F,MAAQ04F,EAAKO,UACjCgyC,eAAgBvyC,EAAKz4F,OAASy4F,EAAKM,YAInC+tB,KAEK5wH,EAAI,EAAGA,EAAIuiG,EAAKquB,OAAO7wH,OAAQC,IAEpC,GAA4B,cAAxBuiG,EAAKquB,OAAO5wH,GAAGI,KAAnB,CAKA,IAAIw+I,EAAOr8C,EAAKquB,OAAO5wH,GAKvB,IAAK4+I,EAAKjwC,aAAeiwC,EAAKC,UAA8B,WAAlBD,EAAKC,SAC/C,CAOI,IAAK,IANDC,EAAe7+I,OAAO8+I,KAAKH,EAAKrgH,MAChCz+B,EAAMg/I,EAAa/+I,OACnBi/I,EAAQ,IAAItgJ,MAAMoB,GAIbyS,EAAI,EAAGA,EAAIzS,EAAKyS,GAAG,EAExBysI,EAAMzsI,EAAI,IACNusI,EAAaniG,WAAWpqC,GACxBusI,EAAaniG,WAAWpqC,EAAI,IAAM,EAClCusI,EAAaniG,WAAWpqC,EAAI,IAAM,GAClCusI,EAAaniG,WAAWpqC,EAAI,IAAM,MAChC,EAGVqsI,EAAKrgH,KAAOygH,SAELJ,EAAKC,cAEX,GAAID,EAAKjwC,YACd,CACIruG,QAAQG,KAAK,oFAAuFm+I,EAAK58I,KAAO,KAChH,SAGA8uH,GAEA9uH,KAAM48I,EAAK58I,KACX7D,EAAGygJ,EAAKzgJ,EACR+G,EAAG05I,EAAK15I,EACR2E,MAAO+0I,EAAK/0I,MACZC,OAAQ80I,EAAK90I,OACb+qI,cAAe+J,EAAK/0I,MAAQ04F,EAAKO,UACjCgyC,eAAgB8J,EAAK90I,OAASy4F,EAAKM,WACnCpqF,MAAOmmI,EAAKK,QACZrtG,QAASgtG,EAAKM,QACdrtG,QAAS+sG,EAAKO,QACd9pI,QAASupI,EAAKvpI,QACd4hE,cACAmgE,WACAhkG,aACAsyF,WAIAkZ,EAAK3nE,aAEL65C,EAAM75C,WAAa2nE,EAAK3nE,YAc5B,IAAK,IARDjlD,EAAUoiH,EAASgL,EAHnBjhJ,EAAI,EACJuxH,KACAlpH,KASK3G,EAAI,EAAGC,EAAM8+I,EAAKrgH,KAAKx+B,OAAQF,EAAIC,EAAKD,IACjD,CAOI,GANAmyB,EAAW,EACXoiH,GAAU,EACVF,EAAM0K,EAAKrgH,KAAK1+B,GAChBu/I,EAAa,EAGTlL,EAAM,UAuBN,OApBIA,EAAM,aAENA,GAAO,WACPkL,GAAc,GAIdlL,EAAM,aAENA,GAAO,WACPkL,GAAc,GAIdlL,EAAM,YAENA,GAAO,UACPkL,GAAc,GAGVA,GAEJ,KAAK,EACDptH,EAAW/zB,KAAKsH,GAAK,EACrB,MAEJ,KAAK,EACDysB,EAAW/zB,KAAKsH,GAChB,MAEJ,KAAK,EACDysB,EAAW,EAAI/zB,KAAKsH,GAAK,EACzB,MAEJ,KAAK,EACDysB,EAAW,EACXoiH,GAAU,EACV,MAEJ,KAAK,EACDpiH,EAAW/zB,KAAKsH,GAAK,EACrB6uI,GAAU,EACV,MAEJ,KAAK,EACDpiH,EAAW/zB,KAAKsH,GAChB6uI,GAAU,EACV,MAEJ,KAAK,EACDpiH,EAAW,EAAI/zB,KAAKsH,GAAK,EACzB6uI,GAAU,EAMlBF,EAAM,IAEFlU,EAAO,IAAI3nI,EAAO87I,KAAKrjB,EAAOojB,EAAK/1I,EAAGqI,EAAOzG,OAAQwiG,EAAKO,UAAWP,EAAKM,aAEzE7wE,SAAWA,EAChBguG,EAAKoU,QAAUA,EAEI,IAAfgL,IAGApf,EAAKof,WAAaA,GAGtB1vB,EAAInjH,KAAKyzH,IAIL3nI,EAAOs8I,cAAcoJ,YAErBruB,EAAInjH,KAAK,MAITmjH,EAAInjH,KAAK,IAAIlU,EAAO87I,KAAKrjB,GAAQ,EAAG3yH,EAAGqI,EAAOzG,OAAQwiG,EAAKO,UAAWP,EAAKM,eAInF1kG,IAEUygJ,EAAK/0I,QAEXrD,EAAO+F,KAAKmjH,GACZvxH,EAAI,EACJuxH,MAIRoB,EAAMvyF,KAAO/3B,EAEboqH,EAAOrkH,KAAKukH,GAGhBkZ,EAAIpZ,OAASA,EAKb,IAAK,IAFD/hB,KAEK7uG,EAAI,EAAGA,EAAIuiG,EAAKquB,OAAO7wH,OAAQC,IAEpC,GAA4B,eAAxBuiG,EAAKquB,OAAO5wH,GAAGI,KAAnB,CAKA,IAAIi/I,EAAO98C,EAAKquB,OAAO5wH,GAEnB2jB,GAEA3hB,KAAMq9I,EAAKr9I,KACX2hB,MAAO07H,EAAK17H,MACZxlB,EAAGkhJ,EAAKlhJ,EACR+G,EAAGm6I,EAAKn6I,EACRuT,MAAO4mI,EAAKJ,QACZ5pI,QAASgqI,EAAKhqI,QACd4hE,eAIAooE,EAAKpoE,aAELtzD,EAAMszD,WAAaooE,EAAKpoE,YAG5B43B,EAAOtiG,KAAKoX,GAIhBqmH,EAAIn7B,OAASA,EAQb,IAAK,IALDkmC,KACAuK,KACAtK,KACAuK,EAAU,KAELv/I,EAAI,EAAGA,EAAIuiG,EAAKwyC,SAASh1I,OAAQC,IAC1C,CAII,IAFI2E,EAAM49F,EAAKwyC,SAAS/0I,IAEhBmG,OAEJ7F,QAAQG,KAAK,+HAAiIkE,EAAIwB,aAEjJ,GAAIxB,EAAIgf,MACb,CACI,IAAIuyH,EAAS,IAAI79I,EAAO89I,QAAQxxI,EAAI3C,KAAM2C,EAAIgvI,SAAUhvI,EAAIm+F,UAAWn+F,EAAIk+F,WAAYl+F,EAAIw9F,OAAQx9F,EAAIy9F,QAASz9F,EAAIsyE,YAEhHtyE,EAAI66I,iBAEJtJ,EAAOuJ,eAAiB96I,EAAI66I,gBAKhCtJ,EAAOwJ,eAAe/6I,EAAIg7I,WAAYh7I,EAAIi7I,aAE1C7K,EAASxoI,KAAK2pI,OAEb,CAAA,IAAIvxI,EAAIswI,MAeT,MAAM,IAAIxjI,MAAM,WAAa9M,EAAI3C,KAAO,wCAbxC,IAAI69I,EAAgB,IAAIxnJ,EAAOq7I,gBAAgB/uI,EAAI3C,KAAM2C,EAAIgvI,SAAUhvI,EAAIm+F,UAAWn+F,EAAIk+F,WAAYl+F,EAAIw9F,OAAQx9F,EAAIy9F,QAASz9F,EAAIsyE,YAEnI,IAAK,IAAI6oE,KAAMn7I,EAAIswI,MACnB,CACI,IAAItxH,EAAQhf,EAAIswI,MAAM6K,GAAIn8H,MACtBuwH,EAAMvvI,EAAIgvI,SAAWzwI,SAAS48I,EAAI,IACtCD,EAAchpF,SAASq9E,EAAKvwH,GAGhCqxH,EAAiBzoI,KAAKszI,GAQ1B,IAAK,IAAIC,KAAMn7I,EAAIswI,OAEXoJ,EAAc15I,EAAIswI,MAAM6K,GAAIC,eAKhCT,EAAoBp8I,SAAS48I,GAAMn7I,EAAIgvI,UAAY0K,GAInDkB,IAEAA,EAAQS,QAAUr7I,EAAIgvI,SAAW,GAGrC4L,EAAU56I,EAGd,GAAwB,IAApBowI,EAASh1I,QAA4C,IAA5Bi1I,EAAiBj1I,OAE1C,MAAM,IAAI0R,MAAM,iCAGpBu4H,EAAI+K,SAAWA,EACf/K,EAAIgL,iBAAmBA,EAMvB,IAAK,IAHD3iD,KACA43C,KAEKjqI,EAAI,EAAGA,EAAIuiG,EAAKquB,OAAO7wH,OAAQC,IAEpC,GAA4B,gBAAxBuiG,EAAKquB,OAAO5wH,GAAGI,KAAnB,CAKA,IAAIi+I,EAAc97C,EAAKquB,OAAO5wH,GAC9BhI,KAAKomJ,iBAAiBC,EAAahsD,EAAS43C,GAGhDD,EAAI33C,QAAUA,EACd23C,EAAIC,UAAYA,EAEhBD,EAAIiL,SAGJ,IAASj1I,EAAI,EAAGA,EAAIgqI,EAAI+K,SAASh1I,OAAQC,IAWrC,IAAK,IAPD7B,GAFAwG,EAAMqlI,EAAI+K,SAAS/0I,IAEX81I,WACR5wI,EAAIP,EAAImxI,WAERplH,EAAQ,EACR0lH,EAAS,EACTC,EAAS,EAEJx2I,EAAI8E,EAAIgvI,SAAU9zI,EAAI8E,EAAIgvI,SAAWhvI,EAAIkrB,QAG9Cm6G,EAAIiL,MAAMp1I,IAAM1B,EAAG+G,EAAGlF,GAEtB7B,GAAKwG,EAAI8qD,UAAY9qD,EAAIoxI,cAEzBrlH,IAEc/rB,EAAIkrB,WAKlBumH,IAEezxI,EAAI2xI,UAEfn4I,EAAIwG,EAAImxI,WACR5wI,GAAKP,EAAI+qD,WAAa/qD,EAAIoxI,YAE1BK,EAAS,IACTC,IAEe1xI,EAAI4xI,OAxB8B12I,KAyC7D,IAAK,IANDixH,EACAkP,EACAigB,EACAt7I,EAGK3E,EAAI,EAAGA,EAAIgqI,EAAIpZ,OAAO7wH,OAAQC,IACvC,CAEIiqI,GADAnZ,EAAQkZ,EAAIpZ,OAAO5wH,IACHgC,SAChB2C,EAAM,KAGN,IAAS4N,EAAI,EAAGA,EAAIu+G,EAAMvyF,KAAKx+B,OAAQwS,IACvC,CACIm9G,EAAMoB,EAAMvyF,KAAKhsB,GAGjB,IAAK,IAAI3J,EAAI,EAAGA,EAAI8mH,EAAI3vH,OAAQ6I,IAIf,QAFbo3H,EAAOtQ,EAAI9mH,KAEUo3H,EAAKj/H,MAAQ,IAOlCk/I,EAAMjW,EAAIiL,MAAMjV,EAAKj/H,OAAO,IAC5B4D,EAAMqlI,EAAI+K,SAASkL,IAKXR,gBAAkB96I,EAAI86I,eAAezf,EAAKj/H,MAAQ4D,EAAIgvI,YAE1D3T,EAAK/oD,WAAa5+E,EAAO6I,MAAMoD,MAAMK,EAAI86I,eAAezf,EAAKj/H,MAAQ4D,EAAIgvI,UAAW3T,EAAK/oD,cAGzFonE,EAAciB,EAAoBtf,EAAKj/H,SAIvC/I,KAAKomJ,iBACDC,EACArU,EAAI33C,QACJ23C,EAAIC,UACJjK,EAAKlP,MAAM9uH,MAEP7D,EAAG6hI,EAAKzW,OAAS80B,EAAYlgJ,EAC7B+G,EAAG86H,EAAKxW,OAAS60B,EAAYn5I,MAQrD,OAAO8kI,IA2Bf3xI,EAAO89I,QAAU,SAAUn0I,EAAM2xI,EAAU9pI,EAAOC,EAAQq4F,EAAQC,EAASnrB,SAEzD10E,IAAVsH,GAAuBA,GAAS,KAAKA,EAAQ,UAClCtH,IAAXuH,GAAwBA,GAAU,KAAKA,EAAS,SACrCvH,IAAX4/F,IAAwBA,EAAS,QACrB5/F,IAAZ6/F,IAAyBA,EAAU,GAMvCpqG,KAAKgK,KAAOA,EAOZhK,KAAK27I,SAAsB,EAAXA,EAOhB37I,KAAKy3D,UAAoB,EAAR5lD,EAOjB7R,KAAK03D,WAAsB,EAAT5lD,EASlB9R,KAAK89I,WAAsB,EAAT3zC,EAQlBnqG,KAAK+9I,YAAwB,EAAV3zC,EAMnBpqG,KAAKi/E,WAAaA,MAQlBj/E,KAAK2rB,MAAQ,KAQb3rB,KAAKu+I,KAAO,EAQZv+I,KAAKs+I,QAAU,EAQft+I,KAAK63B,MAAQ,EAQb73B,KAAKkoJ,eAIT7nJ,EAAO89I,QAAQ53I,WAYXi4D,KAAM,SAAU33C,EAAS1gB,EAAG+G,EAAGnE,GAG3B,IAAIo/I,EAAcp/I,EAAQ/I,KAAK27I,UAAa,EAExCwM,GAAc,GAAMA,EAAa,EAAKnoJ,KAAKkoJ,WAAWngJ,QAEtD8e,EAAQmwB,UACJh3C,KAAK2rB,MACL3rB,KAAKkoJ,WAAWC,GAChBnoJ,KAAKkoJ,WAAWC,EAAa,GAC7BnoJ,KAAKy3D,UACLz3D,KAAK03D,WACLvxD,EACA+G,EACAlN,KAAKy3D,UACLz3D,KAAK03D,aAcjBusF,kBAAmB,SAAUF,GAEzB,OACIA,GAAa/jJ,KAAK27I,UAClBoI,EAAa/jJ,KAAK27I,SAAW37I,KAAK63B,OAY1ComH,SAAU,SAAUtyH,GAEhB3rB,KAAK2rB,MAAQA,EACb3rB,KAAK0nJ,eAAe/7H,EAAM9Z,MAAO8Z,EAAM7Z,SAY3Cs2I,WAAY,SAAUj+C,EAAQC,GAE1BpqG,KAAK89I,WAAsB,EAAT3zC,EAClBnqG,KAAK+9I,YAAwB,EAAV3zC,EAEfpqG,KAAK2rB,OAEL3rB,KAAK0nJ,eAAe1nJ,KAAK2rB,MAAM9Z,MAAO7R,KAAK2rB,MAAM7Z,SAazD41I,eAAgB,SAAU9L,EAAYC,GAGlC,IAAIwM,GAAYxM,EAAgC,EAAlB77I,KAAK89I,WAAiB99I,KAAK+9I,cAAgB/9I,KAAK03D,WAAa13D,KAAK+9I,aAC5FuK,GAAY1M,EAA+B,EAAlB57I,KAAK89I,WAAiB99I,KAAK+9I,cAAgB/9I,KAAKy3D,UAAYz3D,KAAK+9I,aAE1FsK,EAAW,GAAM,GAAKC,EAAW,GAAM,GAEvChgJ,QAAQG,KAAK,oBAAsBzI,KAAKgK,KAAO,yDAKnDq+I,EAAWpiJ,KAAKI,MAAMgiJ,GACtBC,EAAWriJ,KAAKI,MAAMiiJ,IAEjBtoJ,KAAKu+I,MAAQv+I,KAAKu+I,OAAS8J,GAAcroJ,KAAKs+I,SAAWt+I,KAAKs+I,UAAYgK,IAE3EhgJ,QAAQG,KAAK,+EAGjBzI,KAAKu+I,KAAO8J,EACZroJ,KAAKs+I,QAAUgK,EACftoJ,KAAK63B,MAAQwwH,EAAWC,EAExBtoJ,KAAKkoJ,WAAWngJ,OAAS,EAKzB,IAAK,IAHDsL,EAAKrT,KAAK89I,WACVxqI,EAAKtT,KAAK89I,WAEL5wI,EAAI,EAAGA,EAAIlN,KAAKu+I,KAAMrxI,IAC/B,CACI,IAAK,IAAI/G,EAAI,EAAGA,EAAInG,KAAKs+I,QAASn4I,IAE9BnG,KAAKkoJ,WAAW3zI,KAAKlB,GACrBrT,KAAKkoJ,WAAW3zI,KAAKjB,GACrBD,GAAMrT,KAAKy3D,UAAYz3D,KAAK+9I,YAGhC1qI,EAAKrT,KAAK89I,WACVxqI,GAAMtT,KAAK03D,WAAa13D,KAAK+9I,eAOzC19I,EAAO89I,QAAQ53I,UAAU8B,YAAchI,EAAO89I,QAoB9C99I,EAAOi3I,SAAW,SAAUt6H,EAAM7W,EAAG+G,EAAGrD,EAAKypB,GAEzCjzB,EAAO2wB,OAAOhqB,KAAKhH,KAAMgd,EAAM7W,EAAG+G,EAAGrD,EAAKypB,GAM1CtzB,KAAKuoJ,WAAY,EAMjBvoJ,KAAKwoJ,UAAY,KAMjBxoJ,KAAKyoJ,GAAK,EAMVzoJ,KAAK0oJ,WAAY,EAMjB1oJ,KAAK2oJ,UAAY,KAMjB3oJ,KAAK4oJ,GAAK,GAIdvoJ,EAAOi3I,SAAS/wI,UAAYkB,OAAOwb,OAAO5iB,EAAO2wB,OAAOzqB,WACxDlG,EAAOi3I,SAAS/wI,UAAU8B,YAAchI,EAAOi3I,SAQ/Cj3I,EAAOi3I,SAAS/wI,UAAUwa,OAAS,WAE3B/gB,KAAKuoJ,cAELvoJ,KAAKyoJ,GAIDzoJ,KAAKgX,MAAMrK,IAAI3M,KAAKwoJ,UAAUxoJ,KAAKyoJ,IAAItiJ,EAAGnG,KAAKwoJ,UAAUxoJ,KAAKyoJ,IAAIv7I,GAIlElN,KAAKuoJ,WAAY,GAIrBvoJ,KAAK0oJ,cAEL1oJ,KAAK4oJ,GAID5oJ,KAAKygB,MAAQzgB,KAAK2oJ,UAAU3oJ,KAAK4oJ,IAAI5qH,EAIrCh+B,KAAK0oJ,WAAY,IAY7BroJ,EAAOi3I,SAAS/wI,UAAUsiJ,OAAS,aASnCxoJ,EAAOi3I,SAAS/wI,UAAUuiJ,aAAe,SAASviH,GAE9CvmC,KAAK2oJ,UAAYpiH,EACjBvmC,KAAK4oJ,GAAKriH,EAAKx+B,OAAS,EACxB/H,KAAKygB,MAAQzgB,KAAK2oJ,UAAU3oJ,KAAK4oJ,IAAI5qH,EACrCh+B,KAAK0oJ,WAAY,GAUrBroJ,EAAOi3I,SAAS/wI,UAAUwiJ,aAAe,SAASxiH,GAE9CvmC,KAAKwoJ,UAAYjiH,EACjBvmC,KAAKyoJ,GAAKliH,EAAKx+B,OAAS,EACxB/H,KAAKgX,MAAMrK,IAAI3M,KAAKwoJ,UAAUxoJ,KAAKyoJ,IAAItiJ,EAAGnG,KAAKwoJ,UAAUxoJ,KAAKyoJ,IAAIv7I,GAClElN,KAAKuoJ,WAAY,GAgBrBloJ,EAAOi3I,SAAS/wI,UAAU0b,MAAQ,SAAS9b,EAAG+G,EAAG+jD,GAU7C,OARA5wD,EAAOwqD,UAAUsJ,MAAM5tD,UAAU0b,MAAMjb,KAAKhH,KAAMmG,EAAG+G,EAAG+jD,GAExDjxD,KAAKygB,MAAQ,EACbzgB,KAAKgX,MAAMrK,IAAI,GAEf3M,KAAKuoJ,WAAY,EACjBvoJ,KAAK0oJ,WAAY,EAEV1oJ,MAiBXK,EAAO+8B,UAAY,SAAUpgB,GAKzBhd,KAAKgd,KAAOA,EAKZhd,KAAKgpJ,YAMLhpJ,KAAKipJ,GAAK,GAId5oJ,EAAO+8B,UAAU72B,WAQbgN,IAAK,SAAUijD,GAEX,OADAx2D,KAAKgpJ,SAASxyF,EAAQ1/C,IAAM0/C,EACrBA,GAQXlxC,OAAQ,SAAUkxC,UACPx2D,KAAKgpJ,SAASxyF,EAAQ1/C,KAYjCiK,OAAQ,WACJ,IAAK,IAAIlX,KAAO7J,KAAKgpJ,SAEbhpJ,KAAKgpJ,SAASn/I,GAAKojB,QAEnBjtB,KAAKgpJ,SAASn/I,GAAKkX,WAQnC1gB,EAAO+8B,UAAU72B,UAAU8B,YAAchI,EAAO+8B,UAahD/8B,EAAO+8B,UAAUs5B,UAoBjBr2D,EAAO+8B,UAAUs5B,OAAOC,QAAU,SAAU35C,EAAM7W,EAAG+G,EAAGupD,GAMpDz2D,KAAKy2D,aAAeA,GAAgB,GAEpCp2D,EAAO+vB,MAAMppB,KAAKhH,KAAMgd,GAMxBhd,KAAKo9G,IAAMp9G,KAAKgd,KAAK2F,UAAUsmI,KAK/BjpJ,KAAKgK,KAAO,UAAYhK,KAAK8W,GAM7B9W,KAAKoI,KAAO/H,EAAOwB,QAMnB7B,KAAK2wB,YAActwB,EAAOoB,MAM1BzB,KAAKga,KAAO,IAAI3Z,EAAO2N,UAAU7H,EAAG+G,EAAG,EAAG,GAM1ClN,KAAKkpJ,SAAW,KAMhBlpJ,KAAKmpJ,SAAW,KAMhBnpJ,KAAKopJ,SAAW,EAMhBppJ,KAAKqpJ,SAAW,IAMhBrpJ,KAAKspJ,iBAAmB,IAAIjpJ,EAAOoN,OAAO,KAAM,KAMhDzN,KAAKupJ,iBAAmB,IAAIlpJ,EAAOoN,MAAM,IAAK,KAM9CzN,KAAKwpJ,iBAAmB,EAMxBxpJ,KAAKypJ,iBAAmB,EAKxBzpJ,KAAKwoJ,UAAY,KAMjBxoJ,KAAK0pJ,aAAe,IAMpB1pJ,KAAK2pJ,YAAc,IAMnB3pJ,KAAK4pJ,iBAAmB,EAMxB5pJ,KAAK6pJ,iBAAmB,EAKxB7pJ,KAAK2oJ,UAAY,KAMjB3oJ,KAAK8pJ,cAAgBzpJ,EAAOi3I,SAK5Bt3I,KAAK+pJ,aAAe,IAAI1pJ,EAAOoN,MAM/BzN,KAAKk/H,YAAc,EAMnBl/H,KAAKy4F,UAAY,IAMjBz4F,KAAKgyD,SAAW,IAKhBhyD,KAAK4iI,OAAS,IAAIviI,EAAOoN,MAMzBzN,KAAKuqI,IAAK,EAMVvqI,KAAKgqJ,eAAiB,IAAI3pJ,EAAOoN,MAAM,GAAK,IAM5CzN,KAAKqhE,UAAYhhE,EAAOoE,WAAWC,OAQnC1E,KAAKiqJ,MAAQ9jJ,EAQbnG,KAAKkqJ,MAAQh9I,EAKblN,KAAKuoJ,WAAY,EAKjBvoJ,KAAK0oJ,WAAY,EAMjB1oJ,KAAKmqJ,oBAAqB,EAM1BnqJ,KAAKoqJ,oBAAqB,EAS1BpqJ,KAAKqqJ,QACDC,QAAS,EACTC,OAAQ,EACRC,aAAc,EACdC,YAAa,GAOjBzqJ,KAAK0qJ,SAAW,IAAIrqJ,EAAOoN,MAAM,EAAG,KAMpCzN,KAAK2qJ,kBAAoB,IAAItqJ,EAAOoN,MAAM,EAAG,GAM7CzN,KAAK4qJ,kBAAoB,IAAIvqJ,EAAOoN,MAAM,EAAG,GAM7CzN,KAAKu+H,OAAS,EAMdv+H,KAAK6qJ,OAAS,EAMd7qJ,KAAK8qJ,SAAW,EAMhB9qJ,KAAK+qJ,cAAgB,EAMrB/qJ,KAAKgrJ,WAAa,EAMlBhrJ,KAAKirJ,UAAW,EAMhBjrJ,KAAK4nG,QAAU,MAInBvnG,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAYkB,OAAOwb,OAAO5iB,EAAO+vB,MAAM7pB,WACvElG,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAU8B,YAAchI,EAAO+8B,UAAUs5B,OAAOC,QAOhFt2D,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAUwa,OAAS,WAK/C,GAHA/gB,KAAKqqJ,OAAOC,QAAU,EACtBtqJ,KAAKqqJ,OAAOE,OAAS,EAEjBvqJ,KAAKuqI,IAAMvqI,KAAKgd,KAAKmE,KAAKA,MAAQnhB,KAAK6qJ,OAIvC,GAFA7qJ,KAAK6qJ,OAAS7qJ,KAAKgd,KAAKmE,KAAKA,KAAOnhB,KAAKy4F,UAAYz4F,KAAKgd,KAAKmE,KAAKge,WAE5C,IAApBn/B,KAAKgrJ,WAEL,GAAIhrJ,KAAK+qJ,cAAgB,GAErB,IAAS/iJ,EAAI,EAAGA,EAAIhI,KAAK+qJ,cAAe/iJ,IAEpC,GAAIhI,KAAKkrJ,iBAELlrJ,KAAK8qJ,YAEoB,IAArB9qJ,KAAKgrJ,YAAqBhrJ,KAAK8qJ,UAAY9qJ,KAAKgrJ,YACpD,CACIhrJ,KAAKuqI,IAAK,EACV,YAORvqI,KAAKkrJ,iBAELlrJ,KAAK8qJ,YAEoB,IAArB9qJ,KAAKgrJ,YAAqBhrJ,KAAK8qJ,UAAY9qJ,KAAKgrJ,aAEhDhrJ,KAAKuqI,IAAK,SAOlBvqI,KAAKkrJ,iBAELlrJ,KAAK8qJ,WAED9qJ,KAAKu+H,OAAS,GAAKv+H,KAAK8qJ,UAAY9qJ,KAAKu+H,SAEzCv+H,KAAKuqI,IAAK,IAS1B,IAFA,IAAIviI,EAAIhI,KAAKouB,SAASrmB,OAEfC,KAEChI,KAAKouB,SAASpmB,GAAGilB,QAEjBjtB,KAAKouB,SAASpmB,GAAG+Y,UAmB7B1gB,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAU4kJ,cAAgB,SAAU1+I,EAAM63E,EAAQ9wD,EAAUusG,EAAS2F,EAAoB0lB,QAEtG7gJ,IAAX+5E,IAAwBA,EAAS,QACpB/5E,IAAbipB,IAA0BA,EAAWxzB,KAAKy2D,mBAC9BlsD,IAAZw1H,IAAyBA,GAAU,QACZx1H,IAAvBm7H,IAAoCA,GAAqB,QACnCn7H,IAAtB6gJ,IAAmCA,EAAoB,MAE3D,IAAIC,EACArjJ,EAAI,EACJsjJ,EAAS7+I,EACT8+I,EAAWjnE,EAQf,IAPAtkF,KAAK4nG,QAAUtjB,EAEX9wD,EAAWxzB,KAAKy2D,eAEhBz2D,KAAKy2D,aAAejjC,GAGjBxrB,EAAIwrB,GAEH9sB,MAAMa,QAAQkF,KAEd6+I,EAAStrJ,KAAKgd,KAAKsE,IAAI+X,KAAK5sB,IAG5B/F,MAAMa,QAAQ+8E,KAEdinE,EAAWvrJ,KAAKgd,KAAKsE,IAAI+X,KAAKirD,IAGlC+mE,EAAW,IAAIrrJ,KAAK8pJ,cAAc9pJ,KAAKgd,KAAM,EAAG,EAAGsuI,EAAQC,EAAUH,GAErEprJ,KAAKgd,KAAK4F,QAAQy6G,OAAO1qG,OAAO04H,GAAU,GAE1CA,EAAS94H,KAAK0rG,eAAesD,MAAQxB,EACrCsrB,EAAS94H,KAAKmzG,mBAAqBA,EACnC2lB,EAAS94H,KAAK+rG,cAAe,EAE7B+sB,EAASp+H,QAAS,EAClBo+H,EAAShuI,SAAU,EACnBguI,EAASx/H,OAAO3d,SAASlO,KAAKgqJ,gBAE9BhqJ,KAAKuT,IAAI83I,GAETrjJ,IAGJ,OAAOhI,MAUXK,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAUyvB,KAAO,WAM7C,OAJAh2B,KAAKuqI,IAAK,EACVvqI,KAAK4wB,OAAQ,EACb5wB,KAAKitB,QAAS,EAEPjtB,MAUXK,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAU4vB,OAAS,WAK/C,OAHAn2B,KAAK4wB,OAAQ,EACb5wB,KAAKitB,QAAS,EAEPjtB,MAYXK,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAUilJ,QAAU,SAAUx5F,EAAUx+B,GAUpE,YARiBjpB,IAAbipB,IACAA,EAAWxzB,KAAKy2D,cAGpBz2D,KAAKgrJ,WAAa,EAElBhrJ,KAAK+Q,OAAM,EAAMihD,EAAU,EAAGx+B,GAAU,GAEjCxzB,MAsBXK,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAUklJ,KAAO,SAAUz5F,EAAUymC,EAAWjlE,EAAUqE,EAAO0oC,GA6B7F,YA3BkBh2D,IAAdkuF,GAAyC,OAAdA,IAAsBA,EAAY,UAChDluF,IAAbipB,GAAuC,IAAbA,IAAkBA,EAAW,QAC7CjpB,IAAVstB,IAAuBA,GAAS,QAClBttB,IAAdg2D,IAA2BA,GAAY,GAEvC/sC,EAAWxzB,KAAKy2D,eAEhBjjC,EAAWxzB,KAAKy2D,cAGpBz2D,KAAK8qJ,SAAW,EAChB9qJ,KAAK+qJ,cAAgBv3H,EACrBxzB,KAAKgrJ,WAAanzH,EAEd0oC,GAEAvgE,KAAK+Q,OAAM,EAAMihD,EAAUymC,EAAWjlE,GAEtCxzB,KAAK8qJ,UAAYt3H,EACjBxzB,KAAKuqI,IAAK,EACVvqI,KAAK6qJ,OAAS7qJ,KAAKgd,KAAKmE,KAAKA,KAAOs3E,EAAYz4F,KAAKgd,KAAKmE,KAAKge,YAI/Dn/B,KAAK+Q,OAAM,EAAOihD,EAAUymC,EAAWjlE,GAGpCxzB,MAiCXK,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAUwK,MAAQ,SAAUy6I,EAASx5F,EAAUymC,EAAW5gE,EAAO6zH,GAoB7F,QAlBgBnhJ,IAAZihJ,IAAyBA,GAAU,QACtBjhJ,IAAbynD,IAA0BA,EAAW,QACvBznD,IAAdkuF,GAAyC,OAAdA,IAAsBA,EAAY,UACnDluF,IAAVstB,IAAuBA,EAAQ,QACbttB,IAAlBmhJ,IAA+BA,GAAgB,GAE/C7zH,EAAQ73B,KAAKy2D,eAEb5+B,EAAQ73B,KAAKy2D,cAGjBz2D,KAAKm2B,SAELn2B,KAAKqd,SAAU,EAEfrd,KAAKgyD,SAAWA,EAChBhyD,KAAKy4F,UAAYA,EAEb+yD,GAAWE,EAEX,IAAK,IAAI1jJ,EAAI,EAAGA,EAAI6vB,EAAO7vB,IAEvBhI,KAAKkrJ,oBAKTlrJ,KAAKuqI,IAAK,EACVvqI,KAAKu+H,OAAS1mG,EACd73B,KAAK8qJ,SAAW,EAChB9qJ,KAAK6qJ,OAAS7qJ,KAAKgd,KAAKmE,KAAKA,KAAOs3E,EAAYz4F,KAAKgd,KAAKmE,KAAKge,WAGnE,OAAOn/B,MAoBXK,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAU2kJ,aAAe,SAAU/kJ,EAAG+G,EAAGrD,EAAKypB,QAEhE/oB,IAANpE,IAAmBA,EAAI,WACjBoE,IAAN2C,IAAmBA,EAAI,MAE3B,IAAIm+I,EAAWrrJ,KAAK2rJ,kBAEpB,GAAiB,OAAbN,EAKA,OAHArrJ,KAAKqqJ,OAAOE,SACZvqJ,KAAKqqJ,OAAOI,eAEL,EAGXzqJ,KAAKqqJ,OAAOC,UACZtqJ,KAAKqqJ,OAAOG,eAEZ,IAAIlpI,EAAMthB,KAAKgd,KAAKsE,SAER/W,IAARV,QAA+BU,IAAV+oB,EAErB+3H,EAASlzH,YAAYtuB,EAAKypB,QAEb/oB,IAARV,IAELwhJ,EAASlzH,YAAYtuB,GACrBwhJ,EAAS/3H,MAAQ5sB,MAAMa,QAAQvH,KAAK4nG,SAAWtmF,EAAI+X,KAAKr5B,KAAK4nG,SAAW5nG,KAAK4nG,SAGjF,IAAIqiD,EAAQjqJ,KAAKiqJ,MACbC,EAAQlqJ,KAAKkqJ,MAsBjB,OApBU,OAAN/jJ,EAEA8jJ,EAAQ9jJ,EAEHnG,KAAK6R,MAAQ,IAElBo4I,EAAQ3oI,EAAIoZ,QAAQ16B,KAAK0L,KAAM1L,KAAKyL,QAG9B,OAANyB,EAEAg9I,EAAQh9I,EAEHlN,KAAK8R,OAAS,IAEnBo4I,EAAQ5oI,EAAIoZ,QAAQ16B,KAAKyP,IAAKzP,KAAK0P,SAGvC1P,KAAK4rJ,cAAcP,EAAUpB,EAAOC,IAE7B,GAWX7pJ,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAUolJ,gBAAkB,WAIxD,IAFA,IAAI3jJ,EAAIhI,KAAK+H,OAENC,KACP,CACI,IAAIisB,EAAOj0B,KAAKi0B,OAEhB,IAAKA,EAAKhH,OAEN,OAAOgH,EAIf,OAAO,MAYX5zB,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAUqlJ,cAAgB,SAAUP,EAAUllJ,EAAG+G,GAE7E,IAAIoU,EAAMthB,KAAKgd,KAAKsE,IAEpB+pI,EAASppI,MAAM9b,EAAG+G,GAElBm+I,EAAS18I,MAAQ,EACjB08I,EAASr5F,SAAWhyD,KAAKgyD,SAErBhyD,KAAKmqJ,mBAELnqJ,KAAKu0B,WAAW82H,GAEXrrJ,KAAKoqJ,oBAEVpqJ,KAAKy0B,WAAW42H,GAGhBrrJ,KAAKuoJ,UAEL8C,EAAStC,aAAa/oJ,KAAKwoJ,WAEI,IAA1BxoJ,KAAKwpJ,kBAAoD,IAA1BxpJ,KAAKypJ,iBAEzC4B,EAASr0I,MAAMrK,IAAI2U,EAAIu4E,YAAY75F,KAAKwpJ,iBAAkBxpJ,KAAKypJ,mBAEzDzpJ,KAAK2qJ,kBAAkBxkJ,IAAMnG,KAAK4qJ,kBAAkBzkJ,GAAOnG,KAAK2qJ,kBAAkBz9I,IAAMlN,KAAK4qJ,kBAAkB19I,EAErHm+I,EAASr0I,MAAMrK,IAAI2U,EAAIu4E,YAAY75F,KAAK2qJ,kBAAkBxkJ,EAAGnG,KAAK4qJ,kBAAkBzkJ,GAAImb,EAAIu4E,YAAY75F,KAAK2qJ,kBAAkBz9I,EAAGlN,KAAK4qJ,kBAAkB19I,IAIzJm+I,EAASr0I,MAAMrK,IAAI3M,KAAK2qJ,kBAAkBxkJ,EAAGnG,KAAK2qJ,kBAAkBz9I,GAGpElN,KAAK0oJ,UAEL2C,EAASvC,aAAa9oJ,KAAK2oJ,WAI3B0C,EAAS5qI,MAAQa,EAAIu4E,YAAY75F,KAAK4pJ,iBAAkB5pJ,KAAK6pJ,kBAGjEwB,EAAShqF,UAAYrhE,KAAKqhE,UAE1B,IAAI9uC,EAAO84H,EAAS94H,KAEpBA,EAAKo0G,eAELp0G,EAAKqwG,OAAO10H,SAASlO,KAAK4iI,QAC1BrwG,EAAK+sG,KAAKpxH,SAASlO,KAAK+pJ,cAEH,MAAjB/pJ,KAAKkpJ,UAAqC,MAAjBlpJ,KAAKmpJ,SAE9BnpJ,KAAKgd,KAAK4F,QAAQy6G,OAAOgH,kBACpBrkI,KAAKkpJ,WAAalpJ,KAAKmpJ,SAAYnpJ,KAAKkpJ,SAAW5nI,EAAIoZ,QAAQ16B,KAAKkpJ,SAAUlpJ,KAAKmpJ,UACnFnpJ,KAAKopJ,WAAappJ,KAAKqpJ,SAAYrpJ,KAAKopJ,SAAW9nI,EAAIoZ,QAAQ16B,KAAKopJ,SAAUppJ,KAAKqpJ,UACpF92H,EAAK6sG,WAKT7sG,EAAK6sG,SAASj5H,EAAImb,EAAIoZ,QAAQ16B,KAAKspJ,iBAAiBnjJ,EAAGnG,KAAKupJ,iBAAiBpjJ,GAC7EosB,EAAK6sG,SAASlyH,EAAIoU,EAAIoZ,QAAQ16B,KAAKspJ,iBAAiBp8I,EAAGlN,KAAKupJ,iBAAiBr8I,IAGjFqlB,EAAKysG,gBAAkB19G,EAAIoZ,QAAQ16B,KAAK0pJ,YAAa1pJ,KAAK2pJ,aAC1Dp3H,EAAKyrG,QAAQ9vH,SAASlO,KAAKg+H,SAC3BzrG,EAAK2sG,YAAcl/H,KAAKk/H,YAExBmsB,EAASxC,UASbxoJ,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAU+f,QAAU,WAEhDtmB,KAAKgd,KAAK2F,UAAU2C,OAAOtlB,MAE3BK,EAAO+vB,MAAM7pB,UAAU+f,QAAQtf,KAAKhH,MAAM,GAAM,IAYpDK,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAUyb,QAAU,SAAUnQ,EAAOC,GAKjE,OAHA9R,KAAKga,KAAKnI,MAAQA,EAClB7R,KAAKga,KAAKlI,OAASA,EAEZ9R,MAWXK,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAUslJ,UAAY,SAAUj4I,EAAKE,GAQjE,OANAF,EAAMA,GAAO,EACbE,EAAMA,GAAO,EAEb9T,KAAKspJ,iBAAiBnjJ,EAAIyN,EAC1B5T,KAAKupJ,iBAAiBpjJ,EAAI2N,EAEnB9T,MAWXK,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAUulJ,UAAY,SAAUl4I,EAAKE,GAQjE,OANAF,EAAMA,GAAO,EACbE,EAAMA,GAAO,EAEb9T,KAAKspJ,iBAAiBp8I,EAAI0G,EAC1B5T,KAAKupJ,iBAAiBr8I,EAAI4G,EAEnB9T,MAYXK,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAUwlJ,YAAc,SAAUn4I,EAAKE,GAQnE,OANAF,EAAMA,GAAO,EACbE,EAAMA,GAAO,EAEb9T,KAAK0pJ,YAAc91I,EACnB5T,KAAK2pJ,YAAc71I,EAEZ9T,MAiBXK,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAUylJ,SAAW,SAAUp4I,EAAKE,EAAKm4I,EAAM3qD,EAAMC,GAYjF,QAVYh3F,IAARqJ,IAAqBA,EAAM,QACnBrJ,IAARuJ,IAAqBA,EAAM,QAClBvJ,IAAT0hJ,IAAsBA,EAAO,QACpB1hJ,IAAT+2F,IAAsBA,EAAOjhG,EAAO87F,OAAOK,OAAOC,WACzClyF,IAATg3F,IAAsBA,GAAO,GAEjCvhG,KAAK4pJ,iBAAmBh2I,EACxB5T,KAAK6pJ,iBAAmB/1I,EACxB9T,KAAK0oJ,WAAY,EAEbuD,EAAO,GAAKr4I,IAAQE,EACxB,CACI,IAAIo4I,GAAcluH,EAAGpqB,GACjB0hD,EAAQt1D,KAAKgd,KAAKoF,KAAKkzC,MAAM42F,GAAWtjJ,IAAMo1B,EAAGlqB,GAAOm4I,EAAM3qD,GAClEhsC,EAAMisC,KAAKA,GAEXvhG,KAAK2oJ,UAAYrzF,EAAMotC,aAAa,IAGpC1iG,KAAK2oJ,UAAUr/I,UACftJ,KAAK0oJ,WAAY,EAGrB,OAAO1oJ,MAmBXK,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAU49I,SAAW,SAAU1vF,EAAME,EAAMD,EAAME,EAAMq3F,EAAM3qD,EAAMC,GAmB/F,QAjBah3F,IAATkqD,IAAsBA,EAAO,QACpBlqD,IAAToqD,IAAsBA,EAAO,QACpBpqD,IAATmqD,IAAsBA,EAAO,QACpBnqD,IAATqqD,IAAsBA,EAAO,QACpBrqD,IAAT0hJ,IAAsBA,EAAO,QACpB1hJ,IAAT+2F,IAAsBA,EAAOjhG,EAAO87F,OAAOK,OAAOC,WACzClyF,IAATg3F,IAAsBA,GAAO,GAGjCvhG,KAAKwpJ,iBAAmB,EACxBxpJ,KAAKypJ,iBAAmB,EAExBzpJ,KAAK2qJ,kBAAkBh+I,IAAI8nD,EAAMC,GACjC10D,KAAK4qJ,kBAAkBj+I,IAAIgoD,EAAMC,GAEjC50D,KAAKuoJ,WAAY,EAEb0D,EAAO,IAAOx3F,IAASE,GAAUD,IAASE,GAC9C,CACI,IAAIs3F,GAAc/lJ,EAAGsuD,EAAMvnD,EAAGwnD,GAC1BY,EAAQt1D,KAAKgd,KAAKoF,KAAKkzC,MAAM42F,GAAWtjJ,IAAMzC,EAAGwuD,EAAMznD,EAAG0nD,GAAQq3F,EAAM3qD,GAC5EhsC,EAAMisC,KAAKA,GAEXvhG,KAAKwoJ,UAAYlzF,EAAMotC,aAAa,IAGpC1iG,KAAKwoJ,UAAUl/I,UACftJ,KAAKuoJ,WAAY,EAGrB,OAAOvoJ,MAkBXK,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAU4lJ,SAAW,SAAUjD,EAAUC,EAAUC,EAAUC,GAQzF,OANArpJ,KAAKkpJ,SAAWA,EAChBlpJ,KAAKmpJ,SAAWA,EAEA,MAAZC,IAAoBppJ,KAAKopJ,SAAWA,GACxB,MAAZC,IAAoBrpJ,KAAKqpJ,SAAWA,GAEjCrpJ,MAYXK,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAU6lJ,GAAK,SAAU7zH,GAarD,OAXIA,EAAOqpG,QAEP5hI,KAAKiqJ,MAAQ1xH,EAAOqpG,OAAOz7H,EAC3BnG,KAAKkqJ,MAAQ3xH,EAAOqpG,OAAO10H,IAI3BlN,KAAKiqJ,MAAQ1xH,EAAOtb,MAAM9W,EAAKoyB,EAAO1M,OAAO1lB,EAAIoyB,EAAO1mB,MACxD7R,KAAKkqJ,MAAQ3xH,EAAOtb,MAAM/P,EAAKqrB,EAAO1M,OAAO3e,EAAIqrB,EAAOzmB,QAGrD9R,MAQXyH,OAAOmF,eAAevM,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAW,WAE7DmG,IAAK,WACD,OAAO1M,KAAK0qJ,UAGhB/9I,IAAK,SAAUzC,GACU,iBAAVA,EAEPlK,KAAK0qJ,SAASx9I,EAAIhD,EAIlBlK,KAAK0qJ,SAAWxgJ,KAW5BzC,OAAOmF,eAAevM,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAW,MAC7DmG,IAAK,WACD,OAAO1M,KAAKo9G,OAQpB31G,OAAOmF,eAAevM,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAW,SAE7DmG,IAAK,WACD,OAAO1M,KAAKga,KAAKnI,OAGrBlF,IAAK,SAAUzC,GACXlK,KAAKga,KAAKnI,MAAQ3H,KAS1BzC,OAAOmF,eAAevM,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAW,UAE7DmG,IAAK,WACD,OAAO1M,KAAKga,KAAKlI,QAGrBnF,IAAK,SAAUzC,GACXlK,KAAKga,KAAKlI,OAAS5H,KAS3BzC,OAAOmF,eAAevM,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAW,KAE7DmG,IAAK,WACD,OAAO1M,KAAKiqJ,OAGhBt9I,IAAK,SAAUzC,GACXlK,KAAKiqJ,MAAQ//I,KASrBzC,OAAOmF,eAAevM,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAW,KAE7DmG,IAAK,WACD,OAAO1M,KAAKkqJ,OAGhBv9I,IAAK,SAAUzC,GACXlK,KAAKkqJ,MAAQhgJ,KAUrBzC,OAAOmF,eAAevM,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAW,QAE7DmG,IAAK,WACD,OAAOzG,KAAKI,MAAMrG,KAAKmG,EAAKnG,KAAKga,KAAKnI,MAAQ,MAUtDpK,OAAOmF,eAAevM,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAW,SAE7DmG,IAAK,WACD,OAAOzG,KAAKI,MAAMrG,KAAKmG,EAAKnG,KAAKga,KAAKnI,MAAQ,MAUtDpK,OAAOmF,eAAevM,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAW,OAE7DmG,IAAK,WACD,OAAOzG,KAAKI,MAAMrG,KAAKkN,EAAKlN,KAAKga,KAAKlI,OAAS,MAUvDrK,OAAOmF,eAAevM,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAW,UAE7DmG,IAAK,WACD,OAAOzG,KAAKI,MAAMrG,KAAKkN,EAAKlN,KAAKga,KAAKlI,OAAS,MAUvDrK,OAAOmF,eAAevM,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAW,UAE7DmG,IAAK,WACD,OAAO,IAAO1M,KAAK+qJ,cAAgB/qJ,KAAKy4F,aAUhDhxF,OAAOmF,eAAevM,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAW,kBAE7DmG,IAAK,WACD,OAA0B,IAAlB1M,KAAKgyD,SAAiBh8C,EAAAA,EAAWhW,KAAKgyD,UAAYhyD,KAAK+qJ,cAAgB/qJ,KAAKy4F,aAU5FhxF,OAAOmF,eAAevM,EAAO+8B,UAAUs5B,OAAOC,QAAQpwD,UAAW,aAE7DmG,IAAK,WACD,OAAO1M,KAAKy2D,aAAez2D,KAAKqsJ,kBAgExChsJ,EAAO40D,OAAS,SAAUj4C,EAAMiP,GAE5B5rB,EAAO2rB,OAAOhlB,KAAKhH,KAAMgd,EAAMiP,GAM/BjsB,KAAKssJ,QAAU,KAOftsJ,KAAKusJ,wBAAyB,EAO9BvsJ,KAAKwsJ,UAAW,EAQhBxsJ,KAAKysJ,MAAQ,EAQbzsJ,KAAK0sJ,UAAY,EAMjB1sJ,KAAK2sJ,SAAW,IAShB3sJ,KAAK4sJ,iBAAmB,EAQxB5sJ,KAAK6sJ,SAAW,IAAIxsJ,EAAO2N,UAAU,EAAG,EAAG,EAAG,GAO9ChO,KAAK8sJ,UAAYzsJ,EAAO+C,SAMxBpD,KAAK+sJ,0BAA2B,EAOhC/sJ,KAAKgtJ,gBAAkB,GAOvBhtJ,KAAKitJ,mBAAoB,EAUzBjtJ,KAAKktJ,kBAAmB,EAOxBltJ,KAAKmtJ,iBAAkB,EAQvBntJ,KAAKotJ,uBAAyB,EAS9BptJ,KAAKqtJ,kBAAoB,EASzBrtJ,KAAKstJ,oBAAsB,EAO3BttJ,KAAKutJ,YAAc,IAQnBvtJ,KAAKwtJ,oBAAsB,EAQ3BxtJ,KAAKytJ,eAAiB,EAOtBztJ,KAAK0tJ,mBAAqB,EAO1B1tJ,KAAK2tJ,cAAgB,IAAIttJ,EAAOoN,MAAM,EAAG,GAQzCzN,KAAK4tJ,wBAAyB,EAO9B5tJ,KAAK6tJ,UAAY,GAOjB7tJ,KAAK8tJ,YAAc,GAOnB9tJ,KAAK+tJ,aAAe1tJ,EAAO2tJ,OAO3BhuJ,KAAKiuJ,2BAA4B,EAOjCjuJ,KAAKkuJ,gBAAkB7tJ,EAAO40D,OAAOk5F,kBAQrCnuJ,KAAKkgF,OACDkuE,YAAY,EACZv8I,MAAO,EACPC,OAAQ,EACR8nC,QAAS,EACTC,QAAS,GAWb75C,KAAKmd,OAAS,IAAI9c,EAAO2N,UAQzBhO,KAAKquJ,aAAerxI,EAAKC,MAAME,OAQ/Bnd,KAAKsuJ,gBAQLtuJ,KAAKuuJ,iBAAmB,EAOxBvuJ,KAAKwuJ,SASLxuJ,KAAKyuJ,OAAS,IAAIpuJ,EAAOud,OASzB5d,KAAK0uJ,OAAS,IAAIruJ,EAAOud,OAUzB5d,KAAK2uJ,YAAc,IAAItuJ,EAAOud,OAQ9B5d,KAAK4uJ,cAAgB,KAQrB5uJ,KAAK6uJ,eAAiB,KAWtB7uJ,KAAK8uJ,WAAY,EAOjB9uJ,KAAK+uJ,WAAY,EASjB/uJ,KAAKgvJ,eAAgB,EAUrBhvJ,KAAKivJ,YAAc,IAAI5uJ,EAAOoN,MAQ9BzN,KAAKkvJ,UAAY,EAQjBlvJ,KAAKmvJ,cAAgB,EAQrBnvJ,KAAKovJ,cAAgB,IAAI/uJ,EAAOoN,OAIpCpN,EAAO40D,OAAO1uD,UAAYkB,OAAOwb,OAAO5iB,EAAO2rB,OAAOzlB,WACtDlG,EAAO40D,OAAO1uD,UAAU8B,YAAchI,EAAO40D,OAO7C50D,EAAO40D,OAAOo6F,WAAa,EAO3BhvJ,EAAO40D,OAAOq6F,cAAgB,EAQ9BjvJ,EAAO40D,OAAOs6F,cAAgB,EAO9BlvJ,EAAO40D,OAAOu6F,mBAAqB,EAOnCnvJ,EAAO40D,OAAOw6F,mBAAqB,EAOnCpvJ,EAAO40D,OAAOk5F,kBAAoB,EAOlC9tJ,EAAO40D,OAAOy6F,mBAAqB,EA4BnCrvJ,EAAO40D,OAAO1uD,UAAU2uD,cAAgB,SAAU1hC,EAAU3pB,EAAKypB,EAAOmG,GA2BpE,YAzBiBlvB,IAAbipB,IAA0BA,EAAW,QAC3BjpB,IAAVkvB,IAAuBA,EAAQz5B,KAAKgd,KAAKC,OAExCjd,KAAKssJ,UAENtsJ,KAAKssJ,QAAUtsJ,KAAKgd,KAAKzJ,IAAIgiD,aAAal1D,EAAOmwB,QAAQC,OAAQgJ,GACjEz5B,KAAKssJ,QAAQv7H,UAAY/wB,KAAK+tJ,cAGjB,IAAbv6H,KAEkB,IAAdA,IAEAxzB,KAAKusJ,wBAAyB,EAC9B/4H,EAAW,GAGfxzB,KAAKssJ,QAAQ/4H,eAAeC,EAAU3pB,EAAKypB,GAE3CtzB,KAAKssJ,QAAQh3H,OAAO,qBAAsBt1B,MAE1CA,KAAK6tJ,UAAYhkJ,EACjB7J,KAAK8tJ,YAAcx6H,GAGhBtzB,MAeXK,EAAO40D,OAAO1uD,UAAUoB,QAAU,SAAU8rB,EAAUlO,GAIlD,OAFAvlB,KAAKssJ,QAAQp1H,cAAczD,EAAUlO,EAAiBte,WAE/CjH,MAYXK,EAAO40D,OAAO1uD,UAAU85F,SAAW,WAI/B,OAFArgG,KAAKssJ,QAAQh3H,OAAO,eAAe,GAE5Bt1B,MAYXK,EAAO40D,OAAO1uD,UAAU+5F,UAAY,WAIhC,OAFAtgG,KAAKssJ,QAAQh3H,OAAO,eAAe,GAE5Bt1B,MAWXK,EAAO40D,OAAO1uD,UAAU0vB,QAAU,WAM9B,OAJAj2B,KAAKssJ,QAAQp2H,cAAc,QAAQ,GAEnCl2B,KAAKssJ,QAAQh3H,OAAO,eAAe,GAE5Bt1B,MAYXK,EAAO40D,OAAO1uD,UAAUopJ,WAAa,SAAUC,GAS3C,OAPA5vJ,KAAKysJ,MAAQ,OAEIliJ,IAAbqlJ,IAEA5vJ,KAAK0sJ,UAAYkD,GAGd5vJ,MAUXK,EAAO40D,OAAO1uD,UAAU+f,QAAU,WAE9BtmB,KAAKisB,OAAO3G,OAAOtlB,MAAM,GAEzBA,KAAKssJ,QAAQhmI,UAEbtmB,KAAKgd,KAAO,KACZhd,KAAKisB,OAAS,KACdjsB,KAAKqnB,QAAS,EACdrnB,KAAKqd,SAAU,GAUnBhd,EAAO40D,OAAO1uD,UAAUwa,OAAS,WAEzB/gB,KAAKkuJ,kBAAoB7tJ,EAAO40D,OAAOu6F,qBAEnCxvJ,KAAK4uJ,eAEL5uJ,KAAK4uJ,cAActgI,kBACnBtuB,KAAKmd,OAAO/J,SAASpT,KAAK4uJ,cAAcntI,cAActb,EAAGnG,KAAK4uJ,cAAcntI,cAAcvU,IAErFlN,KAAK6uJ,gBAEV7uJ,KAAKmd,OAAO/J,SAASpT,KAAK6uJ,eAAet9B,OAAQvxH,KAAK6uJ,eAAer9B,SAIzExxH,KAAKwsJ,UAELxsJ,KAAK6vJ,QAWbxvJ,EAAO40D,OAAO1uD,UAAUgmB,WAAa,WAE5BvsB,KAAK8uJ,WAAc9uJ,KAAK+uJ,YAK7B/uJ,KAAK+uJ,WAAY,EAEjB/uJ,KAAKkvJ,UAAYlvJ,KAAKmvJ,gBAqB1B9uJ,EAAO40D,OAAO1uD,UAAUupJ,YAAc,SAAUv1H,EAAQqf,EAASC,EAASm1G,GAYtE,YAVgBzkJ,IAAZqvC,IAAyBA,EAAU,QACvBrvC,IAAZsvC,IAAyBA,EAAU,QACjBtvC,IAAlBykJ,IAA+BA,GAAgB,GAEnDhvJ,KAAK6uJ,eAAiB,KACtB7uJ,KAAK4uJ,cAAgBr0H,EACrBv6B,KAAKgvJ,cAAgBA,EAErBhvJ,KAAKivJ,YAAYtiJ,IAAIitC,EAASC,GAEvB75C,MAoBXK,EAAO40D,OAAO1uD,UAAUwpJ,aAAe,SAAU1kI,EAASuuB,EAASC,GAY/D,YAVgBtvC,IAAZ8gB,IAAyBA,EAAUrrB,KAAKgd,KAAKsF,MAAM8f,oBACvC73B,IAAZqvC,IAAyBA,EAAU,QACvBrvC,IAAZsvC,IAAyBA,EAAU,GAEvC75C,KAAK6uJ,eAAiBxjI,EACtBrrB,KAAK4uJ,cAAgB,KACrB5uJ,KAAKgvJ,eAAgB,EAErBhvJ,KAAKivJ,YAAYtiJ,IAAIitC,EAASC,GAEvB75C,MA0BXK,EAAO40D,OAAO1uD,UAAUypJ,SAAW,SAAUC,EAAWpjJ,GAEpD7M,KAAK8uJ,WAAY,EAEjB,IAAIxC,KAEAtjI,EAAQhpB,KAmBZ,OAjBI6M,GAAQ7M,KAAK4uJ,eAAiB5uJ,KAAK6uJ,eAEnCoB,EAAUtoJ,QAAQ,SAASwH,GAEvBm9I,EAAQ/3I,KAAKyU,EAAM6mI,KAAKhjJ,EAAM,KAAM,KAAMsC,EAAOhJ,EAAGgJ,EAAOjC,MAM/D+iJ,EAAUtoJ,QAAQ,SAASmU,GAEvBwwI,EAAQ/3I,KAAKyU,EAAM6mI,KAAK/zI,MAKzBwwI,GAyBXjsJ,EAAO40D,OAAO1uD,UAAU2pJ,WAAa,SAAUt2G,EAASC,GAKpD,YAHgBtvC,IAAZqvC,IAAyBA,EAAU,QACvBrvC,IAAZsvC,IAAyBA,EAAU,GAEhC75C,KAAK6vJ,KAAK,KAAM,KAAM,KAAMj2G,EAASC,IA+BhDx5C,EAAO40D,OAAO1uD,UAAUspJ,KAAO,SAAUhjJ,EAAM1G,EAAG+G,EAAG0sC,EAASC,GAK1D,QAHUtvC,IAANpE,IAAmBA,EAAI,WACjBoE,IAAN2C,IAAmBA,EAAI,MAEvBlN,KAAKgd,KAAKmE,KAAKqb,IAAMx8B,KAAKkvJ,WAAclvJ,KAAK0sJ,UAAY,GAAK1sJ,KAAKysJ,QAAUzsJ,KAAK0sJ,UAElF,OAAO,KAGX,IAAI7rH,EAAQ7gC,KAAKutJ,YAGgB,IAA7BvtJ,KAAKwtJ,sBAEL3sH,GAASxgC,EAAO4F,KAAKy0B,SAAS16B,KAAKwtJ,oBAAqBxtJ,KAAKwtJ,sBAG7D3gJ,EAEI7M,KAAK6sJ,SAASh7I,MAAQ,EAEtB7R,KAAK6sJ,SAASz5I,SAASvG,EAAK1G,EAAG0G,EAAKK,IAIpClN,KAAK6sJ,SAAS1mJ,EAAI0G,EAAK1G,EACvBnG,KAAK6sJ,SAAS3/I,EAAIL,EAAKK,GAGtBlN,KAAK4uJ,eAEN5uJ,KAAKgvJ,eAELhvJ,KAAKovJ,cAAcziJ,IAAI3M,KAAK4uJ,cAAc3xI,MAAM9W,EAAInG,KAAKivJ,YAAY9oJ,EAAGnG,KAAK4uJ,cAAc3xI,MAAM/P,EAAIlN,KAAKivJ,YAAY/hJ,GACtHlN,KAAKovJ,cAAcx8I,OAAO5S,KAAK4uJ,cAAc3xI,MAAM9W,EAAGnG,KAAK4uJ,cAAc3xI,MAAM/P,EAAGlN,KAAK4uJ,cAAczsF,eAEjGniE,KAAK6sJ,SAASh7I,MAAQ,EAEtB7R,KAAK6sJ,SAASz5I,SAASpT,KAAKovJ,cAAcjpJ,EAAGnG,KAAKovJ,cAAcliJ,IAIhElN,KAAK6sJ,SAAS1mJ,EAAInG,KAAKovJ,cAAcjpJ,EACrCnG,KAAK6sJ,SAAS3/I,EAAIlN,KAAKovJ,cAAcliJ,IAKrClN,KAAK6sJ,SAASh7I,MAAQ,EAEtB7R,KAAK6sJ,SAASz5I,SAASpT,KAAK4uJ,cAAc3xI,MAAM9W,EAAInG,KAAKivJ,YAAY9oJ,EAAGnG,KAAK4uJ,cAAc3xI,MAAM/P,EAAIlN,KAAKivJ,YAAY/hJ,IAItHlN,KAAK6sJ,SAAS1mJ,EAAInG,KAAK4uJ,cAAc3xI,MAAM9W,EAAInG,KAAKivJ,YAAY9oJ,EAChEnG,KAAK6sJ,SAAS3/I,EAAIlN,KAAK4uJ,cAAc3xI,MAAM/P,EAAIlN,KAAKivJ,YAAY/hJ,GAIpElN,KAAK+sJ,2BAELlsH,GAAS7gC,KAAK4uJ,cAAcr8H,KAAKsO,QAGhC7gC,KAAK6uJ,iBAEN7uJ,KAAK6sJ,SAASh7I,MAAQ,EAEtB7R,KAAK6sJ,SAASz5I,SAASpT,KAAK6uJ,eAAe5xI,MAAM9W,EAAInG,KAAKivJ,YAAY9oJ,EAAGnG,KAAK6uJ,eAAe5xI,MAAM/P,EAAIlN,KAAKivJ,YAAY/hJ,IAIxHlN,KAAK6sJ,SAAS1mJ,EAAInG,KAAK6uJ,eAAe5xI,MAAM9W,EAAInG,KAAKivJ,YAAY9oJ,EACjEnG,KAAK6sJ,SAAS3/I,EAAIlN,KAAK6uJ,eAAe5xI,MAAM/P,EAAIlN,KAAKivJ,YAAY/hJ,SAIzD3C,IAAZqvC,IAEA55C,KAAK6sJ,SAAS1mJ,GAAKyzC,QAGPrvC,IAAZsvC,IAEA75C,KAAK6sJ,SAAS3/I,GAAK2sC,GAGvB,IAAIi0B,EAAS9tE,KAAK6sJ,SAASh7I,MAAQ,EAAK7R,KAAK6sJ,SAASlxI,QAAU3b,KAAK6sJ,SAAS1mJ,EAC1E4nE,EAAS/tE,KAAK6sJ,SAAS/6I,OAAS,EAAK9R,KAAK6sJ,SAASjxI,QAAU5b,KAAK6sJ,SAAS3/I,EAE3EyB,EAAS3O,KAAkB,cAAIA,KAAK4uJ,cAAcjgJ,MAAQ3O,KAAK8sJ,UAGzD,OAAN3mJ,GAAoB,OAAN+G,IAEdyB,EAAQ3O,KAAKgd,KAAK0E,KAAKvJ,SAASlS,KAAKwO,MAAMvH,EAAI6gE,EAAO5nE,EAAI2nE,KAI7B,IAA7B9tE,KAAKstJ,sBAEL3+I,GAAStO,EAAO4F,KAAKy0B,SAAS16B,KAAKstJ,oBAAqBttJ,KAAKstJ,sBAGjE,IAAI6C,EAAQ,EACRC,EAAQ,EAGE,IAAVzhJ,GAAyB,MAAVA,EAEfwhJ,EAAQlqJ,KAAK2H,IAAI5N,KAAKgd,KAAK0E,KAAK5R,SAASnB,IAAUkyB,EAEpC,KAAVlyB,GAA0B,MAAVA,EAErByhJ,EAAQnqJ,KAAK4H,IAAI7N,KAAKgd,KAAK0E,KAAK5R,SAASnB,IAAUkyB,GAInDsvH,EAAQlqJ,KAAK2H,IAAI5N,KAAKgd,KAAK0E,KAAK5R,SAASnB,IAAUkyB,EACnDuvH,EAAQnqJ,KAAK4H,IAAI7N,KAAKgd,KAAK0E,KAAK5R,SAASnB,IAAUkyB,GAGvD,IAAIwvH,EAAS,KAab,GAXIrwJ,KAAKusJ,wBAEL8D,EAASrwJ,KAAKssJ,QAAQv0H,gBAAe,GAAO,EAAM+1C,EAAOC,EAAO/tE,KAAK6tJ,UAAW7tJ,KAAK8tJ,cAE9EvnH,KAAK+pH,cAAgBtwJ,KAI5BqwJ,EAASrwJ,KAAKssJ,QAAQv0H,gBAAe,GAGrCs4H,EACJ,CAiBI,GAhBAA,EAAOpuI,MAAM6rD,EAAOC,GAEpBsiF,EAAO9pH,KAAKunC,MAAQA,EACpBuiF,EAAO9pH,KAAKwnC,MAAQA,EACpBsiF,EAAO9pH,KAAKgqH,SAAWvwJ,KAAKwwJ,eAC5BH,EAAO9pH,KAAKkqH,aAAezwJ,KAAK0tJ,mBAChC2C,EAAO9pH,KAAKmqH,iBAAmB1wJ,KAAK4tJ,uBAEhC5tJ,KAAKwwJ,iBAAmBnwJ,EAAO40D,OAAOq6F,gBAEtCe,EAAOr+F,SAAWhyD,KAAKytJ,gBAG3B4C,EAAO1hJ,MAAQA,EAAQ3O,KAAKqtJ,kBAGC,KAAzBrtJ,KAAKgtJ,gBACT,CACI,GAA6D,OAAzDqD,EAAOhlG,WAAWi8C,aAAatnG,KAAKgtJ,iBACxC,CACI,IAAIjmD,EAAO/mG,KAAKwuJ,MAAMxuJ,KAAKgtJ,iBAE3BqD,EAAOhlG,WAAW93C,IAAIwzF,EAAK/8F,KAAM+8F,EAAKziB,OAAQyiB,EAAK77C,UAAW67C,EAAK57C,KAAM47C,EAAKE,iBAGlFopD,EAAOhlG,WAAWJ,KAAKjrD,KAAKgtJ,sBAIxBhtJ,KAAKktJ,kBAELmD,EAAO/8H,MAAQtzB,KAAKsuJ,aAAatuJ,KAAKuuJ,oBAEtCvuJ,KAAKuuJ,kBAEwBvuJ,KAAKsuJ,aAAavmJ,SAE3C/H,KAAKuuJ,iBAAmB,IAGvBvuJ,KAAKitJ,oBAEVoD,EAAO/8H,MAAQtzB,KAAKsuJ,aAAaroJ,KAAKI,MAAMJ,KAAKuE,SAAWxK,KAAKsuJ,aAAavmJ,UAIlFsoJ,EAAO9pH,KAAKoqH,YAER3wJ,KAAKkgF,MAAMkuE,YAEXiC,EAAO99H,KAAKvQ,QAAQhiB,KAAKkgF,MAAMruE,MAAO7R,KAAKkgF,MAAMpuE,OAAQ9R,KAAKkgF,MAAMtmC,QAAS55C,KAAKkgF,MAAMrmC,SAG5Fw2G,EAAO99H,KAAKmzG,mBAAqB1lI,KAAK4wJ,yBAEtCP,EAAO9pH,KAAKoqH,WAAY,GAG5BN,EAAO99H,KAAK6sG,SAASzyH,IAAIwjJ,EAAOC,GAChCC,EAAO99H,KAAKyrG,QAAQrxH,IAAI3M,KAAK2tJ,cAAcxnJ,EAAGnG,KAAK2tJ,cAAczgJ,GAEjE,IAAI+mB,EAAO,EAEX,GAAiC,IAA7Bj0B,KAAKwtJ,oBACT,CACI,IAAIvB,EAAOjsJ,KAAK2sJ,UAEhBV,GAAQ5rJ,EAAO4F,KAAKy0B,SAAS16B,KAAK4sJ,iBAAkB5sJ,KAAK4sJ,mBAE9C,IAEPX,EAAO,GAGXh4H,EAAOj0B,KAAKgd,KAAKmE,KAAKqb,IAAMyvH,OAI5Bh4H,EAAOj0B,KAAKgd,KAAKmE,KAAKqb,IAAMx8B,KAAK2sJ,SAGjC3sJ,KAAK8uJ,UAEA9uJ,KAAK+uJ,YAGN/uJ,KAAK+uJ,WAAY,EACjB/uJ,KAAKmvJ,cAAgBl7H,EACrBj0B,KAAKysJ,UAKTzsJ,KAAKkvJ,UAAYj7H,EAEjBj0B,KAAKysJ,SAGTzsJ,KAAKyuJ,OAAOptI,SAASgvI,EAAQrwJ,KAAM6gC,GAE/B7gC,KAAK0sJ,UAAY,GAAK1sJ,KAAKysJ,QAAUzsJ,KAAK0sJ,WAE1C1sJ,KAAK2uJ,YAAYttI,SAASrhB,KAAMA,KAAK0sJ,WAI7C,OAAO2D,GAYXhwJ,EAAO40D,OAAO1uD,UAAUsqJ,cAAgB,SAAUxlI,GAI9C,YAFgB9gB,IAAZ8gB,IAAyBA,EAAUrrB,KAAKgd,KAAKsF,MAAM8f,eAEhDpiC,KAAK6vJ,KAAK,KAAMxkI,EAAQkmG,OAAQlmG,EAAQmmG,SAYnDnxH,EAAO40D,OAAO1uD,UAAUuqJ,aAAe,SAAUv2H,GAE7C,OAAOv6B,KAAK6vJ,KAAK,KAAMt1H,EAAOtd,MAAM9W,EAAGo0B,EAAOtd,MAAM/P,IAaxD7M,EAAO40D,OAAO1uD,UAAUwqJ,SAAW,SAAU5qJ,EAAG+G,GAE5C,OAAOlN,KAAK6vJ,KAAK,KAAM1pJ,EAAG+G,IA0B9B7M,EAAO40D,OAAO1uD,UAAUyqJ,oBAAsB,SAAUn/I,EAAOC,EAAQ8nC,EAASC,GAe5E,YAbgBtvC,IAAZqvC,IAAyBA,EAAU,QACvBrvC,IAAZsvC,IAAyBA,EAAU,GAEvC75C,KAAKkgF,MAAMkuE,YAAa,EACxBpuJ,KAAKkgF,MAAMruE,MAAQA,EACnB7R,KAAKkgF,MAAMpuE,OAASA,EACpB9R,KAAKkgF,MAAMtmC,QAAUA,EACrB55C,KAAKkgF,MAAMrmC,QAAUA,EAGrB75C,KAAKssJ,QAAQ51H,QAAQ,eAAgB,OAAQ7kB,EAAOC,EAAQ8nC,EAASC,GACrE75C,KAAKssJ,QAAQh3H,OAAO,kBAAkB,GAE/Bt1B,MAsBXK,EAAO40D,OAAO1uD,UAAU0qJ,gBAAkB,SAAUr9I,EAAKE,EAAKo9I,EAAO1mJ,GAYjE,YAVcD,IAAV2mJ,IAAuBA,GAAQ,QACpB3mJ,IAAXC,IAAwBA,GAAS,GAErCxK,KAAKsuJ,aAAejuJ,EAAO04B,WAAWo9F,YAAYviH,EAAKE,GAEvD9T,KAAKuuJ,iBAAmB,EAExBvuJ,KAAKktJ,iBAAmBgE,EACxBlxJ,KAAKitJ,kBAAoBziJ,EAElBxK,MAuBXK,EAAO40D,OAAO1uD,UAAU4qJ,mBAAqB,SAAUnnJ,EAAMs6E,EAAQp5B,EAAWC,EAAM87C,GAelF,OAbAjnG,KAAKwuJ,MAAMxkJ,IACPA,KAAMA,EACNs6E,OAAQA,EACRp5B,UAAWA,EACXC,KAAMA,EACN87C,gBAAiBA,GAIrBjnG,KAAKssJ,QAAQ51H,QAAQ,iBAAkB,aAAc1sB,EAAMs6E,EAAQp5B,EAAWC,EAAM87C,GAEpFjnG,KAAKgtJ,gBAAkBhjJ,EAEhBhK,MAaXK,EAAO40D,OAAO1uD,UAAU8f,MAAQ,SAAUlgB,EAAG+G,EAAGkkJ,QAElC7mJ,IAANpE,IAAmBA,EAAI,SACjBoE,IAAN2C,IAAmBA,EAAI,SACP3C,IAAhB6mJ,IAA6BA,GAAc,GAE/CpxJ,KAAKgd,KAAKqJ,MAAM2vC,KAAK,gBAAiB7vD,EAAG+G,GACzClN,KAAKgd,KAAKqJ,MAAM2vC,KAAK,kBAAoBh2D,KAAKssJ,QAAQz0H,MAAQ,aAAe73B,KAAKssJ,QAAQvkJ,OAAQ5B,EAAG+G,EAAI,IAErGkkJ,GAEApxJ,KAAKssJ,QAAQp1H,cAAcl3B,KAAKgd,KAAKqJ,MAAMkM,KAAMvyB,KAAKgd,KAAKqJ,MAAO,2BAc1E5e,OAAOmF,eAAevM,EAAO40D,OAAO1uD,UAAW,eAE3CmG,IAAK,WAED,OAAO1M,KAAK+tJ,cAIhBphJ,IAAK,SAAUokB,GAEX/wB,KAAK+tJ,aAAeh9H,EAGhB/wB,KAAKssJ,UACLtsJ,KAAKssJ,QAAQv7H,UAAY/wB,KAAK+tJ,iBAqC1CtmJ,OAAOmF,eAAevM,EAAO40D,OAAO1uD,UAAW,kBAE3CmG,IAAK,WAED,OAAO1M,KAAKkuJ,iBAIhBvhJ,IAAK,SAAUvE,GAEX,OAAQA,GAEJ,KAAK/H,EAAO40D,OAAOy6F,mBACnB,KAAKrvJ,EAAO40D,OAAOu6F,mBACfxvJ,KAAKquJ,aAAeruJ,KAAKmd,OACzB,MAEJ,KAAK9c,EAAO40D,OAAOw6F,mBACfzvJ,KAAKquJ,aAAeruJ,KAAKgd,KAAKqC,OAAOnC,KACrC,MAEJ,KAAK7c,EAAO40D,OAAOk5F,kBACfnuJ,KAAKquJ,aAAeruJ,KAAKgd,KAAKC,MAAME,OAI5Cnd,KAAKkuJ,gBAAkB9lJ,KAY/BX,OAAOmF,eAAevM,EAAO40D,OAAO1uD,UAAW,4BAE3CmG,IAAK,WAED,OAAO1M,KAAKiuJ,2BAIhBthJ,IAAK,SAAUzC,GAEXlK,KAAKiuJ,0BAA4B/jJ,EAEjClK,KAAKssJ,QAAQh3H,OAAO,0BAA2BprB,GAC/ClK,KAAKssJ,QAAQh3H,OAAO,kBAAkB,MAa9C7tB,OAAOmF,eAAevM,EAAO40D,OAAO1uD,UAAW,KAE3CmG,IAAK,WAED,OAAO1M,KAAK6sJ,SAAS1mJ,GAIzBwG,IAAK,SAAUzC,GAEXlK,KAAK6sJ,SAAS1mJ,EAAI+D,KAY1BzC,OAAOmF,eAAevM,EAAO40D,OAAO1uD,UAAW,KAE3CmG,IAAK,WAED,OAAO1M,KAAK6sJ,SAAS3/I,GAIzBP,IAAK,SAAUzC,GAEXlK,KAAK6sJ,SAAS3/I,EAAIhD,KAwB1B7J,EAAO2tJ,OAAS,SAAUhxI,EAAM7W,EAAG+G,EAAGrD,EAAKypB,GAEvCjzB,EAAO2wB,OAAOhqB,KAAKhH,KAAMgd,EAAM7W,EAAG+G,EAAGrD,EAAKypB,GAE1CtzB,KAAK6rB,OAAOlf,IAAI,IAEhB3M,KAAKumC,MACD+pH,cAAe,KACfxiF,MAAO,EACPC,MAAO,EACP4iF,WAAW,EACXD,kBAAkB,EAClBH,SAAU,EACVE,aAAc,IAKtBpwJ,EAAO2tJ,OAAOznJ,UAAYkB,OAAOwb,OAAO5iB,EAAO2wB,OAAOzqB,WACtDlG,EAAO2tJ,OAAOznJ,UAAU8B,YAAchI,EAAO2tJ,OAS7C3tJ,EAAO2tJ,OAAOznJ,UAAUyvB,KAAO,WAQ3B,OANAh2B,KAAK4wB,OAAQ,EACb5wB,KAAKitB,QAAS,EACdjtB,KAAKqd,SAAU,EAEfrd,KAAKumC,KAAK+pH,cAAc5B,OAAOrtI,SAASrhB,MAEjCA,MAUXK,EAAO2tJ,OAAOznJ,UAAUwa,OAAS,WAExB/gB,KAAKitB,SAKNjtB,KAAKumC,KAAKgqH,SAAWlwJ,EAAO40D,OAAOq6F,gBAE/BtvJ,KAAKumC,KAAKgqH,WAAalwJ,EAAO40D,OAAOs6F,cAEjCvvJ,KAAKgd,KAAK4F,QAAQy6G,OAAO+G,aAAapkI,KAAMA,KAAKumC,KAAKunC,MAAO9tE,KAAKumC,KAAKwnC,OAAO,GAAQ/tE,KAAKumC,KAAKkqH,cAEhGzwJ,KAAKg2B,OAKJh2B,KAAKumC,KAAK+pH,cAAcjC,aAAax+I,WAAW7P,OAEjDA,KAAKg2B,QAKbh2B,KAAKumC,KAAKmqH,mBAEV1wJ,KAAKg6B,SAAW/zB,KAAKwO,MAAMzU,KAAKuyB,KAAK6sG,SAASlyH,EAAGlN,KAAKuyB,KAAK6sG,SAASj5H,IAGpEnG,KAAKumC,KAAK+pH,cAAcnD,iBAExBntJ,KAAKgd,KAAKC,MAAMvI,KAAK1U,KAAMA,KAAKumC,KAAK+pH,cAAclD,0BA0C3D/sJ,EAAO8tD,MAAQ,SAAUnxC,EAAMnT,EAAKmuD,GAgMhC,QA9LYztD,IAARV,IAAqBA,EAAM,WACnBU,IAARytD,IAAqBA,EAAM,MAK/Bh4D,KAAKgd,KAAOA,EAMZhd,KAAK6J,IAAMA,EAMX7J,KAAK6R,MAAQ,EAMb7R,KAAK8R,OAAS,EAMd9R,KAAKoI,KAAO/H,EAAOyC,MAKnB9C,KAAKu9D,sBAAuB,EAM5Bv9D,KAAKkuG,aAAc,EAKnBluG,KAAKmjH,OAAS,IAAI9iH,EAAOud,OAKzB5d,KAAKouD,eAAiB,IAAI/tD,EAAOud,OAKjC5d,KAAK+gG,WAAa,IAAI1gG,EAAOud,OAK7B5d,KAAKqxJ,SAAW,IAAIhxJ,EAAOud,OAK3B5d,KAAKsxJ,QAAU,IAAIjxJ,EAAOud,OAO1B5d,KAAKuxJ,UAAY,IAAIlxJ,EAAOud,OAM5B5d,KAAKk7G,QAAU,KAMfl7G,KAAK20F,WAAa,KAKlB30F,KAAK+3D,MAAQ,KAKb/3D,KAAKwxJ,YAAc,KAKnBxxJ,KAAKyxJ,aAAc,EASnBzxJ,KAAK0xJ,WAAa,GAMlB1xJ,KAAK2xJ,MAAQ,EAMb3xJ,KAAK4xJ,cAAgB,IAMrB5xJ,KAAK6xJ,SAAW,KAOhB7xJ,KAAKulH,YAAa,EAOlBvlH,KAAKyjH,QAAS,EAOdzjH,KAAK67B,aAAc,EAOnB77B,KAAK47B,SAAU,EAOf57B,KAAK8xJ,UAAW,EAOhB9xJ,KAAK+xJ,sBAAuB,EAO5B/xJ,KAAKgyJ,WAAY,EAMjBhyJ,KAAKiyJ,aAAe,KAMpBjyJ,KAAKkyJ,cAAgB,KAEjBroJ,GAAO7J,KAAKgd,KAAKqF,MAAMgvF,cAAcxnG,GACzC,CACI,IAAIsoJ,EAASnyJ,KAAKgd,KAAKqF,MAAM8vF,SAAStoG,GAElCsoJ,EAAOxiD,OAEP3vG,KAAKoyJ,oBAAoBD,EAAO5rH,MAIhCvmC,KAAK+3D,MAAQo6F,EAAO5rH,KAGxBvmC,KAAK6R,MAAQ7R,KAAK+3D,MAAMs6F,WACxBryJ,KAAK8R,OAAS9R,KAAK+3D,MAAMu6F,iBAEpBt6F,GAELh4D,KAAKuyJ,mBAAmBv6F,GAAK,GAO7Bh4D,KAAK+3D,QAAUC,GAEfh4D,KAAKqmC,YAAc,IAAItgC,KAAKm3D,YAAYl9D,KAAK+3D,MAAO,KAAM/3D,KAAKgd,KAAKoN,YACpEpqB,KAAKqmC,YAAYmsH,YAAYxyJ,KAAK6R,MAAO7R,KAAK8R,UAI9C9R,KAAKqmC,YAAc,IAAItgC,KAAKm3D,YAAY78D,EAAOurB,MAAMhmB,QAAQygC,YAAYl4B,OAAQ,KAAMnO,KAAKgd,KAAKoN,YACjGpqB,KAAKqmC,YAAYmsH,YAAYxyJ,KAAK6R,MAAO7R,KAAK8R,SAOlD9R,KAAKomC,QAAU,IAAIrgC,KAAKktD,QAAQjzD,KAAKqmC,aAMrCrmC,KAAKo9D,aAAe,IAAI/8D,EAAOi9D,MAAM,EAAG,EAAG,EAAGt9D,KAAK6R,MAAO7R,KAAK8R,OAAQ,SAEvE9R,KAAKomC,QAAQisB,SAASryD,KAAKo9D,cAE3Bp9D,KAAKomC,QAAQ0sB,OAAQ,EAET,OAARjpD,GAAgB7J,KAAK+3D,QAErB/3D,KAAKomC,QAAQ0sB,MAAQ9yD,KAAK+3D,MAAMuiD,SAWpCt6G,KAAKyyJ,SAAW,KAEZpyJ,EAAOoyD,aAEPzyD,KAAKyyJ,SAAW,IAAIpyJ,EAAOoyD,WAAWzyD,KAAKgd,KAAM,GAAIhd,KAAK6R,MAAO7R,KAAK8R,SAGtE9R,KAAKgd,KAAKsS,OAAO4jE,mBAEjBlzF,KAAKimH,eAIDksC,IAEAA,EAAOhrH,QAAS,IAM5B9mC,EAAO8tD,MAAM5nD,WAUTmsJ,qBAAsB,SAAU36F,EAAO46F,GAcnC,OAZI56F,GAAS46F,IAET3yJ,KAAK+3D,MAAQA,EACb/3D,KAAKwxJ,YAAcmB,EAEnB3yJ,KAAKyxJ,aAAc,EACnBzxJ,KAAKqmC,YAAYl4B,OAASnO,KAAK+3D,MAC/B/3D,KAAKi9E,cAAc,KAAMj9E,KAAK+3D,MAAMs6F,WAAYryJ,KAAK+3D,MAAMu6F,aAE3DtyJ,KAAKqxJ,SAAShwI,SAASrhB,OAGpBA,MAuBX4yJ,iBAAkB,SAAUC,EAAchhJ,EAAOC,GAM7C,QAJqBvH,IAAjBsoJ,IAA8BA,GAAe,QACnCtoJ,IAAVsH,IAAuBA,EAAQ,WACpBtH,IAAXuH,IAAwBA,EAAS,OAEhC9R,KAAKgd,KAAKsS,OAAOm8D,aAGlB,OADAzrF,KAAKsxJ,QAAQjwI,SAASrhB,KAAM,oBACrB,EAGc,OAArBA,KAAKwxJ,cAEDxxJ,KAAKwxJ,YAAoB,OAEzBxxJ,KAAKwxJ,YAAYnqI,QAAS,EAI1BrnB,KAAKwxJ,YAAY5xH,QAIzB5/B,KAAK8yJ,qBAEL9yJ,KAAK+3D,MAAQvpC,SAASqxD,cAAc,SACpC7/E,KAAK+3D,MAAMg7F,aAAa,WAAY,YAEtB,OAAVlhJ,IAEA7R,KAAK+3D,MAAMlmD,MAAQA,GAGR,OAAXC,IAEA9R,KAAK+3D,MAAMjmD,OAASA,GAKxB9R,KAAK20F,WAAa1sF,OAAOwmF,WAAWzuF,KAAKgzJ,oBAAoBxsJ,KAAKxG,MAAOA,KAAKk7G,SAE9E,IACIhhE,UAAUuxC,cACJ/1B,MAASm9F,EAAc96F,OAAS,GAClC/3D,KAAKizJ,oBAAoBzsJ,KAAKxG,MAC9BA,KAAKkzJ,kBAAkB1sJ,KAAKxG,OAGpC,MAAOyvF,GAEHzvF,KAAKkzJ,kBAAkBzjE,GAG3B,OAAOzvF,MAQXgzJ,oBAAqB,WAEjBh+D,aAAah1F,KAAK20F,YAElB30F,KAAKuxJ,UAAUlwI,SAASrhB,OAQ5BkzJ,kBAAmB,SAAUrkI,GAEzBmmE,aAAah1F,KAAK20F,YAElB30F,KAAKsxJ,QAAQjwI,SAASrhB,KAAM6uB,IAQhCokI,oBAAqB,SAAUN,GAE3B39D,aAAah1F,KAAK20F,YAGlB30F,KAAKwxJ,YAAcmB,OAGapoJ,IAA5BvK,KAAK+3D,MAAMo7F,aAEXnzJ,KAAK+3D,MAAMo7F,aAAeR,EAI1B3yJ,KAAK+3D,MAAM/rD,IAAO/D,OAAO0pF,KAAO1pF,OAAO0pF,IAAIyhE,gBAAgBT,IAAYA,EAG3E,IAAI/8I,EAAO5V,KAEXA,KAAK+3D,MAAMs7F,aAAe,WAItB,SAASC,IAEL,GAAI3B,EAAQ,EAER,GAAI/7I,EAAKmiD,MAAMs6F,WAAa,EAC5B,CAEI,IAAIxgJ,EAAQ+D,EAAKmiD,MAAMs6F,WACnBvgJ,EAAS8D,EAAKmiD,MAAMu6F,YAEpBzwG,MAAMjsC,EAAKmiD,MAAMu6F,eAEjBxgJ,EAASD,GAAS,EAAE,IAGxB+D,EAAKmiD,MAAM9M,OAEXr1C,EAAK67I,aAAc,EACnB77I,EAAKywB,YAAYl4B,OAASyH,EAAKmiD,MAC/BniD,EAAKqnE,cAAc,KAAMprE,EAAOC,GAChC8D,EAAKy7I,SAAShwI,SAASzL,QAIvB3N,OAAOwmF,WAAW6kE,EAAa,UAKnChrJ,QAAQG,KAAK,oDAGjBkpJ,IAlCJ,IAAIA,EAAQ,GAqCZ2B,MAcRlB,oBAAqB,SAAU7uD,GAE3B,IAAIv6E,EAAQhpB,KASZ,OAPAA,KAAK+3D,MAAQvpC,SAASqxD,cAAc,SACpC7/E,KAAK+3D,MAAMoiD,UAAW,EACtBn6G,KAAK+3D,MAAMg7F,aAAa,WAAY,YACpC/yJ,KAAK+3D,MAAM9oC,iBAAiB,aAAc,SAAUJ,GAAS7F,EAAMi0D,cAAcpuD,KAAW,GAC5F7uB,KAAK+3D,MAAM/rD,IAAM/D,OAAO0pF,IAAIyhE,gBAAgB7vD,GAC5CvjG,KAAK+3D,MAAMuiD,SAAU,EAEdt6G,MAYXuyJ,mBAAoB,SAAUv6F,EAAKoiD,GA8B/B,YA5BiB7vG,IAAb6vG,IAA0BA,GAAW,GAGrCp6G,KAAKomC,UAELpmC,KAAKomC,QAAQ0sB,OAAQ,GAGzB9yD,KAAK+3D,MAAQvpC,SAASqxD,cAAc,SACpC7/E,KAAK+3D,MAAMoiD,UAAW,EAElBC,GAEAp6G,KAAK+3D,MAAMg7F,aAAa,WAAY,YAGxC/yJ,KAAK+3D,MAAM/rD,IAAMgsD,EAEjBh4D,KAAK+3D,MAAMuiD,SAAU,EAErBt6G,KAAK+3D,MAAMx1C,OAEXviB,KAAK2xJ,MAAQ3xJ,KAAK0xJ,WAElB1xJ,KAAK6xJ,SAAW5pJ,OAAOwmF,WAAWzuF,KAAKuzJ,mBAAmB/sJ,KAAKxG,MAAOA,KAAK4xJ,eAE3E5xJ,KAAK6J,IAAMmuD,EAEJh4D,MAaXi9E,cAAe,SAAUpuD,EAAOhd,EAAOC,GAEnC,IAAI0hJ,GAAS,OAECjpJ,IAAVsH,GAAiC,OAAVA,IAAkBA,EAAQ7R,KAAK+3D,MAAMs6F,WAAYmB,GAAS,QACtEjpJ,IAAXuH,GAAmC,OAAXA,IAAmBA,EAAS9R,KAAK+3D,MAAMu6F,aAEnEtyJ,KAAK6R,MAAQA,EACb7R,KAAK8R,OAASA,EAEV9R,KAAKqmC,YAAYl4B,SAAWnO,KAAK+3D,QAEjC/3D,KAAKqmC,YAAYl4B,OAASnO,KAAK+3D,OAGnC/3D,KAAKqmC,YAAYmsH,YAAY3gJ,EAAOC,GAEpC9R,KAAKomC,QAAQ9S,MAAMjY,OAAOxJ,EAAOC,GAEjC9R,KAAKomC,QAAQv0B,MAAQA,EACrB7R,KAAKomC,QAAQt0B,OAASA,EAEtB9R,KAAKomC,QAAQ0sB,OAAQ,EAEjB9yD,KAAKyyJ,UAELzyJ,KAAKyyJ,SAASp3I,OAAOxJ,EAAOC,GAG5B0hJ,GAAuB,OAAbxzJ,KAAK6J,MAEf7J,KAAKouD,eAAe/sC,SAASrhB,KAAM6R,EAAOC,GAEtC9R,KAAKgyJ,YAELhyJ,KAAK+3D,MAAM9M,OACXjrD,KAAKmjH,OAAO9hG,SAASrhB,KAAMA,KAAKmrD,KAAMnrD,KAAKyzJ,iBAYvD7xD,SAAU,WAEN5hG,KAAK+gG,WAAW1/E,SAASrhB,OAc7BirD,KAAM,SAAUE,EAAMsoG,GAElB,OAAIzzJ,KAAK+xJ,qBAEE/xJ,WAGEuK,IAAT4gD,IAAsBA,GAAO,QACZ5gD,IAAjBkpJ,IAA8BA,EAAe,GAE7CzzJ,KAAKgd,KAAKwF,MAAM6gG,SAEhBrjH,KAAKgd,KAAKwF,MAAM6gG,OAAO9vG,IAAIvT,KAAKggC,QAAShgC,MACzCA,KAAKgd,KAAKwF,MAAM6iG,SAAS9xG,IAAIvT,KAAKmgC,UAAWngC,MAEzCA,KAAKgd,KAAKwF,MAAMmiG,MAEhB3kH,KAAKggC,WAIbhgC,KAAKgd,KAAK+H,QAAQxR,IAAIvT,KAAK0zJ,SAAU1zJ,MACrCA,KAAKgd,KAAKiI,SAAS1R,IAAIvT,KAAK2zJ,UAAW3zJ,MAEvCA,KAAKiyJ,aAAejyJ,KAAK4hG,SAASp7F,KAAKxG,MAEvCA,KAAK+3D,MAAM9oC,iBAAiB,QAASjvB,KAAKiyJ,cAAc,GACxDjyJ,KAAK+3D,MAAM9oC,iBAAiB,sBAAuBjvB,KAAKiyJ,cAAc,GAIlEjyJ,KAAK+3D,MAAM5M,KAFXA,EAEkB,OAIA,GAGtBnrD,KAAK+3D,MAAM07F,aAAeA,EAEtBzzJ,KAAKkuG,YAELluG,KAAK8xJ,UAAW,GAIhB9xJ,KAAK8xJ,UAAW,EAEC,OAAb9xJ,KAAK6J,MAEyB,IAA1B7J,KAAK+3D,MAAMy2B,YAEXxuF,KAAK2xJ,MAAQ3xJ,KAAK0xJ,WAClB1xJ,KAAK6xJ,SAAW5pJ,OAAOwmF,WAAWzuF,KAAKuzJ,mBAAmB/sJ,KAAKxG,MAAOA,KAAK4xJ,iBAI3E5xJ,KAAKkyJ,cAAgBlyJ,KAAK4zJ,YAAYptJ,KAAKxG,MAC3CA,KAAK+3D,MAAM9oC,iBAAiB,UAAWjvB,KAAKkyJ,eAAe,KAInElyJ,KAAK+3D,MAAM9M,OAEXjrD,KAAKmjH,OAAO9hG,SAASrhB,KAAMmrD,EAAMsoG,IAG9BzzJ,OAUX4zJ,YAAa,WAET5zJ,KAAK+3D,MAAM5nC,oBAAoB,UAAWnwB,KAAKkyJ,eAAe,GAE9DlyJ,KAAKi9E,iBAkBTr9C,KAAM,WA8DF,OA5DI5/B,KAAKgd,KAAKwF,MAAM6gG,SAEhBrjH,KAAKgd,KAAKwF,MAAM6gG,OAAO/9F,OAAOtlB,KAAKggC,QAAShgC,MAC5CA,KAAKgd,KAAKwF,MAAM6iG,SAAS//F,OAAOtlB,KAAKmgC,UAAWngC,OAGpDA,KAAKgd,KAAK+H,QAAQO,OAAOtlB,KAAK0zJ,SAAU1zJ,MACxCA,KAAKgd,KAAKiI,SAASK,OAAOtlB,KAAK2zJ,UAAW3zJ,MAItCA,KAAKyxJ,aAEDzxJ,KAAK+3D,MAAMo7F,cAEXnzJ,KAAK+3D,MAAMo7F,aAAavzH,OACxB5/B,KAAK+3D,MAAM/rD,IAAM,OAIjBhM,KAAK+3D,MAAM/rD,IAAM,GAEbhM,KAAKwxJ,YAAoB,OAEzBxxJ,KAAKwxJ,YAAYnqI,QAAS,EAItBrnB,KAAKwxJ,YAAYqC,UAEjB7zJ,KAAKwxJ,YAAYqC,YAAYlsJ,QAAQ,SAAUmsJ,GAC3CA,EAAMl0H,SAKV5/B,KAAKwxJ,YAAY5xH,QAK7B5/B,KAAKwxJ,YAAc,KACnBxxJ,KAAKyxJ,aAAc,IAInBzxJ,KAAK+3D,MAAM5nC,oBAAoB,QAASnwB,KAAKiyJ,cAAc,GAC3DjyJ,KAAK+3D,MAAM5nC,oBAAoB,sBAAuBnwB,KAAKiyJ,cAAc,GACzEjyJ,KAAK+3D,MAAM5nC,oBAAoB,UAAWnwB,KAAKkyJ,eAAe,GAE1DlyJ,KAAKkuG,YAELluG,KAAK8xJ,UAAW,EAIhB9xJ,KAAK+3D,MAAM/yC,SAIZhlB,MAYXuT,IAAK,SAAUglB,GAEX,GAAI7xB,MAAMa,QAAQgxB,GAEd,IAAK,IAAIvwB,EAAI,EAAGA,EAAIuwB,EAAOxwB,OAAQC,IAE3BuwB,EAAOvwB,GAAgB,aAEvBuwB,EAAOvwB,GAAGmwB,YAAYn4B,WAM9Bu4B,EAAOJ,YAAYn4B,MAGvB,OAAOA,MAgBXwrB,WAAY,SAAUrlB,EAAG+G,EAAGue,EAASC,EAASu1C,EAAQC,GAElDD,EAASA,GAAU,EACnBC,EAASA,GAAU,EAEnB,IAAIv1C,EAAQ3rB,KAAKgd,KAAKzJ,IAAIoY,MAAMxlB,EAAG+G,EAAGlN,MAKtC,OAHA2rB,EAAME,OAAOlf,IAAI8e,EAASC,GAC1BC,EAAM3U,MAAMrK,IAAIs0D,EAAQC,GAEjBv1C,GAWXxI,OAAQ,YAECnjB,KAAKu9D,sBAAwBv9D,KAAK+zJ,SAEnC/zJ,KAAKqmC,YAAYrc,SAWzBgW,QAAS,WAEDhgC,KAAKyjH,SAKTzjH,KAAKyjH,QAAS,EAEdzjH,KAAK+3D,MAAM2sD,OAAQ,IAUvBvkF,UAAW,WAEFngC,KAAKyjH,SAAUzjH,KAAKulH,aAKzBvlH,KAAKyjH,QAAS,EAEdzjH,KAAK+3D,MAAM2sD,OAAQ,IAUvBgvC,SAAU,WAEF1zJ,KAAK47B,SAAW57B,KAAKkuG,cAKzBluG,KAAK47B,SAAU,EAEf57B,KAAK+3D,MAAM/yC,UAUf2uI,UAAW,YAEF3zJ,KAAK47B,SAAW57B,KAAK67B,aAAe77B,KAAKkuG,cAK9CluG,KAAK47B,SAAU,EAEV57B,KAAK+3D,MAAMi8F,OAEZh0J,KAAK+3D,MAAM9M,SA0BnBgpG,aAAc,SAAUjoJ,EAAKouG,GA0BzB,YAxBiB7vG,IAAb6vG,IAA0BA,GAAW,GAGzCp6G,KAAKomC,QAAQ0sB,OAAQ,EAErB9yD,KAAK+3D,MAAM/yC,QAEXhlB,KAAK+xJ,sBAAuB,EAE5B/xJ,KAAK2xJ,MAAQ3xJ,KAAK0xJ,WAElB1xJ,KAAK6xJ,SAAW5pJ,OAAOwmF,WAAWzuF,KAAKuzJ,mBAAmB/sJ,KAAKxG,MAAOA,KAAK4xJ,eAE3E5xJ,KAAK+3D,MAAM/rD,IAAMA,EAEjBhM,KAAK+3D,MAAMx1C,OAEXviB,KAAKgyJ,UAAY53C,EAEZA,IAEDp6G,KAAKojB,QAAS,GAGXpjB,MAUXuzJ,mBAAoB,WAGc,IAA1BvzJ,KAAK+3D,MAAMy2B,YAEXxuF,KAAK+xJ,sBAAuB,EAG5B/xJ,KAAKi9E,mBAILj9E,KAAK2xJ,MAEY,EAEb3xJ,KAAK6xJ,SAAW5pJ,OAAOwmF,WAAWzuF,KAAKuzJ,mBAAmB/sJ,KAAKxG,MAAOA,KAAK4xJ,eAI3EtpJ,QAAQG,KAAK,0DAA2DzI,KAAKyxJ,cAYzFxrC,aAAc,WAEVjmH,KAAKgd,KAAKsF,MAAMkiB,qBAAqBxkC,KAAKkmH,OAAQlmH,MAClDA,KAAKkuG,aAAc,GAWvBgY,OAAQ,WAQJ,GANAlmH,KAAKkuG,aAAc,EAEnBluG,KAAK+3D,MAAM9M,OAEXjrD,KAAKmjH,OAAO9hG,SAASrhB,KAAMA,KAAKmrD,KAAMnrD,KAAKyzJ,cAEvCzzJ,KAAK6J,IACT,CACI,IAAIsoJ,EAASnyJ,KAAKgd,KAAKqF,MAAM8vF,SAASnyG,KAAK6J,KAEvCsoJ,IAAWA,EAAOxiD,SAElBwiD,EAAOhrH,QAAS,GAIxB,OAAO,GAiBX+sH,KAAM,SAAUxzI,EAAOD,EAAO4gD,GAM1B,QAJc92D,IAAVmW,IAAuBA,GAAQ,QACrBnW,IAAVkW,IAAuBA,EAAQ,QACjBlW,IAAd82D,IAA2BA,EAAY,MAErB,OAAlBrhE,KAAKyyJ,SAaT,OAPI/xI,GAEA1gB,KAAKyyJ,SAASj1F,MAGlBx9D,KAAKyyJ,SAASxmJ,KAAKjM,KAAK+3D,MAAO,EAAG,EAAG/3D,KAAK6R,MAAO7R,KAAK8R,OAAQ,EAAG,EAAG9R,KAAK6R,MAAO7R,KAAK8R,OAAQ,EAAG,EAAG,EAAG,EAAG,EAAG2O,EAAO4gD,GAE5GrhE,KAAKyyJ,SAXRnqJ,QAAQG,KAAK,mEAqBrBqqJ,mBAAoB,WAEhB,GAAK9yJ,KAAK+3D,MAAV,CAUA,IALI/3D,KAAK+3D,MAAM+7B,YAEX9zF,KAAK+3D,MAAM+7B,WAAW9+D,YAAYh1B,KAAK+3D,OAGpC/3D,KAAK+3D,MAAMo8F,iBAEdn0J,KAAK+3D,MAAM/iC,YAAYh1B,KAAK+3D,MAAMq8F,YAGtCp0J,KAAK+3D,MAAMs8F,gBAAgB,YAC3Br0J,KAAK+3D,MAAMs8F,gBAAgB,OAE3Br0J,KAAK+3D,MAAQ,OAUjBzxC,QAAS,WAELtmB,KAAK4/B,OAEL5/B,KAAK8yJ,qBAED9yJ,KAAKkuG,aAELluG,KAAKgd,KAAKsF,MAAMigB,MAAMmC,wBAAwB1kC,KAAKkmH,OAAQlmH,MAG3DA,KAAK6xJ,UAEL5pJ,OAAO+sF,aAAah1F,KAAK6xJ,YAWrCpqJ,OAAOmF,eAAevM,EAAO8tD,MAAM5nD,UAAW,eAE1CmG,IAAK,WAED,OAAQ1M,KAAU,MAAIA,KAAK+3D,MAAM6pD,YAAc,GAInDj1G,IAAK,SAAUzC,GAEXlK,KAAK+3D,MAAM6pD,YAAc13G,KAWjCzC,OAAOmF,eAAevM,EAAO8tD,MAAM5nD,UAAW,YAE1CmG,IAAK,WAED,OAAQ1M,KAAU,MAAIA,KAAK+3D,MAAM15C,SAAW,KAWpD5W,OAAOmF,eAAevM,EAAO8tD,MAAM5nD,UAAW,YAE1CmG,IAAK,WAED,OAAQ1M,KAAU,MAAKA,KAAK+3D,MAAM6pD,YAAc5hH,KAAK+3D,MAAM15C,SAAY,KAU/E5W,OAAOmF,eAAevM,EAAO8tD,MAAM5nD,UAAW,QAE1CmG,IAAK,WAED,OAAO1M,KAAKyjH,QAIhB92G,IAAK,SAAUzC,GAIX,GAFAA,EAAQA,GAAS,KAGjB,CACI,GAAIlK,KAAKyjH,OAEL,OAGJzjH,KAAKulH,YAAa,EAClBvlH,KAAKggC,cAGT,CACI,IAAKhgC,KAAKyjH,OAEN,OAGJzjH,KAAKulH,YAAa,EAClBvlH,KAAKmgC,gBAajB14B,OAAOmF,eAAevM,EAAO8tD,MAAM5nD,UAAW,UAE1CmG,IAAK,WAED,OAAO1M,KAAK47B,SAIhBjvB,IAAK,SAAUzC,GAIX,GAFAA,EAAQA,GAAS,MAEblK,KAAKkuG,YAKT,GAAIhkG,EACJ,CACI,GAAIlK,KAAK47B,QAEL,OAGJ57B,KAAK67B,aAAc,EACnB77B,KAAK0zJ,eAGT,CACI,IAAK1zJ,KAAK47B,QAEN,OAGJ57B,KAAK67B,aAAc,EACnB77B,KAAK2zJ,gBAUjBlsJ,OAAOmF,eAAevM,EAAO8tD,MAAM5nD,UAAW,UAE1CmG,IAAK,WAED,OAAQ1M,KAAU,MAAIA,KAAK+3D,MAAMv7C,OAAS,GAI9C7P,IAAK,SAAUzC,GAEPA,EAAQ,EAERA,EAAQ,EAEHA,EAAQ,IAEbA,EAAQ,GAGRlK,KAAK+3D,QAEL/3D,KAAK+3D,MAAMv7C,OAAStS,MAWhCzC,OAAOmF,eAAevM,EAAO8tD,MAAM5nD,UAAW,gBAE1CmG,IAAK,WAED,OAAQ1M,KAAU,MAAIA,KAAK+3D,MAAM07F,aAAe,GAIpD9mJ,IAAK,SAAUzC,GAEPlK,KAAK+3D,QAEL/3D,KAAK+3D,MAAM07F,aAAevpJ,MAetCzC,OAAOmF,eAAevM,EAAO8tD,MAAM5nD,UAAW,QAE1CmG,IAAK,WAED,QAAQ1M,KAAU,OAAIA,KAAK+3D,MAAM5M,MAIrCx+C,IAAK,SAAUzC,GAEPA,GAASlK,KAAK+3D,MAEd/3D,KAAK+3D,MAAM5M,KAAO,OAEbnrD,KAAK+3D,QAEV/3D,KAAK+3D,MAAM5M,KAAO,OAY9B1jD,OAAOmF,eAAevM,EAAO8tD,MAAM5nD,UAAW,WAE1CmG,IAAK,WAED,QAAQ1M,KAAU,SAAMA,KAAK+3D,MAAM30C,QAAUpjB,KAAK+3D,MAAMi8F,UAMhE3zJ,EAAO8tD,MAAM5nD,UAAU8B,YAAchI,EAAO8tD,WAWpB5jD,IAApBxE,KAAKtB,aAELsB,KAAKtB,WAAapE,EAAOoE,iBAGL8F,IAApBxE,KAAKJ,aAELI,KAAKJ,WAAatF,EAAOsF,iBAGK4E,IAA9BxE,KAAKktD,QAAQqhG,eAEbvuJ,KAAKktD,QAAQqhG,aAAe,IAAIvuJ,KAAKktD,QAAQ,IAAIltD,KAAKm3D,mBAGnB3yD,IAAnCxE,KAAKwuJ,cAAc78E,cAEnB3xE,KAAKwuJ,cAAc78E,YAAc,IAAIr3E,EAAO8V,QAGhDpQ,KAAKyuJ,mBAAoB,EAGzBzuJ,KAAK0uJ,0BAA4B,WAC7B,OAAOp0J,EAAOg7B,OAAO4vD,gBASE,oBAAZypE,SACe,oBAAXC,QAA0BA,OAAOD,UACxCA,QAAUC,OAAOD,QAAUr0J,GAE/Bq0J,QAAQr0J,OAASA,GACQ,oBAAXu0J,QAA0BA,OAAOC,IAC/CD,OAAO,SAA+Bx0J,EAAKC,OAASA,GAEpDD,EAAKC,OAASA,EAGXA,IACR2G,KAAKhH","file":"phaser-split.min.js"} \ No newline at end of file diff --git a/build/custom/phaser-split.min.js b/build/custom/phaser-split.min.js index 406e6c5f8..b4baaa4ca 100644 --- a/build/custom/phaser-split.min.js +++ b/build/custom/phaser-split.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.9.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.9.1 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.9.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,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,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,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||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var o=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,o)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var o=Math.ceil((n=e-t.length)/2),r=n-o;t=new Array(r+1).join(i)+t+new Array(o+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,o,r,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(e),r=n*Math.sin(e);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,o){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),o||(o=[]);for(var r=0;r0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,o=s-e.halfHeight;return n*n+o*o<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,o=t.y,r=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-r*e.end.x,h=t.radius,l=t.radius,c=a+r*n,u=(n*(l*l)-r*(h*h)*(a-o)+h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),d=(n*(l*l)-r*(h*h)*(a-o)-h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),p=r*u+a,f=r*d+a,m=new i.Point(u,p),g=new i.Point(d,f),y=e.pointOnSegment(m.x,m.y,.01),v=e.pointOnSegment(g.x,g.y,.01);return y&&v?!s||[m,g]:y?!s||[m]:v?!s||[g]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=o&&e<=r},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),o=Math.round(this.end.y),r=Math.abs(n-i),a=Math.abs(o-s),h=i-a&&(c-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?r:null}return r},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,o=t.end.y,r=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=r&&i<=h&&s>=a&&s<=l||n>=r&&n<=h&&o>=a&&o<=l)return!0;if(i=r){if((c=s+(o-s)*(r-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(o-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(o-s))>=r&&c<=h)return!0}else if(s>l&&o<=l&&(c=i+(n-i)*(l-s)/(o-s))>=r&&c<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var o=n.edges,r=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,c=e.bottom,u=1/0;o[0].setTo(a,h,l,h),o[1].setTo(a,c,l,c),o[2].setTo(a,h,a,c),o[3].setTo(l,h,l,c);for(var d,p=0;d=o[p];p++)if(t.intersects(d,!0,r)){var f=t.start.distance(r);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,o){return i.Point.rotate(this,t,e,s,n,o)},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(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.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+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.equalsXY=function(t,e,i){return t.x===e&&t.y===i},i.Point.fuzzyEquals=function(t,e,s){return i.Math.fuzzyEquals(t.x,e.x,s)&&i.Math.fuzzyEquals(t.y,e.y,s)},i.Point.fuzzyEqualsXY=function(t,e,s,n){return i.Math.fuzzyEquals(t.x,e,n)&&i.Math.fuzzyEquals(t.y,s,n)},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,o,r){if(o&&(n=i.Math.degToRad(n)),void 0===r){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,c=a*t.x+h*t.y;t.x=l+e,t.y=c+s}else{var u=n+Math.atan2(t.y-s,t.x-e);t.x=e+r*Math.cos(u),t.y=s+r*Math.sin(u)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&oe.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,o){return void 0===o&&(o=0),!(e>t.right+o||it.bottom+o||ns&&(s=t.x),t.xo&&(o=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,o,r),this.bounds=new i.Rectangle(s,n,o,r),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.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(e){case i.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case i.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,o){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.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.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.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(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(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[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),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&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(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: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&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(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.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._clearWorld=!0,this._clearCache=!0,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=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else r=new i.SignalBinding(this,t,e,s,n,o),this._addBinding(r);return this.memorize&&this._prevParams&&r.execute(this._prevParams),r},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,o){void 0===n&&(n=!0);var r=new this.classType(this.game,t,e,i,s);return r.exists=n,r.visible=n,r.alive=n,this.add(r,!1,o)},i.Group.prototype.createMultiple=function(t,e,i,s,n,o){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var r=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var o=e.length;return 1===o?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===o?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===o?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===o&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=i.Utils.getProperty(t,e);return!(void 0===o&&n||o!==s)},i.Group.prototype.set=function(t,e,i,s,n,o,r){if(void 0===r&&(r=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,o,r)},i.Group.prototype.setAll=function(t,e,i,s,n,o){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===o&&(o=!1),t=t.split("."),n=n||0;for(var r=0;r2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,o,r){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!e||e.call(s,h,o))&&(n=o,r=h)}return r},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],o=i;o0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var o=this.removeChild(this.children[n]);this.removeFromHash(o),i&&o&&o.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!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 e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=r&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=r&&this._localPoint.x=a&&this._localPoint.y=r&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),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(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(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(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],o=0;ot||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),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));else{var o=this.game.camera.x-this._pointerData[t.id].camX,r=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+o),this.allowVerticalDrag&&(this.sprite.y=n+r),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))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,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 i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,o=!0,r=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,o=!this.animations.loadFrameData(h.frameData,e)}o&&(this._frame=i.Rectangle.clone(this.texture.frame)),r||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.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,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),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=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,o){var r=this.game.plugins.add(i.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,e,s,n),r},image:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,o){void 0===o&&(o=this.world);var r=new i.Creature(this.game,t,e,s,n);return o.add(r),r},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,o,r))},rope:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.Rope(this.game,t,e,s,n,o))},text:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,o,r,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.BitmapText(this.game,t,e,s,n,o))},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,o,r){return new i.TileSprite(this.game,t,e,s,n,o,r)},rope:function(t,e,s,n,o){return new i.Rope(this.game,t,e,s,n,o)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,o,r,a,h,l){return new i.Button(this.game,t,e,s,n,o,r,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return new i.BitmapText(this.game,t,e,s,n,o,r)},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,o,r,a,h,l,c){e=e||0,s=s||0,n=n||null,o=o||null,r=r||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==o&&this.onInputUp.add(o,r),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)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,o,r,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,o),this.setStateSound("Down",i,s),this.setStateSound("Up",r,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|o<<8|r,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,o){return this.setPixel32(t,e,i,s,n,255,o)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,o){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,o)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,o=1,r=!1;1===t?(o=-1,n=this.height):3===t&&(o=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=o)>=this.height||n<=0)&&(r=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=o)>=this.width||s<=0)&&(r=!0))}while(0===e.a&&!r);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,o){n=n||1,o=o||1;var r=this.game.add.image(t,e,this);return r.anchor.set(i,s),r.scale.set(n,o),r},copy:function(t,e,s,n,o,r,a,h,l,c,u,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==r&&null!==r||(r=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(r|=0,a|=0),v.translate(r,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var o=n.tx,r=n.ty;t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,r+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(o|=0,r|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,o,r),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,o,r){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,o,r)},draw:function(t,e,i,s,n,o,r){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,o,r)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var o=this.context;return o.fillStyle=o.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),o.save(),o.translate(this._pos.x,this._pos.y),o.rotate(t.angle),o.fillRect(0,0,n,e.height),o.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.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},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var m=s;mc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(r,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,o){var r,a,h,l=0;for(r=e,a=s-n;r0)for(r=e;r=e;r-=n)h=i.EarCut.insertNode(r,t[r],t[r+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,o,r,a){if(t){!a&&r&&i.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?i.EarCut.isEarHashed(t,n,o,r):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,o,r,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,o,r):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,o,r,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,o.x,o.y)&&i.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var o=t.prev,r=t,a=t.next;if(i.EarCut.area(o,r,a)>=0)return!1;for(var h=o.xr.x?o.x>a.x?o.x:a.x:r.x>a.x?r.x:a.x,u=o.y>r.y?o.y>a.y?o.y:a.y:r.y>a.y?r.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var o=n.prev,r=n.next.next;i.EarCut.intersects(o,n,n.next,r)&&i.EarCut.locallyInside(o,r)&&i.EarCut.locallyInside(r,o)&&(e.push(o.i/s),e.push(n.i/s),e.push(r.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,o,r),void i.EarCut.earcutLinked(l,e,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var o,r,a,h,l,c=[];for(o=0,r=e.length;o=n.next.y){var h=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=o&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(rs.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var o=t;do{null===o.z&&(o.z=i.EarCut.zOrder(o.x,o.y,e,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,i.EarCut.sortLinked(o)},i.EarCut.sortLinked=function(t){var e,i,s,n,o,r,a,h,l=1;do{for(i=t,t=null,o=null,r=0;i;){for(r++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;i=s}o.nextZ=null,l*=2}while(r>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-r)*(s-a)-(i-r)*(e-a)>=0&&(i-r)*(o-a)-(n-r)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do{i.y>o!=i.next.y>o&&n<(i.next.x-i.x)*(o-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),o=t.next,r=e.prev;return t.next=e,e.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},i.EarCut.insertNode=function(t,e,s,n){var o=new i.EarCut.Node(t,e,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,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(t,e){var s,n=e.gl,o=e.projection,r=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,r)||(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))),a.lineWidth>0&&(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,r)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=O=Math.sqrt(_*_+w*w),w/=O,_*=B,w*=B,I.push(p-_,f-w),I.push(G,N,X,U),I.push(p+_,f+w),I.push(G,N,X,U),I.push(p-_,f-w),I.push(G,N,X,U),L++):(I.push(l,c),I.push(G,N,X,U),I.push(p-(l-p),f-(c-f)),I.push(G,N,X,U));for(u=n[2*(R-2)],d=n[2*(R-2)+1],p=n[2*(R-1)],y=-(d-(f=n[2*(R-1)+1])),v=u-p,y/=O=Math.sqrt(y*y+v*v),v/=O,y*=B,v*=B,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),E.push(D),s=0;sh?o:h,l=rc?r:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(o.fillColor||0===o.fillColor)&&(e.globalAlpha=o.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),o.lineWidth&&(e.globalAlpha=o.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((r>>8&255)/255*i*255<<8)+(255&r)/255*s*255,o._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,o,r){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=o,this.shape=r,this.type=r.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,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 i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,o=new i.Point,r=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,o,r){if(s===n)return this;void 0===o&&(o=!1),void 0===r&&(r=40),!o&&n<=s?n+=2*Math.PI:o&&s<=n&&(s+=2*Math.PI);var a=o?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*r;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;o&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),m=Math.sin(d),g=h-1,y=g%1/g,v=0;v<=g;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+m*_)*i+t,(f*-_+m*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,o){return this.drawShape(new i.RoundedRectangle(t,e,s,n,o)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?g:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{r=o.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,o,r,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=i.scaleModes.DEFAULT),void 0===r&&(r=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=r,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.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=o,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=o.fontSize+this.style.strokeThickness+this.padding.y,f=p*r,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*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 g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),o=this.style.tabs,r=0;if(Array.isArray(o))for(var a=0,h=0;h0&&(a+=o[h-1]),r=e+a,s?this.context.fillText(n[h],r,i):this.context.strokeText(n[h],r,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var o=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(o.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(o.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(o)}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(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),o=n.length,r=0;rl){if(0===u){for(var m=p;m.length&&(m=m.slice(0,-1),!((f=e.measureText(m).width)<=l)););if(!m.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var g=d.substr(m.length);c[u]=g,h+=m}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[r+1]=v+" "+(n[r+1]||""),o=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(r>0&&(e+="\n"),e+=o[r]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=o[r]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var o=this.textBounds.x,r=this.textBounds.y;"right"===this.style.boundsAlignH?o+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(o+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?r+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(r+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-o,this.pivot.y=-r}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var o=Math.ceil(n.measureText("|MÉq").width),r=Math.ceil(n.measureText("|MÉq").width),a=2*r;if(r=1.4*r|0,s.width=o,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,o,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,r),!n.getImageData(0,0,o,a))return e.ascent=r,e.descent=r+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,o,a).data,u=c.length,d=4*o,p=0,f=!1;for(h=0;hr;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:u,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),o=0;othis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var o=0,r=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=r,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,o){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!o,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),o=n.length;o--;)n[o].x+=i,n[o].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,o,r){this.points=[],this.points=r,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.ROPE,this.points=r,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),r&&(this.vertices=new Float32Array(4*r.length),this.uvs=new Float32Array(4*r.length),this.colors=new Float32Array(2*r.length),this.indices=new Uint16Array(2*r.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,o),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,o,r=t.length,a=1;a1&&1,r=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=r,s.y/=r,s.x*=a,s.y*=a,h[o]=n.x+s.x,h[o+1]=n.y+s.y,h[o+2]=n.x-s.x,h[o+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,o=t.shaderManager.stripShader,r=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(o.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(o.projectionVector,s.x,-s.y),e.uniform2f(o.offsetVector,-n.x,-n.y),e.uniform1f(o.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(r,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,o=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|o):e.setTransform(s.a,s.b,s.c,s.d,n,o),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,k=Math.sqrt(C*C+S*S);l=T+C/k*(k+_),d=P+S/k*(k+w),S=p-P,c=T+(C=c-T)/(k=Math.sqrt(C*C+S*S))*(k+_),p=P+S/k*(k+w),S=f-P,u=T+(C=u-T)/(k=Math.sqrt(C*C+S*S))*(k+_),f=P+S/k*(k+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var A=m*x+v*y+g*b-x*y-v*g-m*b,M=l*x+v*u+c*b-x*u-v*c-l*b,O=m*c+l*y+g*u-c*y-l*g-m*u,I=m*x*u+v*c*y+l*g*b-l*x*y-v*g*u-m*c*b,E=d*x+v*f+p*b-x*f-v*p-d*b,R=m*p+d*y+g*f-p*y-d*g-m*f,L=m*x*f+v*p*y+d*g*b-d*x*y-v*g*f-m*p*b;t.transform(M/A,E/A,O/A,R/A,I/A,L/A),t.drawImage(r,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,o,r,a,h,l=[],c=0;c(_=y>(_=m>(_=p>_?p:_)?m:_)?y:_)?x:_,w=b>(w=v>(w=g>(w=f>w?f:w)?g:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,o=i.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(r),n=r.canvas}else i.CanvasPool.pool[o].parent=t,n=i.CanvasPool.pool[o].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var o=e.getImageData(1,0,1,1);s.canHandleAlpha=o.data[0]===n.data[0]&&o.data[1]===n.data[1]&&o.data[2]===n.data[2]&&o.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,o){e=e||256,s=s||256;var r=o?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=e,r.height=s,r.style.display="block",r},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,o,r){return t.setTransform(s,o,r,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,o=i,r=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>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(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,o,r){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,o,r)},i.QuadTree.prototype={reset:function(t,e,i,s,n,o,r){this.maxObjects=n||10,this.maxLevels=o||4,this.level=r||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",o=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(o.test(s))n=void 0!==e&&null!==e?s.replace(o,"$1"+t+"="+e+"$2$3"):s.replace(o,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var r=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+r+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t){return this._tweens.some(function(e){return e.target===t})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,o,r,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,o,r,a)),n&&this.start(),this)},from:function(t,e,s,n,o,r,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,o,r,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,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 t=0;t0?(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(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.yoyoCounter=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*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 s in this.vEnd){var n=this.vStart[s],o=this.vEnd[s];Array.isArray(o)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,o,this.value):this.parent.target[s]=n+(o-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var o in this.vEnd){var r=this.vStart[o],a=this.vEnd[o];Array.isArray(a)?n[o]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[o]=r+(a-r)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];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,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=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 t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,o,r){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,o,r);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.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(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},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(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,o,r,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=o,this.callbackContext=r,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,o){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,o,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(o),this.delay=1e3/r,this.loop=a,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),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=this.isReversed?this._frames.length-1: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)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=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._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),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)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,o){void 0===n&&(n="");var r=[],a="";if(e=s;h--)a=t+(a="number"==typeof o?i.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},i.Frame=function(t,e,s,n,o,r){this.index=t,this.x=e,this.y=s,this.width=n,this.height=o,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=r,this.centerX=Math.floor(n/2),this.centerY=Math.floor(o/2),this.distance=i.Math.distance(0,0,n,o),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=o,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,o,r){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=o,this.spriteSourceSizeH=r)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==o&&(d=h+o),0===c||0===u||cc&&(f=r,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,o=e.frames,r=0;r tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in i.LoaderParser?i.LoaderParser[s](n):n,r={key:t,url:e,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new i.Frame(0,0,0,o.width,o.height,t),frameData:new i.FrameData,fileFormat:s};return r.frameData.addFrame(new i.Frame(0,0,0,o.width,o.height,e)),this._cache.image[t]=r,this._resolveURL(e,r),r},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var o=!1;n&&(o=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:o,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,o,r,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===r&&(r=0),void 0===a&&(a=0),h.font="json"===o?i.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,o,r,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,r,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,o,r,a,h,l){void 0===r&&(r=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,o){var r={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===i.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=i.AnimationParser.XMLData(this.game,n,t):o===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=i.AnimationParser.JSONData(this.game,n,t):r.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(e,r)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var o=n[e];if(!o||!s)return o;for(var r in o)if((r=o[r]).fixtureKey===s)return r;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(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,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,o){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!o)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+o}var r={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)r[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(r),this._totalFileCount++):this._fileList[h]=r}else-1===h&&(this._fileList.push(r),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var o=0;o=e||t&&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 n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,o.send()}},xhrLoadWithXDR:function(t,e,i,s,n){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 o=new window.XDomainRequest;o.open("GET",e,!0),o.responseType=i,o.timeout=3e3,n=n||this.fileError;var r=this;o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.ontimeout=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.onprogress=function(){},o.onload=function(){try{return 4===o.readyState&&o.status>=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,setTimeout(function(){o.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":o=JSON.parse(e.responseText);t.data=o||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,o,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e: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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,o){return this.xmlBitmapFont(t,e,i,s,n,o)},xmlBitmapFont:function(t,e,i,s,n,o){null==o&&(o=1);var r={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];r.font=a.getAttribute("face"),r.size=parseInt(a.getAttribute("size"),10),r.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,r.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;d=0){switch(o>=0&&o<=3?e="PVRTC":o>=7&&o<=11?e="S3TC":6===o&&(e="ETC1"),o){case 0:r=35841;break;case 1:r=35843;break;case 2:r=35840;break;case 3:r=35842;break;case 6:r=36196;break;case 7:r=33777;break;case 9:r=33778;break;case 11:r=33779;break;default:r=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:o,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:r}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,o=i[n],r=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(r)>=0){switch(r){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:o,textureData:e.subarray(4*(n+1),o+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,o){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===o&&(o=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,o&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?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()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(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.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;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&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(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&&""===t?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)&&!1===this.game.cache.getSound(this.key).isDecoding&&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.game.sound.mute?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(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,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 e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,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(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&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 t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?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())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(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(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)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(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){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.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.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 t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==e||n.height!==s,r=this.updateOrientationState();(o||r)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(o)):(t.width=Math.floor(r),t.height=Math.floor(a)),t},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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},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(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},o=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:o}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,o=e;o0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;o--)s[n][o]=t[o][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var o=Math.min(t,e,s),r=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(r+o)/2,r!==o){var a=r-o;n.s=n.l>.5?a/(2-r-o):a/(r+o),r===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,o,r,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:o||0,s:r||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),o=parseInt(s[2],16),r=parseInt(s[3],16);e?(e.r=n,e.g=o,e.b=r):e=i.Color.createColor(n,o,r)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,o,r){void 0===o&&(o=255),void 0===r&&(r=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===r)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===r){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),m=f.h-p.h;if(p.h>f.h){var g=f.h;f.h=p.h,p.h=g,m=-m,n=s-n}m>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),m<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return i.Color.getColor32(o,l,c,u)},interpolateColorWithRGB:function(t,e,s,n,o,r){var a=i.Color.getRGB(t),h=(e-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-e)*h/a+e,u=(r-s)*h/a+s;return i.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],o=t[Math.ceil(s)];return this.linear(n,o,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,o,r)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},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}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.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=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.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()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,o){return void 0===o&&(o=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>o?i=o:i<-o&&(i=-o),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,o){if(!Array.isArray(t)&&Array.isArray(e))for(r=0;ra.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,o,r)}}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(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,o)}}}}},collideGroupVsGroup:function(t,e,s,n,o,r){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,o=e.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(r)+t.velocity.y*Math.sin(r),y:t.velocity.x*Math.sin(r)-t.velocity.y*Math.cos(r)},u={x:e.velocity.x*Math.cos(r)+e.velocity.y*Math.sin(r),y:e.velocity.x*Math.sin(r)-e.velocity.y*Math.cos(r)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(r)-c.y*Math.sin(r))*t.bounce.x,t.velocity.y=(c.y*Math.cos(r)+d*Math.sin(r))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*e.bounce.x,e.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*e.bounce.y),Math.abs(r)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(r),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(r)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(r),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,o=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-o*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=o-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.x=h+r*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,o=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-o*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=o-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.y=h+r*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,o,r){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(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var o=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleBetween(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToXY:function(t,e,i,s,n,o){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===o&&(o=1e3);var r=this.angleToXY(t,e,i);return t.body.acceleration.setTo(r,s),t.body.maxVelocity.setTo(n,o),r},distanceBetween:function(t,e,i){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,o=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+o*o)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i){for(var s=1/0,n=null,o=0,r=e.length;os&&(n=a,s=h)}return n},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.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=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,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={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){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.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),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.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.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.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var o;return void 0===s?(o=this.angle,s=this.game.math.radToDeg(o)):o=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,o,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(o)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(o)*n):this.velocity.setToPolar(o,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,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(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,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(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},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},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,o){if(t.body){var r=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==r.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,o,r,a,h){void 0===n&&(n=this._boundsLeft),void 0===o&&(o=this._boundsRight),void 0===r&&(r=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(o,"right",t+i,e,-1.5707963267948966,h),this.setupWall(r,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=o,this._boundsTop=r,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,o){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),o&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},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 i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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 t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);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=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,o,r,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,o,r,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var o=[this.pxmi(t.x),this.pxmi(t.y)],r=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?r.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?r.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&r.push(e[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(o=u.x*u.width,r=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(o,r,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,o){e=e||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.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,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(o=0;o-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var o=this.data.shapes.length-1;o>=0;o--)this.data.shapes[o].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(o=0;o=0;o--)this.data.shapes[o].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},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(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},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.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,o,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1),t.beginFill(a),t.drawRect(e-n/2,i-o/2,n,o)},drawCircle:function(t,e,i,s,n,o,r){void 0===r&&(r=1),void 0===o&&(o=16777215),t.lineStyle(r,0,1),t.beginFill(o,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,o,r,a){var h,l,c,u,d,p,f,m,g,y,v;if(void 0===o&&(o=1),void 0===s&&(s=0),r){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],m=d[0],v=d[1],t.lineStyle(o,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(m,-v),t.drawCircle(f,-y,2*o),l++;return t.lineStyle(o,0,1),t.drawCircle(a[0],a[1],2*o)}for(t.lineStyle(o,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],g=c[1],0===l?t.moveTo(p,-g):t.lineTo(p,-g),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var o,r,a,h,l,c,u,d,p,f,m;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),r=null,a=null,o=0;o2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,o,r,a,h,l){var c,u;void 0===o&&(o=1),void 0===s&&(s=16777215),t.lineStyle(o,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-o),t.drawCircle(n/2*l+e,n/2*c+i,2*-o),t.endFill(),t.lineStyle(h,r,0),t.beginFill(a,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i),t.lineTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.endFill(),t.lineStyle(h,r,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.moveTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,o,r,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===o&&(o=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:o};void 0!==r&&null!==r&&(c.worldAnchorA=[t.pxm(r[0]),t.pxm(r[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,o){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===o&&(o=1),s&&(s=t.pxm(s));var r={restAngle:s,stiffness:n,damping:o};this.data=new p2.RotationalSpring(e,i,r),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,o,r){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],maxForce:r};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var o={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,o)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,o){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var r={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:o};p2.LockConstraint.call(this,e,i,r)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,o,r,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],localAxisA:r,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,o,r){void 0===o&&(o=Number.MAX_VALUE),void 0===r&&(r=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],r&&(r=[t.pxmi(r[0]),t.pxmi(r[1])]);var a={worldPivot:r,localPivotA:i,localPivotB:n,maxForce:o};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,o,r){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===o&&(o=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|o,this.properties=r||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},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(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,o,r){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,o,r);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,o){return void 0===o&&(o=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,o)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,o,r,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,o,r,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=o,p=o,f=0,m=0,g=0,y=a;y1)for(u=0;uthis.layers.length)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[o].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[o].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[o].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new i.TilemapLayer(this.game,this,o,e,s));return this.enableDebug&&console.groupEnd(),r}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,s,n,o,r){void 0===r&&(r=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*o,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,r.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var o=t;o<=e;o++)this.setCollisionByIndex(o,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,o=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var o=0;o0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,o){return o=this.getLayer(o),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,o)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(o=this.layers[s].height-1;o>=0;o--)for(r=this.layers[s].width-1;r>=0;r--)if(this.layers[s].data[o][r].index===t){if(n===e)return this.layers[s].data[o][r];n++}}else for(var o=0;o=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var o=e;o1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,o){n|=0,o|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,o),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,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:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var o=t.coordinatesOnLine(e),r=[],a=0;a=0;g++,v--,f+=c){g>=h&&(g-=h);var _=this.layer.data[g];for(m=b,y=n-i,p=x;y>=0;m++,y--,p+=l){m>=a&&(m-=a);var w=_[m];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(r.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(r.save(),r.translate(p+w.centerX,f+w.centerY),r.rotate(w.rotation),w.flipped&&r.scale(-1,1),P.draw(r,-w.centerX,-w.centerY,T),r.restore()):P.draw(r,p,f,T):this.debugSettings.missingImageFill&&(r.fillStyle=this.debugSettings.missingImageFill,r.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(r.fillStyle=this.debugSettings.debuggedTileOverfill,r.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,o=this.canvas.height,r=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-r,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=o+e,u=o-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/r),l=Math.floor((l+i)/r),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*r-i,0,(l-h+1)*r,o);var d=Math.floor((0+s)/a),p=Math.floor((o-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/r),m=Math.floor((n-1+i)/r);this.renderRegion(i,s,f,c,m,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,o=this._mc.tileHeight,r=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/o),l=Math.floor((s-1+e)/o);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,r,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,o=this._mc,r=o.scrollX-s,a=o.scrollY-n;if(t||0!==r||0!==a||o.renderWidth!==e||o.renderHeight!==i)return this.context.save(),o.scrollX=s,o.scrollY=n,o.renderWidth===e&&o.renderHeight===i||(o.renderWidth=e,o.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(r)+Math.abs(a)=0;s++,o--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=g-m,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,o,r){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===o&&(o=10),void 0===r&&(r=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var o=this.getEmptyData(),r=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;o.data=h,delete o.encoding}else if(o.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+o.name+"'");continue}D={name:o.name,x:o.x,y:o.y,width:o.width,height:o.height,widthInPixels:o.width*t.tilewidth,heightInPixels:o.height*t.tileheight,alpha:o.opacity,offsetX:o.offsetx,offsetY:o.offsety,visible:o.visible,properties:{},indexes:[],callbacks:[],bodies:[]};o.properties&&(D.properties=o.properties);for(var c,u,d,p=0,f=[],m=[],g=0,a=o.data.length;g536870912)switch(k>2147483648&&(k-=2147483648,d+=4),k>1073741824&&(k-=1073741824,d+=2),k>536870912&&(k-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}k>0?((B=new i.Tile(D,k,p,m.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(D,-1,p,m.length,t.tilewidth,t.tileheight)),++p===o.width&&(m.push(f),p=0,f=[])}D.data=m,s.push(D)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=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._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,o){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===o&&(o=null);var r,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var o=0;o1&&(r=o.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=o.between(this.top,this.bottom)),this.resetParticle(n,r,a),!0},i.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,o){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var r={v:t},a=this.game.make.tween(r).to({v:e},s,n);a.yoyo(o),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,o,r,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,o>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,o){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(r+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==o&&(this.fireFrom.y+=o);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*r:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*r:(c=Math.cos(this.game.math.degToRad(l))*r,u=Math.sin(this.game.math.degToRad(l))*r);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var m=this.fireRate;(m+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(m=0),f=this.game.time.now+m}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,r),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,o){i.Sprite.call(this,t,e,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.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._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=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!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=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),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,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,t,e)),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.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?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.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 t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&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,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},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(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}).call(this); +(function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.9.1",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,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,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,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||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var o=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,o)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var o=Math.ceil((n=e-t.length)/2),r=n-o;t=new Array(r+1).join(i)+t+new Array(o+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,o,r,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(e),r=n*Math.sin(e);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,o){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),o||(o=[]);for(var r=0;r0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,o=s-e.halfHeight;return n*n+o*o<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,o=t.y,r=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-r*e.end.x,h=t.radius,l=t.radius,c=a+r*n,u=(n*(l*l)-r*(h*h)*(a-o)+h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),d=(n*(l*l)-r*(h*h)*(a-o)-h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),p=r*u+a,f=r*d+a,m=new i.Point(u,p),g=new i.Point(d,f),y=e.pointOnSegment(m.x,m.y,.01),v=e.pointOnSegment(g.x,g.y,.01);return y&&v?!s||[m,g]:y?!s||[m]:v?!s||[g]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=o&&e<=r},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),o=Math.round(this.end.y),r=Math.abs(n-i),a=Math.abs(o-s),h=i-a&&(c-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?r:null}return r},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,o=t.end.y,r=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=r&&i<=h&&s>=a&&s<=l||n>=r&&n<=h&&o>=a&&o<=l)return!0;if(i=r){if((c=s+(o-s)*(r-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(o-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(o-s))>=r&&c<=h)return!0}else if(s>l&&o<=l&&(c=i+(n-i)*(l-s)/(o-s))>=r&&c<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var o=n.edges,r=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,c=e.bottom,u=1/0;o[0].setTo(a,h,l,h),o[1].setTo(a,c,l,c),o[2].setTo(a,h,a,c),o[3].setTo(l,h,l,c);for(var d,p=0;d=o[p];p++)if(t.intersects(d,!0,r)){var f=t.start.distance(r);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,o){return i.Point.rotate(this,t,e,s,n,o)},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(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.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+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.equalsXY=function(t,e,i){return t.x===e&&t.y===i},i.Point.fuzzyEquals=function(t,e,s){return i.Math.fuzzyEquals(t.x,e.x,s)&&i.Math.fuzzyEquals(t.y,e.y,s)},i.Point.fuzzyEqualsXY=function(t,e,s,n){return i.Math.fuzzyEquals(t.x,e,n)&&i.Math.fuzzyEquals(t.y,s,n)},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,o,r){if(o&&(n=i.Math.degToRad(n)),void 0===r){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,c=a*t.x+h*t.y;t.x=l+e,t.y=c+s}else{var u=n+Math.atan2(t.y-s,t.x-e);t.x=e+r*Math.cos(u),t.y=s+r*Math.sin(u)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&oe.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,o){return void 0===o&&(o=0),!(e>t.right+o||it.bottom+o||ns&&(s=t.x),t.xo&&(o=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,o,r),this.bounds=new i.Rectangle(s,n,o,r),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.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(e){case i.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case i.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,o){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.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.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.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(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(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[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),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&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(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: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&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(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.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._clearWorld=!0,this._clearCache=!0,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=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else r=new i.SignalBinding(this,t,e,s,n,o),this._addBinding(r);return this.memorize&&this._prevParams&&r.execute(this._prevParams),r},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,o){void 0===n&&(n=!0);var r=new this.classType(this.game,t,e,i,s);return r.exists=n,r.visible=n,r.alive=n,this.add(r,!1,o)},i.Group.prototype.createMultiple=function(t,e,i,s,n,o){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var r=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var o=e.length;return 1===o?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===o?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===o?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===o&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=i.Utils.getProperty(t,e);return!(void 0===o&&n||o!==s)},i.Group.prototype.set=function(t,e,i,s,n,o,r){if(void 0===r&&(r=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,o,r)},i.Group.prototype.setAll=function(t,e,i,s,n,o){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===o&&(o=!1),t=t.split("."),n=n||0;for(var r=0;r2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,o,r){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!e||e.call(s,h,o))&&(n=o,r=h)}return r},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],o=i;o0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var o=this.removeChild(this.children[n]);this.removeFromHash(o),i&&o&&o.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!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 e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=r&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=r&&this._localPoint.x=a&&this._localPoint.y=r&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),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(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(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(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],o=0;ot||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),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));else{var o=this.game.camera.x-this._pointerData[t.id].camX,r=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+o),this.allowVerticalDrag&&(this.sprite.y=n+r),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))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,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 i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,o=!0,r=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,o=!this.animations.loadFrameData(h.frameData,e)}o&&(this._frame=i.Rectangle.clone(this.texture.frame)),r||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.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,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),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=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,o){var r=this.game.plugins.add(i.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,e,s,n),r},image:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,o){void 0===o&&(o=this.world);var r=new i.Creature(this.game,t,e,s,n);return o.add(r),r},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,o,r))},rope:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.Rope(this.game,t,e,s,n,o))},text:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,o,r,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.BitmapText(this.game,t,e,s,n,o))},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,o,r){return new i.TileSprite(this.game,t,e,s,n,o,r)},rope:function(t,e,s,n,o){return new i.Rope(this.game,t,e,s,n,o)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,o,r,a,h,l){return new i.Button(this.game,t,e,s,n,o,r,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return new i.BitmapText(this.game,t,e,s,n,o,r)},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,o,r,a,h,l,c){e=e||0,s=s||0,n=n||null,o=o||null,r=r||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==o&&this.onInputUp.add(o,r),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)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,o,r,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,o),this.setStateSound("Down",i,s),this.setStateSound("Up",r,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|o<<8|r,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,o){return this.setPixel32(t,e,i,s,n,255,o)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,o){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,o)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,o=1,r=!1;1===t?(o=-1,n=this.height):3===t&&(o=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=o)>=this.height||n<=0)&&(r=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=o)>=this.width||s<=0)&&(r=!0))}while(0===e.a&&!r);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,o){n=n||1,o=o||1;var r=this.game.add.image(t,e,this);return r.anchor.set(i,s),r.scale.set(n,o),r},copy:function(t,e,s,n,o,r,a,h,l,c,u,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==r&&null!==r||(r=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(r|=0,a|=0),v.translate(r,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var o=n.tx,r=n.ty;t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,r+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(o|=0,r|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,o,r),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,o,r){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,o,r)},draw:function(t,e,i,s,n,o,r){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,o,r)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var o=this.context;return o.fillStyle=o.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),o.save(),o.translate(this._pos.x,this._pos.y),o.rotate(t.angle),o.fillRect(0,0,n,e.height),o.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.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},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var m=s;mc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(r,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,o){var r,a,h,l=0;for(r=e,a=s-n;r0)for(r=e;r=e;r-=n)h=i.EarCut.insertNode(r,t[r],t[r+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,o,r,a){if(t){!a&&r&&i.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?i.EarCut.isEarHashed(t,n,o,r):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,o,r,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,o,r):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,o,r,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,o.x,o.y)&&i.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var o=t.prev,r=t,a=t.next;if(i.EarCut.area(o,r,a)>=0)return!1;for(var h=o.xr.x?o.x>a.x?o.x:a.x:r.x>a.x?r.x:a.x,u=o.y>r.y?o.y>a.y?o.y:a.y:r.y>a.y?r.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var o=n.prev,r=n.next.next;i.EarCut.intersects(o,n,n.next,r)&&i.EarCut.locallyInside(o,r)&&i.EarCut.locallyInside(r,o)&&(e.push(o.i/s),e.push(n.i/s),e.push(r.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,o,r),void i.EarCut.earcutLinked(l,e,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var o,r,a,h,l,c=[];for(o=0,r=e.length;o=n.next.y){var h=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=o&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(rs.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var o=t;do{null===o.z&&(o.z=i.EarCut.zOrder(o.x,o.y,e,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,i.EarCut.sortLinked(o)},i.EarCut.sortLinked=function(t){var e,i,s,n,o,r,a,h,l=1;do{for(i=t,t=null,o=null,r=0;i;){for(r++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;i=s}o.nextZ=null,l*=2}while(r>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-r)*(s-a)-(i-r)*(e-a)>=0&&(i-r)*(o-a)-(n-r)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do{i.y>o!=i.next.y>o&&n<(i.next.x-i.x)*(o-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),o=t.next,r=e.prev;return t.next=e,e.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},i.EarCut.insertNode=function(t,e,s,n){var o=new i.EarCut.Node(t,e,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,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(t,e){var s,n=e.gl,o=e.projection,r=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,r)||(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))),a.lineWidth>0&&(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,r)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=O=Math.sqrt(_*_+w*w),w/=O,_*=B,w*=B,I.push(p-_,f-w),I.push(G,N,X,U),I.push(p+_,f+w),I.push(G,N,X,U),I.push(p-_,f-w),I.push(G,N,X,U),L++):(I.push(l,c),I.push(G,N,X,U),I.push(p-(l-p),f-(c-f)),I.push(G,N,X,U));for(u=n[2*(R-2)],d=n[2*(R-2)+1],p=n[2*(R-1)],y=-(d-(f=n[2*(R-1)+1])),v=u-p,y/=O=Math.sqrt(y*y+v*v),v/=O,y*=B,v*=B,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),E.push(D),s=0;sh?o:h,l=rc?r:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(o.fillColor||0===o.fillColor)&&(e.globalAlpha=o.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),o.lineWidth&&(e.globalAlpha=o.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((r>>8&255)/255*i*255<<8)+(255&r)/255*s*255,o._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,o,r){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=o,this.shape=r,this.type=r.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,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 i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,o=new i.Point,r=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,o,r){if(s===n)return this;void 0===o&&(o=!1),void 0===r&&(r=40),!o&&n<=s?n+=2*Math.PI:o&&s<=n&&(s+=2*Math.PI);var a=o?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*r;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;o&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),m=Math.sin(d),g=h-1,y=g%1/g,v=0;v<=g;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+m*_)*i+t,(f*-_+m*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,o){return this.drawShape(new i.RoundedRectangle(t,e,s,n,o)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?g:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{r=o.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,o,r,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=i.scaleModes.DEFAULT),void 0===r&&(r=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=r,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.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=o,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=o.fontSize+this.style.strokeThickness+this.padding.y,f=p*r,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*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 g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),o=this.style.tabs,r=0;if(Array.isArray(o))for(var a=0,h=0;h0&&(a+=o[h-1]),r=e+a,s?this.context.fillText(n[h],r,i):this.context.strokeText(n[h],r,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var o=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(o.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(o.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(o)}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(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),o=n.length,r=0;rl){if(0===u){for(var m=p;m.length&&(m=m.slice(0,-1),!((f=e.measureText(m).width)<=l)););if(!m.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var g=d.substr(m.length);c[u]=g,h+=m}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[r+1]=v+" "+(n[r+1]||""),o=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(r>0&&(e+="\n"),e+=o[r]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=o[r]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var o=this.textBounds.x,r=this.textBounds.y;"right"===this.style.boundsAlignH?o+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(o+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?r+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(r+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-o,this.pivot.y=-r}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var o=Math.ceil(n.measureText("|MÉq").width),r=Math.ceil(n.measureText("|MÉq").width),a=2*r;if(r=1.4*r|0,s.width=o,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,o,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,r),!n.getImageData(0,0,o,a))return e.ascent=r,e.descent=r+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,o,a).data,u=c.length,d=4*o,p=0,f=!1;for(h=0;hr;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:u,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),o=0;othis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var o=0,r=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=r,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,o){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!o,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),o=n.length;o--;)n[o].x+=i,n[o].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,o,r){this.points=[],this.points=r,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.ROPE,this.points=r,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),r&&(this.vertices=new Float32Array(4*r.length),this.uvs=new Float32Array(4*r.length),this.colors=new Float32Array(2*r.length),this.indices=new Uint16Array(2*r.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,o),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,o,r=t.length,a=1;a1&&1,r=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=r,s.y/=r,s.x*=a,s.y*=a,h[o]=n.x+s.x,h[o+1]=n.y+s.y,h[o+2]=n.x-s.x,h[o+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,o=t.shaderManager.stripShader,r=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(o.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(o.projectionVector,s.x,-s.y),e.uniform2f(o.offsetVector,-n.x,-n.y),e.uniform1f(o.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(r,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,o=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|o):e.setTransform(s.a,s.b,s.c,s.d,n,o),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,k=Math.sqrt(C*C+S*S);l=T+C/k*(k+_),d=P+S/k*(k+w),S=p-P,c=T+(C=c-T)/(k=Math.sqrt(C*C+S*S))*(k+_),p=P+S/k*(k+w),S=f-P,u=T+(C=u-T)/(k=Math.sqrt(C*C+S*S))*(k+_),f=P+S/k*(k+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var A=m*x+v*y+g*b-x*y-v*g-m*b,M=l*x+v*u+c*b-x*u-v*c-l*b,O=m*c+l*y+g*u-c*y-l*g-m*u,I=m*x*u+v*c*y+l*g*b-l*x*y-v*g*u-m*c*b,E=d*x+v*f+p*b-x*f-v*p-d*b,R=m*p+d*y+g*f-p*y-d*g-m*f,L=m*x*f+v*p*y+d*g*b-d*x*y-v*g*f-m*p*b;t.transform(M/A,E/A,O/A,R/A,I/A,L/A),t.drawImage(r,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,o,r,a,h,l=[],c=0;c(_=y>(_=m>(_=p>_?p:_)?m:_)?y:_)?x:_,w=b>(w=v>(w=g>(w=f>w?f:w)?g:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,o=i.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(r),n=r.canvas}else i.CanvasPool.pool[o].parent=t,n=i.CanvasPool.pool[o].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var o=e.getImageData(1,0,1,1);s.canHandleAlpha=o.data[0]===n.data[0]&&o.data[1]===n.data[1]&&o.data[2]===n.data[2]&&o.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,o){e=e||256,s=s||256;var r=o?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=e,r.height=s,r.style.display="block",r},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,o,r){return t.setTransform(s,o,r,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,o=i,r=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>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(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,o,r){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,o,r)},i.QuadTree.prototype={reset:function(t,e,i,s,n,o,r){this.maxObjects=n||10,this.maxLevels=o||4,this.level=r||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",o=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(o.test(s))n=void 0!==e&&null!==e?s.replace(o,"$1"+t+"="+e+"$2$3"):s.replace(o,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var r=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+r+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t){return this._tweens.some(function(e){return e.target===t})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,o,r,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,o,r,a)),n&&this.start(),this)},from:function(t,e,s,n,o,r,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,o,r,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,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 t=0;t0?(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(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.yoyoCounter=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*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 s in this.vEnd){var n=this.vStart[s],o=this.vEnd[s];Array.isArray(o)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,o,this.value):this.parent.target[s]=n+(o-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var o in this.vEnd){var r=this.vStart[o],a=this.vEnd[o];Array.isArray(a)?n[o]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[o]=r+(a-r)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];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,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=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 t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,o,r){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,o,r);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.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(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},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(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,o,r,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=o,this.callbackContext=r,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,o){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,o,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(o),this.delay=1e3/r,this.loop=a,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),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=this.isReversed?this._frames.length-1: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)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=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._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),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)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,o){void 0===n&&(n="");var r=[],a="";if(e=s;h--)a=t+(a="number"==typeof o?i.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},i.Frame=function(t,e,s,n,o,r){this.index=t,this.x=e,this.y=s,this.width=n,this.height=o,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=r,this.centerX=Math.floor(n/2),this.centerY=Math.floor(o/2),this.distance=i.Math.distance(0,0,n,o),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=o,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,o,r){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=o,this.spriteSourceSizeH=r)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==o&&(d=h+o),0===c||0===u||cc&&(f=r,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,o=e.frames,r=0;r tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in i.LoaderParser?i.LoaderParser[s](n):n,r={key:t,url:e,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new i.Frame(0,0,0,o.width,o.height,t),frameData:new i.FrameData,fileFormat:s};return r.frameData.addFrame(new i.Frame(0,0,0,o.width,o.height,e)),this._cache.image[t]=r,this._resolveURL(e,r),r},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var o=!1;n&&(o=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:o,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,o,r,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===r&&(r=0),void 0===a&&(a=0),h.font="json"===o?i.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,o,r,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,r,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,o,r,a,h,l){void 0===r&&(r=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,o){var r={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===i.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=i.AnimationParser.XMLData(this.game,n,t):o===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=i.AnimationParser.JSONData(this.game,n,t):r.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(e,r)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var o=n[e];if(!o||!s)return o;for(var r in o)if((r=o[r]).fixtureKey===s)return r;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(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,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,o){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!o)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+o}var r={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)r[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(r),this._totalFileCount++):this._fileList[h]=r}else-1===h&&(this._fileList.push(r),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var o=0;o=e||t&&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 n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,o.send()}},xhrLoadWithXDR:function(t,e,i,s,n){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 o=new window.XDomainRequest;o.open("GET",e,!0),o.responseType=i,o.timeout=3e3,n=n||this.fileError;var r=this;o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.ontimeout=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.onprogress=function(){},o.onload=function(){try{return 4===o.readyState&&o.status>=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,setTimeout(function(){o.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":o=JSON.parse(e.responseText);t.data=o||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,o,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e: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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,o){return this.xmlBitmapFont(t,e,i,s,n,o)},xmlBitmapFont:function(t,e,i,s,n,o){null==o&&(o=1);var r={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];r.font=a.getAttribute("face"),r.size=parseInt(a.getAttribute("size"),10),r.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,r.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;d=0){switch(o>=0&&o<=3?e="PVRTC":o>=7&&o<=11?e="S3TC":6===o&&(e="ETC1"),o){case 0:r=35841;break;case 1:r=35843;break;case 2:r=35840;break;case 3:r=35842;break;case 6:r=36196;break;case 7:r=33777;break;case 9:r=33778;break;case 11:r=33779;break;default:r=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:o,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:r}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,o=i[n],r=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(r)>=0){switch(r){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:o,textureData:e.subarray(4*(n+1),o+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,o){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===o&&(o=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,o&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?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()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(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.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;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&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(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&&""===t?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)&&!1===this.game.cache.getSound(this.key).isDecoding&&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.game.sound.mute?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(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,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 e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,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(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&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 t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?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())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(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(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)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(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){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.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.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 t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==e||n.height!==s,r=this.updateOrientationState();(o||r)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(o)):(t.width=Math.floor(r),t.height=Math.floor(a)),t},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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},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(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},o=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:o}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,o=e;o0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;o--)s[n][o]=t[o][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var o=Math.min(t,e,s),r=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(r+o)/2,r!==o){var a=r-o;n.s=n.l>.5?a/(2-r-o):a/(r+o),r===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,o,r,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:o||0,s:r||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),o=parseInt(s[2],16),r=parseInt(s[3],16);e?(e.r=n,e.g=o,e.b=r):e=i.Color.createColor(n,o,r)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,o,r){void 0===o&&(o=255),void 0===r&&(r=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===r)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===r){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),m=f.h-p.h;if(p.h>f.h){var g=f.h;f.h=p.h,p.h=g,m=-m,n=s-n}m>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),m<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return i.Color.getColor32(o,l,c,u)},interpolateColorWithRGB:function(t,e,s,n,o,r){var a=i.Color.getRGB(t),h=(e-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-e)*h/a+e,u=(r-s)*h/a+s;return i.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],o=t[Math.ceil(s)];return this.linear(n,o,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,o,r)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},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}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.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=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.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()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,o){return void 0===o&&(o=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>o?i=o:i<-o&&(i=-o),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,o){if(!Array.isArray(t)&&Array.isArray(e))for(r=0;ra.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,o,r)}}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(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,o)}}}}},collideGroupVsGroup:function(t,e,s,n,o,r){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,o=e.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(r)+t.velocity.y*Math.sin(r),y:t.velocity.x*Math.sin(r)-t.velocity.y*Math.cos(r)},u={x:e.velocity.x*Math.cos(r)+e.velocity.y*Math.sin(r),y:e.velocity.x*Math.sin(r)-e.velocity.y*Math.cos(r)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(r)-c.y*Math.sin(r))*t.bounce.x,t.velocity.y=(c.y*Math.cos(r)+d*Math.sin(r))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*e.bounce.x,e.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*e.bounce.y),Math.abs(r)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(r),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(r)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(r),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,o=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-o*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=o-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.x=h+r*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,o=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-o*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=o-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.y=h+r*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,o,r){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(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var o=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleBetween(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToXY:function(t,e,i,s,n,o){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===o&&(o=1e3);var r=this.angleToXY(t,e,i);return t.body.acceleration.setTo(r,s),t.body.maxVelocity.setTo(n,o),r},distanceBetween:function(t,e,i){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,o=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+o*o)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i){for(var s=1/0,n=null,o=0,r=e.length;os&&(n=a,s=h)}return n},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.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=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,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={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){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.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),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.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.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.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var o;return void 0===s?(o=this.angle,s=this.game.math.radToDeg(o)):o=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,o,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(o)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(o)*n):this.velocity.setToPolar(o,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,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(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,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(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},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},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,o){if(t.body){var r=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==r.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,o,r,a,h){void 0===n&&(n=this._boundsLeft),void 0===o&&(o=this._boundsRight),void 0===r&&(r=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(o,"right",t+i,e,-1.5707963267948966,h),this.setupWall(r,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=o,this._boundsTop=r,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,o){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),o&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},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 i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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 t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);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=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,o,r,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,o,r,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var o=[this.pxmi(t.x),this.pxmi(t.y)],r=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?r.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?r.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&r.push(e[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(o=u.x*u.width,r=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(o,r,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,o){e=e||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.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,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(o=0;o-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var o=this.data.shapes.length-1;o>=0;o--)this.data.shapes[o].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(o=0;o=0;o--)this.data.shapes[o].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},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(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},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.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,o,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1),t.beginFill(a),t.drawRect(e-n/2,i-o/2,n,o)},drawCircle:function(t,e,i,s,n,o,r){void 0===r&&(r=1),void 0===o&&(o=16777215),t.lineStyle(r,0,1),t.beginFill(o,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,o,r,a){var h,l,c,u,d,p,f,m,g,y,v;if(void 0===o&&(o=1),void 0===s&&(s=0),r){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],m=d[0],v=d[1],t.lineStyle(o,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(m,-v),t.drawCircle(f,-y,2*o),l++;return t.lineStyle(o,0,1),t.drawCircle(a[0],a[1],2*o)}for(t.lineStyle(o,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],g=c[1],0===l?t.moveTo(p,-g):t.lineTo(p,-g),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var o,r,a,h,l,c,u,d,p,f,m;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),r=null,a=null,o=0;o2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,o,r,a,h,l){var c,u;void 0===o&&(o=1),void 0===s&&(s=16777215),t.lineStyle(o,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-o),t.drawCircle(n/2*l+e,n/2*c+i,2*-o),t.endFill(),t.lineStyle(h,r,0),t.beginFill(a,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i),t.lineTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.endFill(),t.lineStyle(h,r,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.moveTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,o,r,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===o&&(o=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:o};void 0!==r&&null!==r&&(c.worldAnchorA=[t.pxm(r[0]),t.pxm(r[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,o){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===o&&(o=1),s&&(s=t.pxm(s));var r={restAngle:s,stiffness:n,damping:o};this.data=new p2.RotationalSpring(e,i,r),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,o,r){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],maxForce:r};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var o={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,o)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,o){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var r={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:o};p2.LockConstraint.call(this,e,i,r)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,o,r,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],localAxisA:r,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,o,r){void 0===o&&(o=Number.MAX_VALUE),void 0===r&&(r=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],r&&(r=[t.pxmi(r[0]),t.pxmi(r[1])]);var a={worldPivot:r,localPivotA:i,localPivotB:n,maxForce:o};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,o,r){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===o&&(o=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|o,this.properties=r||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},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(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,o,r){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,o,r);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,o){return void 0===o&&(o=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,o)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,o,r,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,o,r,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=o,p=o,f=0,m=0,g=0,y=a;y1)for(u=0;uthis.layers.length)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[o].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[o].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[o].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new i.TilemapLayer(this.game,this,o,e,s));return this.enableDebug&&console.groupEnd(),r}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,s,n,o,r){void 0===r&&(r=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*o,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,r.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var o=t;o<=e;o++)this.setCollisionByIndex(o,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,o=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var o=0;o0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,o){return o=this.getLayer(o),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,o)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(o=this.layers[s].height-1;o>=0;o--)for(r=this.layers[s].width-1;r>=0;r--)if(this.layers[s].data[o][r].index===t){if(n===e)return this.layers[s].data[o][r];n++}}else for(var o=0;o=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var o=e;o1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,o){n|=0,o|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,o),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,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:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var o=t.coordinatesOnLine(e),r=[],a=0;a=0;g++,v--,f+=c){g>=h&&(g-=h);var _=this.layer.data[g];for(m=b,y=n-i,p=x;y>=0;m++,y--,p+=l){m>=a&&(m-=a);var w=_[m];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(r.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(r.save(),r.translate(p+w.centerX,f+w.centerY),r.rotate(w.rotation),w.flipped&&r.scale(-1,1),P.draw(r,-w.centerX,-w.centerY,T),r.restore()):P.draw(r,p,f,T):this.debugSettings.missingImageFill&&(r.fillStyle=this.debugSettings.missingImageFill,r.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(r.fillStyle=this.debugSettings.debuggedTileOverfill,r.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,o=this.canvas.height,r=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-r,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=o+e,u=o-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/r),l=Math.floor((l+i)/r),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*r-i,0,(l-h+1)*r,o);var d=Math.floor((0+s)/a),p=Math.floor((o-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/r),m=Math.floor((n-1+i)/r);this.renderRegion(i,s,f,c,m,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,o=this._mc.tileHeight,r=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/o),l=Math.floor((s-1+e)/o);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,r,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,o=this._mc,r=o.scrollX-s,a=o.scrollY-n;if(t||0!==r||0!==a||o.renderWidth!==e||o.renderHeight!==i)return this.context.save(),o.scrollX=s,o.scrollY=n,o.renderWidth===e&&o.renderHeight===i||(o.renderWidth=e,o.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(r)+Math.abs(a)=0;s++,o--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=g-m,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,o,r){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===o&&(o=10),void 0===r&&(r=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var o=this.getEmptyData(),r=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;o.data=h,delete o.encoding}else if(o.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+o.name+"'");continue}D={name:o.name,x:o.x,y:o.y,width:o.width,height:o.height,widthInPixels:o.width*t.tilewidth,heightInPixels:o.height*t.tileheight,alpha:o.opacity,offsetX:o.offsetx,offsetY:o.offsety,visible:o.visible,properties:{},indexes:[],callbacks:[],bodies:[]};o.properties&&(D.properties=o.properties);for(var c,u,d,p=0,f=[],m=[],g=0,a=o.data.length;g536870912)switch(k>2147483648&&(k-=2147483648,d+=4),k>1073741824&&(k-=1073741824,d+=2),k>536870912&&(k-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}k>0?((B=new i.Tile(D,k,p,m.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(D,-1,p,m.length,t.tilewidth,t.tileheight)),++p===o.width&&(m.push(f),p=0,f=[])}D.data=m,s.push(D)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=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._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,o){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===o&&(o=null);var r,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var o=0;o1&&(r=o.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=o.between(this.top,this.bottom)),this.resetParticle(n,r,a),!0},i.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,o){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var r={v:t},a=this.game.make.tween(r).to({v:e},s,n);a.yoyo(o),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,o,r,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,o>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,o){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(r+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==o&&(this.fireFrom.y+=o);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*r:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*r:(c=Math.cos(this.game.math.degToRad(l))*r,u=Math.sin(this.game.math.degToRad(l))*r);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var m=this.fireRate;(m+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(m=0),f=this.game.time.now+m}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,r),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,o){i.Sprite.call(this,t,e,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.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._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=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!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=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),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,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,t,e)),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.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?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.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 t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&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,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},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(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}).call(this); //# sourceMappingURL=phaser-split.map \ No newline at end of file diff --git a/build/custom/pixi.js b/build/custom/pixi.js index a4a57043d..9464f0a1d 100644 --- a/build/custom/pixi.js +++ b/build/custom/pixi.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.9.0 "2017-10-08" - Built: Sun Oct 08 2017 19:21:31 +* v2.9.1 "2017-10-10" - Built: Tue Oct 10 2017 11:18:25 * * By Richard Davey http://www.photonstorm.com @photonstorm * diff --git a/build/custom/pixi.min.js b/build/custom/pixi.min.js index bb92572b2..343701620 100644 --- a/build/custom/pixi.min.js +++ b/build/custom/pixi.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.9.0 PIXI Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.9.1 PIXI Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ (function(){function e(e,t,r,s){var o=e.createTexture();return e.bindTexture(e.TEXTURE_2D,o),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,s===i.scaleModes.LINEAR?e.LINEAR:e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,s===i.scaleModes.LINEAR?e.LINEAR:e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,r,0,e.RGBA,e.UNSIGNED_BYTE,null),o}function t(t,r,i,o,a){var n=t.createFramebuffer(),h=t.createRenderbuffer(),l=null,u=0;return t.activeTexture(t.TEXTURE0+a),t.bindFramebuffer(t.FRAMEBUFFER,n),t.bindRenderbuffer(t.RENDERBUFFER,h),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,this.renderBuffer),l=e(t,r,i,o),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,l,0),(u=t.checkFramebufferStatus(t.FRAMEBUFFER))!==t.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",s[u]),n.width=r,n.height=i,n.targetTexture=l,n.renderBuffer=h,n}var r=this,i=i||{};i.DisplayObject=function(){this.position=new i.Point(0,0),this.scale=new i.Point(1,1),this.pivot=new i.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new i.Point(0,0),this.worldScale=new i.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new i.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},i.DisplayObject.prototype={constructor:i.DisplayObject,destroy:function(){if(this.children){for(var e=this.children.length;e--;)this.children[e].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(e){if(!e&&!this.parent&&!this.game)return this;var t=this.parent;e?t=e:this.parent||(t=this.game.world);var r,i,s,o,a,n,h=t.worldTransform,l=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),r=this._cr*this.scale.x,i=this._sr*this.scale.x,s=-this._sr*this.scale.y,o=this._cr*this.scale.y,a=this.position.x,n=this.position.y,(this.pivot.x||this.pivot.y)&&(a-=this.pivot.x*r+this.pivot.y*s,n-=this.pivot.x*i+this.pivot.y*o),l.a=r*h.a+i*h.c,l.b=r*h.b+i*h.d,l.c=s*h.a+o*h.c,l.d=s*h.b+o*h.d,l.tx=a*h.a+n*h.c+h.tx,l.ty=a*h.b+n*h.d+h.ty):(r=this.scale.x,i=0,s=0,o=this.scale.y,a=this.position.x-this.pivot.x*r,n=this.position.y-this.pivot.y*o,l.a=r*h.a,l.b=r*h.b,l.c=o*h.c,l.d=o*h.d,l.tx=a*h.a+n*h.c+h.tx,l.ty=a*h.b+n*h.d+h.ty),r=l.a,i=l.b,s=l.c;var u=r*(o=l.d)-i*s;if(r||i){var d=Math.sqrt(r*r+i*i);this.worldRotation=i>0?Math.acos(r/d):-Math.acos(r/d),this.worldScale.x=d,this.worldScale.y=u/d}else if(s||o){var c=Math.sqrt(s*s+o*o);this.worldRotation=Phaser.Math.HALF_PI-(o>0?Math.acos(-s/c):-Math.acos(s/c)),this.worldScale.x=u/c,this.worldScale.y=c}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*t.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(e,t,r){var s=this.getLocalBounds(),o=new Phaser.RenderTexture(this.game,0|s.width,0|s.height,r,t,e);return i.DisplayObject._tempMatrix.tx=-s.x,i.DisplayObject._tempMatrix.ty=-s.y,o.render(this,i.DisplayObject._tempMatrix),o},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(e){return this.updateTransform(),this.worldTransform.apply(e)},toLocal:function(e,t){return t&&(e=t.toGlobal(e)),this.updateTransform(),this.worldTransform.applyInverse(e)},_renderCachedSprite:function(e){this._cachedSprite.worldAlpha=this.worldAlpha,e.gl?i.Sprite.prototype._renderWebGL.call(this._cachedSprite,e):i.Sprite.prototype._renderCanvas.call(this._cachedSprite,e)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var e=this.getLocalBounds();if(e.width=Math.max(1,Math.ceil(e.width)),e.height=Math.max(1,Math.ceil(e.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(e.width,e.height);else{var t=0;this.texture&&this.texture.baseTexture&&i._enableMultiTextureToggle&&(t=this.texture.baseTexture.textureIndex);var r=new Phaser.RenderTexture(this.game,e.width,e.height,void 0,void 0,void 0,void 0,t);this._cachedSprite=new i.Sprite(r),this._cachedSprite.worldTransform=this.worldTransform}var s=this._filters;this._filters=null,this._cachedSprite.filters=s,i.DisplayObject._tempMatrix.tx=-e.x,i.DisplayObject._tempMatrix.ty=-e.y,this._cachedSprite.texture.render(this,i.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-e.x/e.width,this._cachedSprite.anchor.y=-e.y/e.height,this._filters=s,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},i.DisplayObject.prototype.displayObjectUpdateTransform=i.DisplayObject.prototype.updateTransform,Object.defineProperties(i.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(e){this.position.x=e}},y:{get:function(){return this.position.y},set:function(e){this.position.y=e}},worldVisible:{get:function(){if(this.visible){var e=this.parent;if(!e)return this.visible;do{if(!e.visible)return!1;e=e.parent}while(e);return!0}return!1}},mask:{get:function(){return this._mask},set:function(e){this._mask&&(this._mask.isMask=!1),this._mask=e,e&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(e){if(Array.isArray(e)){for(var t=[],r=0;r=0&&t<=this.children.length)return e.parent&&e.parent.removeChild(e),e.parent=this,this.children.splice(t,0,e),e;throw new Error(e+"addChildAt: The index "+t+" supplied is out of bounds "+this.children.length)},i.DisplayObjectContainer.prototype.swapChildren=function(e,t){if(e!==t){var r=this.getChildIndex(e),i=this.getChildIndex(t);if(r<0||i<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[r]=t,this.children[i]=e}},i.DisplayObjectContainer.prototype.getChildIndex=function(e){var t=this.children.indexOf(e);if(-1===t)throw new Error("The supplied DisplayObject must be a child of the caller");return t},i.DisplayObjectContainer.prototype.setChildIndex=function(e,t){if(t<0||t>=this.children.length)throw new Error("The supplied index is out of bounds");var r=this.getChildIndex(e);this.children.splice(r,1),this.children.splice(t,0,e)},i.DisplayObjectContainer.prototype.getChildAt=function(e){if(e<0||e>=this.children.length)throw new Error("getChildAt: Supplied index "+e+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[e]},i.DisplayObjectContainer.prototype.removeChild=function(e){var t=this.children.indexOf(e);if(-1!==t)return this.removeChildAt(t)},i.DisplayObjectContainer.prototype.removeChildAt=function(e){var t=this.getChildAt(e);return t&&(t.parent=void 0,this.children.splice(e,1)),t},i.DisplayObjectContainer.prototype.removeChildren=function(e,t){void 0===e&&(e=0),void 0===t&&(t=this.children.length);var r=t-e;if(r>0&&r<=t){for(var i=this.children.splice(e,r),s=0;sn?d:n,c=c>h?c:h);var x=this._bounds;if(!f){var p=(x=new i.Rectangle).x,g=x.width+x.x,v=x.y,T=x.height+x.y,m=this.worldTransform,E=m.a,_=m.b,S=m.c,y=m.d,b=m.tx,A=m.ty,R=E*g+S*T+b,M=y*T+_*g+A,C=E*p+S*T+b,L=y*T+_*p+A,B=E*p+S*v+b,P=y*v+_*p+A,w=E*g+S*v+b,U=y*v+_*g+A;d=R,c=M,u=M,l=w<(l=B<(l=C<(l=R)?C:l)?B:l)?w:l,u=U<(u=P<(u=L(d=B>(d=C>d?C:d)?B:d)?w:d,c=U>(c=P>(c=L>c?L:c)?P:c)?U:c}if(x.x=l,x.y=u,x.width=d-l,x.height=c-u,t)for(e.worldTransform=o,s=0;s(x=y>(x=_>(x=m>x?m:x)?_:x)?y:x)?A:x,p=R>(p=b>(p=S>(p=E>p?E:p)?S:p)?b:p)?R:p}var M=this._bounds;return M.x=g,M.width=x-g,M.y=v,M.height=p-v,this._currentBounds=M,M},i.Sprite.prototype.getLocalBounds=function(){var e=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var t=0;t= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var s=i.compileProgram(e,this.vertexSrc||i.PixiShader.defaultVertexSrc,this.fragmentSrc);e.useProgram(s),this.uSamplerArray=e.getUniformLocation(s,"uSamplerArray[0]"),this.projectionVector=e.getUniformLocation(s,"projectionVector"),this.offsetVector=e.getUniformLocation(s,"offsetVector"),this.dimensions=e.getUniformLocation(s,"dimensions"),this.aVertexPosition=e.getAttribLocation(s,"aVertexPosition"),this.aTextureCoord=e.getAttribLocation(s,"aTextureCoord"),this.colorAttribute=e.getAttribLocation(s,"aColor"),this.aTextureIndex=e.getAttribLocation(s,"aTextureIndex");var o=[],a=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,a),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var n=0;n 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],i.PixiFastShader=function(e){if(this._UID=Phaser._UID++,this.gl=e,this.program=null,i._enableMultiTextureToggle){var e=this.gl;this.MAX_TEXTURES=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS);for(var t="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",r=1;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},i.PixiFastShader.prototype.constructor=i.PixiFastShader,i.PixiFastShader.prototype.init=function(){var e=this.gl,t=i.compileProgram(e,this.vertexSrc,this.fragmentSrc);if(e.useProgram(t),this.uSampler=i._enableMultiTextureToggle?e.getUniformLocation(t,"uSamplerArray[0]"):e.getUniformLocation(t,"uSampler"),i._enableMultiTextureToggle){var r=[],s=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var o=0;o= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},i.StripShader.prototype.constructor=i.StripShader,i.StripShader.prototype.init=function(){var e=this.gl,t=i.compileProgram(e,this.vertexSrc,this.fragmentSrc);if(e.useProgram(t),this.uSampler=i._enableMultiTextureToggle?e.getUniformLocation(t,"uSamplerArray[0]"):e.getUniformLocation(t,"uSampler"),i._enableMultiTextureToggle){var r=[],s=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var o=0;o>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e},r=this.gl,s=r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS),o=r.getParameter(r.MAX_TEXTURE_SIZE),a=this.game.cache._cache.image,n=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=r.baseTexture);var n=r._uvs;if(n){var h,l,u,d,c=e.anchor.x,f=e.anchor.y;if(r.trim){var x=r.trim;h=(l=x.x-c*x.width)+r.crop.width,u=(d=x.y-f*x.height)+r.crop.height}else h=r.frame.width*(1-c),l=r.frame.width*-c,u=r.frame.height*(1-f),d=r.frame.height*-f;var p=this.currentBatchSize*this.vertexSize,g=(this.currentBatchSize,r.baseTexture.resolution),v=r.baseTexture.textureIndex,T=a.a/g,m=a.b/g,E=a.c/g,_=a.d/g,S=a.tx,y=a.ty,b=(r.crop.width,r.crop.height);if(r.rotated){var A=a.a,R=a.b,M=a.c,C=a.d,L=l,B=h;S=a.c*b+S,y=a.d*b+y,T=6.123233995736766e-17*A-M,m=6.123233995736766e-17*R-C,E=A+6.123233995736766e-17*M,_=R+6.123233995736766e-17*C,r._updateUvsInverted(),h=u,l=d,u=B,d=L}var P=this.colors,w=this.positions,U=e.tint,F=(U>>16)+(65280&U)+((255&U)<<16)+(255*e.worldAlpha<<24);this.renderSession.roundPixels?(w[p++]=T*l+E*d+S|0,w[p++]=_*d+m*l+y|0,w[p++]=n.x0,w[p++]=n.y0,P[p++]=F,w[p++]=v,w[p++]=T*h+E*d+S|0,w[p++]=_*d+m*h+y|0,w[p++]=n.x1,w[p++]=n.y1,P[p++]=F,w[p++]=v,w[p++]=T*h+E*u+S|0,w[p++]=_*u+m*h+y|0,w[p++]=n.x2,w[p++]=n.y2,P[p++]=F,w[p++]=v,w[p++]=T*l+E*u+S|0,w[p++]=_*u+m*l+y|0,w[p++]=n.x3,w[p++]=n.y3,P[p++]=F,w[p++]=v):(w[p++]=T*l+E*d+S,w[p++]=_*d+m*l+y,w[p++]=n.x0,w[p++]=n.y0,P[p++]=F,w[p++]=v,w[p++]=T*h+E*d+S,w[p++]=_*d+m*h+y,w[p++]=n.x1,w[p++]=n.y1,P[p++]=F,w[p++]=v,w[p++]=T*h+E*u+S,w[p++]=_*u+m*h+y,w[p++]=n.x2,w[p++]=n.y2,P[p++]=F,w[p++]=v,w[p++]=T*l+E*u+S,w[p++]=_*u+m*l+y,w[p++]=n.x3,w[p++]=n.y3,P[p++]=F,w[p++]=v),this.sprites[this.currentBatchSize++]=e}},i.WebGLSpriteBatch.prototype.renderTilingSprite=function(e){var t=e.tilingTexture,r=t.baseTexture,s=this.gl,o=e.texture.baseTexture.textureIndex;i.WebGLRenderer.textureArray[o]!=r&&(this.flush(),s.activeTexture(s.TEXTURE0+o),s.bindTexture(s.TEXTURE_2D,r._glTextures[s.id]),i.WebGLRenderer.textureArray[o]=r),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=t.baseTexture),e._uvs||(e._uvs=new i.TextureUvs);var a=e._uvs,n=t.baseTexture.width,h=t.baseTexture.height;e.tilePosition.x%=n*e.tileScaleOffset.x,e.tilePosition.y%=h*e.tileScaleOffset.y;var l=e.tilePosition.x/(n*e.tileScaleOffset.x),u=e.tilePosition.y/(h*e.tileScaleOffset.y),d=e.width/n/(e.tileScale.x*e.tileScaleOffset.x),c=e.height/h/(e.tileScale.y*e.tileScaleOffset.y);a.x0=0-l,a.y0=0-u,a.x1=1*d-l,a.y1=0-u,a.x2=1*d-l,a.y2=1*c-u,a.x3=0-l,a.y3=1*c-u;var f=e.tint,x=(f>>16)+(65280&f)+((255&f)<<16)+(255*e.worldAlpha<<24),p=this.positions,g=this.colors,v=e.width,T=e.height,m=e.anchor.x,E=e.anchor.y,_=v*(1-m),S=v*-m,y=T*(1-E),b=T*-E,A=this.currentBatchSize*this.vertexSize,R=t.baseTexture.resolution,M=e.worldTransform,C=M.a/R,L=M.b/R,B=M.c/R,P=M.d/R,w=M.tx,U=M.ty;p[A++]=C*S+B*b+w,p[A++]=P*b+L*S+U,p[A++]=a.x0,p[A++]=a.y0,g[A++]=x,p[A++]=o,p[A++]=C*_+B*b+w,p[A++]=P*b+L*_+U,p[A++]=a.x1,p[A++]=a.y1,g[A++]=x,p[A++]=o,p[A++]=C*_+B*y+w,p[A++]=P*y+L*_+U,p[A++]=a.x2,p[A++]=a.y2,g[A++]=x,p[A++]=o,p[A++]=C*S+B*y+w,p[A++]=P*y+L*S+U,p[A++]=a.x3,p[A++]=a.y3,g[A++]=x,p[A++]=o,this.sprites[this.currentBatchSize++]=e},i.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var e,t=this.gl;if(this.dirty){this.dirty=!1,e=this.defaultShader.shaders[t.id],t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var r=this.vertexSize;t.vertexAttribPointer(e.aVertexPosition,2,t.FLOAT,!1,r,0),t.vertexAttribPointer(e.aTextureCoord,2,t.FLOAT,!1,r,8),t.vertexAttribPointer(e.colorAttribute,4,t.UNSIGNED_BYTE,!0,r,16),t.vertexAttribPointer(e.aTextureIndex,1,t.FLOAT,!1,r,20)}if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer);var s=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);t.bufferSubData(t.ARRAY_BUFFER,0,s)}for(var o,a,n,h,l=0,u=0,d=null,c=this.renderSession.blendModeManager.currentBlendMode,f=null,x=!1,p=!1,g=0,v=this.currentBatchSize;g0&&(T=!1),(x||p)&&(this.renderBatch(d,l,u),u=g,l=0,d=o,x&&(c=a,this.renderSession.blendModeManager.setBlendMode(c)),p)){(e=(f=n).shaders[t.id])||((e=new i.PixiShader(t)).fragmentSrc=f.fragmentSrc,e.uniforms=f.uniforms,e.init(),f.shaders[t.id]=e),this.renderSession.shaderManager.setShader(e),e.dirty&&e.syncUniforms();var m=this.renderSession.projection;t.uniform2f(e.projectionVector,m.x,m.y);var E=this.renderSession.offset;t.uniform2f(e.offsetVector,E.x,E.y)}l++}this.renderBatch(d,l,u),this.currentBatchSize=0}},i.WebGLSpriteBatch.prototype.renderBatch=function(e,t,r){if(0!==t){var i=this.gl;if(e._dirty[i.id]){if(!this.renderSession.renderer.updateTexture(e))return}else i.bindTexture(i.TEXTURE_2D,e._glTextures[i.id]);i.drawElements(i.TRIANGLES,6*t,i.UNSIGNED_SHORT,6*r*2),this.renderSession.drawCount++}},i.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},i.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},i.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},i.WebGLFastSpriteBatch=function(e){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var t=4*this.size*this.vertSize,r=6*this.maxSize;this.vertices=new Float32Array(t),this.indices=new Uint16Array(r),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var i=0,s=0;i=this.size&&this.flush()}},i.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var e=this.gl;if(this.currentBaseTexture._glTextures[e.id]){if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{var t=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);e.bufferSubData(e.ARRAY_BUFFER,0,t)}e.drawElements(e.TRIANGLES,6*this.currentBatchSize,e.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,e)}},i.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},i.WebGLFastSpriteBatch.prototype.start=function(){var e=this.gl;e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var t=this.renderSession.projection;e.uniform2f(this.shader.projectionVector,t.x,t.y),e.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var r=4*this.vertSize;e.vertexAttribPointer(this.shader.aVertexPosition,2,e.FLOAT,!1,r,0),e.vertexAttribPointer(this.shader.aPositionCoord,2,e.FLOAT,!1,r,8),e.vertexAttribPointer(this.shader.aScale,2,e.FLOAT,!1,r,16),e.vertexAttribPointer(this.shader.aRotation,1,e.FLOAT,!1,r,24),e.vertexAttribPointer(this.shader.aTextureCoord,2,e.FLOAT,!1,r,28),e.vertexAttribPointer(this.shader.colorAttribute,1,e.FLOAT,!1,r,36),e.vertexAttribPointer(this.shader.aTextureIndex,1,e.FLOAT,!1,r,40)},i.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},i.WebGLFilterManager.prototype.constructor=i.WebGLFilterManager,i.WebGLFilterManager.prototype.setContext=function(e){this.gl=e,this.texturePool=[],this.initShaderBuffers()},i.WebGLFilterManager.prototype.begin=function(e,t){this.renderSession=e,this.defaultShader=e.shaderManager.defaultShader;var r=this.renderSession.projection;this.width=2*r.x,this.height=2*-r.y,this.buffer=t},i.WebGLFilterManager.prototype.pushFilter=function(e){var t=this.gl,r=this.renderSession.projection,s=this.renderSession.offset;e._filterArea=e.target.filterArea||e.target.getBounds(),e._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new i.WebGLStencilManager,this.renderSession.stencilManager.setContext(t),t.disable(t.STENCIL_TEST),this.filterStack.push(e);var o=e.filterPasses[0];this.offsetX+=e._filterArea.x,this.offsetY+=e._filterArea.y;var a=this.texturePool.pop();a?a.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):a=new i.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindTexture(t.TEXTURE_2D,a.texture);var n=e._filterArea,h=o.padding;n.x-=h,n.y-=h,n.width+=2*h,n.height+=2*h,n.x<0&&(n.x=0),n.width>this.width&&(n.width=this.width),n.y<0&&(n.y=0),n.height>this.height&&(n.height=this.height),t.bindFramebuffer(t.FRAMEBUFFER,a.frameBuffer),t.viewport(0,0,n.width*this.renderSession.resolution,n.height*this.renderSession.resolution),r.x=n.width/2,r.y=-n.height/2,s.x=-n.x,s.y=-n.y,t.colorMask(!0,!0,!0,!0),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),e._glFilterTexture=a},i.WebGLFilterManager.prototype.popFilter=function(){var e=this.gl,t=this.filterStack.pop(),r=t._filterArea,s=t._glFilterTexture,o=this.renderSession.projection,a=this.renderSession.offset;if(t.filterPasses.length>1){e.viewport(0,0,r.width*this.renderSession.resolution,r.height*this.renderSession.resolution),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=r.height,this.vertexArray[2]=r.width,this.vertexArray[3]=r.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=r.width,this.vertexArray[7]=0,e.bufferSubData(e.ARRAY_BUFFER,0,this.vertexArray),e.bindBuffer(e.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=r.width/this.width,this.uvArray[5]=r.height/this.height,this.uvArray[6]=r.width/this.width,this.uvArray[7]=r.height/this.height,e.bufferSubData(e.ARRAY_BUFFER,0,this.uvArray);var n=s,h=this.texturePool.pop();h||(h=new i.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindFramebuffer(e.FRAMEBUFFER,h.frameBuffer),e.clear(e.COLOR_BUFFER_BIT),e.disable(e.BLEND);for(var l=0;l0?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.applyFilterPass(c,r,f,x),this.texturePool.push(s),t._glFilterTexture=null},i.WebGLFilterManager.prototype.applyFilterPass=function(e,t,r,s){var o=this.gl,a=e.shaders[o.id];a||((a=new i.PixiShader(o)).fragmentSrc=e.fragmentSrc,a.uniforms=e.uniforms,a.init(!0),e.shaders[o.id]=a),this.renderSession.shaderManager.setShader(a),o.uniform2f(a.projectionVector,r/2,-s/2),o.uniform2f(a.offsetVector,0,0),e.uniforms.dimensions&&(e.uniforms.dimensions.value[0]=this.width,e.uniforms.dimensions.value[1]=this.height,e.uniforms.dimensions.value[2]=this.vertexArray[0],e.uniforms.dimensions.value[3]=this.vertexArray[5]),a.syncUniforms(),o.bindBuffer(o.ARRAY_BUFFER,this.vertexBuffer),o.vertexAttribPointer(a.aVertexPosition,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,this.uvBuffer),o.vertexAttribPointer(a.aTextureCoord,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,this.colorBuffer),o.vertexAttribPointer(a.colorAttribute,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,this.indexBuffer),o.drawElements(o.TRIANGLES,6,o.UNSIGNED_SHORT,0),this.renderSession.drawCount++},i.WebGLFilterManager.prototype.initShaderBuffers=function(){var e=this.gl;this.vertexBuffer=e.createBuffer(),this.uvBuffer=e.createBuffer(),this.colorBuffer=e.createBuffer(),this.indexBuffer=e.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertexArray,e.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),e.bindBuffer(e.ARRAY_BUFFER,this.uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvArray,e.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),e.bindBuffer(e.ARRAY_BUFFER,this.colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colorArray,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),e.STATIC_DRAW)},i.WebGLFilterManager.prototype.destroy=function(){var e=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var t=0;t=0;e--){var t=this._glTextures[e],r=i.glContexts[e];r&&t&&r.deleteTexture(t)}this._glTextures.length=0,this.dirty()},i.BaseTexture.fromCanvas=function(e,t,r){return 0===e.width&&(e.width=1),0===e.height&&(e.height=1),r=r||1,new i.BaseTexture(e,t,r)},i.TextureSilentFail=!1,i.Texture=function(e,t,r,s){this.noFrame=!1,t||(this.noFrame=!0,t=new i.Rectangle(0,0,1,1)),e instanceof i.Texture&&(e=e.baseTexture),this.baseTexture=e,this.frame=t,this.trim=s,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=r||new i.Rectangle(0,0,1,1),this.rotated=!1,e.hasLoaded&&(this.noFrame&&(t=new i.Rectangle(0,0,e.width,e.height)),this.setFrame(t))},i.Texture.prototype.constructor=i.Texture,i.Texture.prototype.onBaseTextureLoaded=function(){var e=this.baseTexture;this.noFrame&&(this.frame=new i.Rectangle(0,0,e.width,e.height)),this.setFrame(this.frame)},i.Texture.prototype.destroy=function(e){e&&this.baseTexture.destroy(),this.valid=!1},i.Texture.prototype.setFrame=function(e){if(this.noFrame=!1,this.frame=e,this.width=e.width,this.height=e.height,this.crop.x=e.x,this.crop.y=e.y,this.crop.width=e.width,this.crop.height=e.height,this.trim||!(e.x+e.width>this.baseTexture.width||e.y+e.height>this.baseTexture.height))this.valid=e&&e.width&&e.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();else{if(!i.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},i.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new i.TextureUvs);var e=this.crop,t=this.baseTexture.width,r=this.baseTexture.height;this._uvs.x0=e.x/t,this._uvs.y0=e.y/r,this._uvs.x1=(e.x+e.width)/t,this._uvs.y1=e.y/r,this._uvs.x2=(e.x+e.width)/t,this._uvs.y2=(e.y+e.height)/r,this._uvs.x3=e.x/t,this._uvs.y3=(e.y+e.height)/r},i.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new i.TextureUvs);var e=this.crop,t=this.baseTexture.width,r=this.baseTexture.height;this._uvs.x0=e.x/t,this._uvs.y0=e.y/r,this._uvs.x1=(e.x+e.height)/t,this._uvs.y1=e.y/r,this._uvs.x2=(e.x+e.height)/t,this._uvs.y2=(e.y+e.width)/r,this._uvs.x3=e.x/t,this._uvs.y3=(e.y+e.width)/r},i.Texture.fromCanvas=function(e,t){var r=i.BaseTexture.fromCanvas(e,t);return new i.Texture(r)},i.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},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.PIXI=i):"undefined"!=typeof define&&define.amd?define("PIXI",r.PIXI=i):r.PIXI=i,i}).call(this); //# sourceMappingURL=pixi.map \ No newline at end of file diff --git a/build/phaser.js b/build/phaser.js index 4a6c668b4..dcc6078a6 100644 --- a/build/phaser.js +++ b/build/phaser.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.9.0 "2017-10-08" - Built: Sun Oct 08 2017 19:20:54 +* v2.9.1 "2017-10-10" - Built: Tue Oct 10 2017 11:17:47 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -21232,7 +21232,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.9.0', + VERSION: '2.9.1', /** * An array of Phaser game instances. @@ -98949,15 +98949,29 @@ Phaser.Tilemap.prototype = { if (typeof indexes === 'number') { - // This may seem a bit wasteful, because it will cause empty array elements to be created, but the look-up cost is much - // less than having to iterate through the callbacks array hunting down tile indexes each frame, so I'll take the small memory hit. - this.layers[layer].callbacks[indexes] = { callback: callback, callbackContext: callbackContext }; + if (callback === null) + { + delete this.layers[layer].callbacks[indexes]; + } + else + { + // This may seem a bit wasteful, because it will cause empty array elements to be created, but the look-up cost is much + // less than having to iterate through the callbacks array hunting down tile indexes each frame, so I'll take the small memory hit. + this.layers[layer].callbacks[indexes] = { callback: callback, callbackContext: callbackContext }; + } } else { for (var i = 0, len = indexes.length; i < len; i++) { - this.layers[layer].callbacks[indexes[i]] = { callback: callback, callbackContext: callbackContext }; + if (callback === null) + { + delete this.layers[layer].callbacks[indexes[i]]; + } + else + { + this.layers[layer].callbacks[indexes[i]] = { callback: callback, callbackContext: callbackContext }; + } } } @@ -103121,8 +103135,8 @@ Phaser.Particles.Arcade.Emitter.prototype.constructor = Phaser.Particles.Arcade. */ Phaser.Particles.Arcade.Emitter.prototype.update = function () { - this.count.emitted = 0; - this.count.failed = 0; + this.counts.emitted = 0; + this.counts.failed = 0; if (this.on && this.game.time.time >= this._timer) { @@ -103448,14 +103462,14 @@ Phaser.Particles.Arcade.Emitter.prototype.emitParticle = function (x, y, key, fr if (particle === null) { - this.count.failed++; - this.count.totalFailed++; + this.counts.failed++; + this.counts.totalFailed++; return false; } - this.count.emitted++; - this.count.totalEmitted++; + this.counts.emitted++; + this.counts.totalEmitted++; var rnd = this.game.rnd; diff --git a/build/phaser.map b/build/phaser.map index cba277367..2828a42c0 100644 --- a/build/phaser.map +++ b/build/phaser.map @@ -1 +1 @@ -{"version":3,"sources":["phaser.js"],"names":["e","exports","module","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","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","angle","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","circlePosi","circlePosj","enableFrictionBefore","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","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","../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","_currentBody","_currentShape","raycast","reportIntersection","fraction","faceIndex","hasHit","../collision/AABB","../collision/RaycastResult","12","RaycastResult","isStopped","getHitDistance","distance","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","computeGiMf","relVel","getVelocityAlongNormal","getVelocityAtPoint","subtract","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","GiMf","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","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","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","SLEEPY","overlapKeeper","bodiesAreOverlapping","integrate_fhMinv","integrate_velodt","integrate","minv","integrateToTimeOfImpact","end","startToEnd","rememberPosition","hit","startToEndAngle","timeOfImpact","rememberAngle","iter","tmid","narrowphase","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","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","B","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","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","addSpring","evt","removeSpring","getBodyById","disableBodyCollision","enableBodyCollision","cs","cms","hitTest_tmp1","hitTest_tmp2","hitTest","pb","ps","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","_CreateEmptyTexture","gl","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","error","_fbErrors","targetTexture","DisplayObject","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","children","_destroyCachedSprite","updateTransform","game","tx","ty","pt","wt","PI2","rotationCache","determ","HALF_PI","transformCallback","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","toLocal","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","baseTexture","_enableMultiTextureToggle","textureIndex","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","defineProperties","worldVisible","item","mask","isMask","passes","filterPasses","_filterBlock","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","addChild","addChildAt","removeChild","swapChildren","child2","index1","getChildIndex","index2","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","maskManager","pushMask","popMask","popFilter","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","crop","currentBlendMode","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","trim","shakeX","shakeY","cw","ch","rotated","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","textureData","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","stage","contextLost","viewport","clearColor","_bgColor","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","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","getMaxTextureUnit","enableMultiTexture","textureArray","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","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","vertexSize","numVerts","numIndices","ArrayBuffer","positions","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","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","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","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","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","thisArg","bound","args","boundArgs","concat","TypeError","F","proto","arg","forEach","fun","CheapArray","assert","assign","varArgs","hasOwn","hasOwnProperty","nextSource","nextKey","reverseString","string","getProperty","obj","prop","parts","val","setProperties","props","setProperty","_setProperty","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","parseInt","innerWidth","innerHeight","pad","dir","padlen","isPlainObject","nodeType","copyIsArray","deep","mixinPrototype","mixin","replace","mixinKeys","childNodes","cloneNode","diameter","_diameter","_radius","circumference","setTo","copyFrom","copyTo","dest","round","output","circumferencePoint","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","top","bottom","equals","intersects","degToRad","intersectsRectangle","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","returnPoints","del","p0Exists","pointOnSegment","p1Exists","Ellipse","normx","normy","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotateAround","line","asSegment","intersectsPoints","midPoint","centerOn","pointOnLine","fuzzyEqual","xMin","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","atan2","wrap","uc","ua","ub","empty","bx1","by1","bx2","by2","intersectionWithRectangle","edgeIntersection","closestDistance","normalAngle","fromArray","newPos","translate","tx1","identity","invert","setToPolar","azimuth","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","isZero","limit","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","pointslength","parse","xProp","yProp","isPoint","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","calculateArea","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","volume","sameDimensions","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","flash","beginFill","drawRect","endFill","fade","updateFX","updateShake","checkBounds","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","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","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","removeFromHash","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","_definedSize","stateChange","setBounds","useBounds","between","Game","physicsConfig","multiTexture","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","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","enableStep","disableStep","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","multiInputOverride","MOUSE_TOUCH_COMBINE","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","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","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","Creature","TileSprite","graphicsData","fill","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","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","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","startStop","condition","padFloat","justPressed","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","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","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","_rawPad","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","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","processAxisChange","triggerCallback","disconnectingIndex","axisCode","buttonValue","Key","keycode","_enabled","durationUp","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","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","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","addToCache","uuid","addRenderTexture","video","bitmapData","addBitmapData","Tween","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","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","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","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","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","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","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","intersectsPolygon","middleInside","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt2","dt3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","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","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","v2","paddingX","paddingY","normX","normY","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","pool","getTotal","getFree","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","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","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","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","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","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","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","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","pendingDelete","_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","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","yoyoCounter","ms","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","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","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","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","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","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","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","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","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","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","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","hasPhaserSetFullScreen","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","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","pageAlignHorizontally","pageAlignVertically","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","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","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","row","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","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","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","allowRotation","velocityDelta","computeVelocity","angularAcceleration","angularDrag","maxAngular","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","center","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","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","setupWall","wall","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","shapeData","polyline","polygon","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","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","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","updateSpriteTransform","resetDamping","resetMass","clearShapes","addCircle","addPlane","addParticle","addLine","addCapsule","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","rootLayer","groupEnd","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","tileOffset","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","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_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","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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AEpB99C,EAASktB,KAAWgnC,EAAOrtD,SAASS,EACpCtH,EAASktB,KAAWgnC,EAAOrtD,SAASU,EAGpCvH,EAASktB,KAAWgnC,EAAO9hD,MAAM9K,EACjCtH,EAASktB,KAAWgnC,EAAO9hD,MAAM7K,EAGjCvH,EAASktB,KAAWgnC,EAAOxd,SAG3B12C,EAASktB,KAAWinC,EAAIW,GACxB90D,EAASktB,KAAWinC,EAAInW,GAExBh+C,EAASktB,KAAWgnC,EAAOvd,MAE3B32C,EAASktB,KAAWktB,EAIpBp6C,EAASktB,KAAWywB,EACpB39C,EAASktB,KAAW4wB,EAEpB99C,EAASktB,KAAWgnC,EAAOrtD,SAASS,EACpCtH,EAASktB,KAAWgnC,EAAOrtD,SAASU,EAGpCvH,EAASktB,KAAWgnC,EAAO9hD,MAAM9K,EACjCtH,EAASktB,KAAWgnC,EAAO9hD,MAAM7K,EAGjCvH,EAASktB,KAAWgnC,EAAOxd,SAG3B12C,EAASktB,KAAWinC,EAAIpW,GACxB/9C,EAASktB,KAAWinC,EAAInW,GAExBh+C,EAASktB,KAAWgnC,EAAOvd,MAE3B32C,EAASktB,KAAWktB,EAGpBp6C,EAASktB,KAAWywB,EACpB39C,EAASktB,KAAW2wB,EAEpB79C,EAASktB,KAAWgnC,EAAOrtD,SAASS,EACpCtH,EAASktB,KAAWgnC,EAAOrtD,SAASU,EAGpCvH,EAASktB,KAAWgnC,EAAO9hD,MAAM9K,EACjCtH,EAASktB,KAAWgnC,EAAO9hD,MAAM7K,EAGjCvH,EAASktB,KAAWgnC,EAAOxd,SAG3B12C,EAASktB,KAAWinC,EAAIlW,GACxBj+C,EAASktB,KAAWinC,EAAIjW,GAExBl+C,EAASktB,KAAWgnC,EAAOvd,MAE3B32C,EAASktB,KAAWktB,EAKpBp6C,EAASktB,KAAW0wB,EACpB59C,EAASktB,KAAW2wB,EAEpB79C,EAASktB,KAAWgnC,EAAOrtD,SAASS,EACpCtH,EAASktB,KAAWgnC,EAAOrtD,SAASU,EAGpCvH,EAASktB,KAAWgnC,EAAO9hD,MAAM9K,EACjCtH,EAASktB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","file":"phaser.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser.js"],"names":["e","exports","module","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","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","angle","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","circlePosi","circlePosj","enableFrictionBefore","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","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","../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","_currentBody","_currentShape","raycast","reportIntersection","fraction","faceIndex","hasHit","../collision/AABB","../collision/RaycastResult","12","RaycastResult","isStopped","getHitDistance","distance","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","computeGiMf","relVel","getVelocityAlongNormal","getVelocityAtPoint","subtract","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","GiMf","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","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","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","SLEEPY","overlapKeeper","bodiesAreOverlapping","integrate_fhMinv","integrate_velodt","integrate","minv","integrateToTimeOfImpact","end","startToEnd","rememberPosition","hit","startToEndAngle","timeOfImpact","rememberAngle","iter","tmid","narrowphase","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","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","B","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","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","addSpring","evt","removeSpring","getBodyById","disableBodyCollision","enableBodyCollision","cs","cms","hitTest_tmp1","hitTest_tmp2","hitTest","pb","ps","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","_CreateEmptyTexture","gl","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","error","_fbErrors","targetTexture","DisplayObject","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","children","_destroyCachedSprite","updateTransform","game","tx","ty","pt","wt","PI2","rotationCache","determ","HALF_PI","transformCallback","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","toLocal","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","baseTexture","_enableMultiTextureToggle","textureIndex","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","defineProperties","worldVisible","item","mask","isMask","passes","filterPasses","_filterBlock","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","addChild","addChildAt","removeChild","swapChildren","child2","index1","getChildIndex","index2","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","maskManager","pushMask","popMask","popFilter","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","crop","currentBlendMode","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","trim","shakeX","shakeY","cw","ch","rotated","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","textureData","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","stage","contextLost","viewport","clearColor","_bgColor","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","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","getMaxTextureUnit","enableMultiTexture","textureArray","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","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","vertexSize","numVerts","numIndices","ArrayBuffer","positions","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","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","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","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","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","thisArg","bound","args","boundArgs","concat","TypeError","F","proto","arg","forEach","fun","CheapArray","assert","assign","varArgs","hasOwn","hasOwnProperty","nextSource","nextKey","reverseString","string","getProperty","obj","prop","parts","val","setProperties","props","setProperty","_setProperty","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","parseInt","innerWidth","innerHeight","pad","dir","padlen","isPlainObject","nodeType","copyIsArray","deep","mixinPrototype","mixin","replace","mixinKeys","childNodes","cloneNode","diameter","_diameter","_radius","circumference","setTo","copyFrom","copyTo","dest","round","output","circumferencePoint","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","top","bottom","equals","intersects","degToRad","intersectsRectangle","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","returnPoints","del","p0Exists","pointOnSegment","p1Exists","Ellipse","normx","normy","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotateAround","line","asSegment","intersectsPoints","midPoint","centerOn","pointOnLine","fuzzyEqual","xMin","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","atan2","wrap","uc","ua","ub","empty","bx1","by1","bx2","by2","intersectionWithRectangle","edgeIntersection","closestDistance","normalAngle","fromArray","newPos","translate","tx1","identity","invert","setToPolar","azimuth","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","isZero","limit","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","pointslength","parse","xProp","yProp","isPoint","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","calculateArea","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","volume","sameDimensions","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","flash","beginFill","drawRect","endFill","fade","updateFX","updateShake","checkBounds","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","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","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","removeFromHash","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","_definedSize","stateChange","setBounds","useBounds","between","Game","physicsConfig","multiTexture","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","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","enableStep","disableStep","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","multiInputOverride","MOUSE_TOUCH_COMBINE","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","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","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","Creature","TileSprite","graphicsData","fill","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","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","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","startStop","condition","padFloat","justPressed","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","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","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","_rawPad","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","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","processAxisChange","triggerCallback","disconnectingIndex","axisCode","buttonValue","Key","keycode","_enabled","durationUp","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","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","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","addToCache","uuid","addRenderTexture","video","bitmapData","addBitmapData","Tween","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","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","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","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","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","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","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","intersectsPolygon","middleInside","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt2","dt3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","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","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","v2","paddingX","paddingY","normX","normY","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","pool","getTotal","getFree","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","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","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","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","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","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","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","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","pendingDelete","_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","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","yoyoCounter","ms","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","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","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","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","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","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","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","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","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","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","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","hasPhaserSetFullScreen","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","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","pageAlignHorizontally","pageAlignVertically","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","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","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","row","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","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","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","allowRotation","velocityDelta","computeVelocity","angularAcceleration","angularDrag","maxAngular","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","center","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","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","setupWall","wall","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","shapeData","polyline","polygon","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","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","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","updateSpriteTransform","resetDamping","resetMass","clearShapes","addCircle","addPlane","addParticle","addLine","addCapsule","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","rootLayer","groupEnd","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","tileOffset","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","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_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","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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AEpB99C,EAASktB,KAAWgnC,EAAOrtD,SAASS,EACpCtH,EAASktB,KAAWgnC,EAAOrtD,SAASU,EAGpCvH,EAASktB,KAAWgnC,EAAO9hD,MAAM9K,EACjCtH,EAASktB,KAAWgnC,EAAO9hD,MAAM7K,EAGjCvH,EAASktB,KAAWgnC,EAAOxd,SAG3B12C,EAASktB,KAAWinC,EAAIW,GACxB90D,EAASktB,KAAWinC,EAAInW,GAExBh+C,EAASktB,KAAWgnC,EAAOvd,MAE3B32C,EAASktB,KAAWktB,EAIpBp6C,EAASktB,KAAWywB,EACpB39C,EAASktB,KAAW4wB,EAEpB99C,EAASktB,KAAWgnC,EAAOrtD,SAASS,EACpCtH,EAASktB,KAAWgnC,EAAOrtD,SAASU,EAGpCvH,EAASktB,KAAWgnC,EAAO9hD,MAAM9K,EACjCtH,EAASktB,KAAWgnC,EAAO9hD,MAAM7K,EAGjCvH,EAASktB,KAAWgnC,EAAOxd,SAG3B12C,EAASktB,KAAWinC,EAAIpW,GACxB/9C,EAASktB,KAAWinC,EAAInW,GAExBh+C,EAASktB,KAAWgnC,EAAOvd,MAE3B32C,EAASktB,KAAWktB,EAGpBp6C,EAASktB,KAAWywB,EACpB39C,EAASktB,KAAW2wB,EAEpB79C,EAASktB,KAAWgnC,EAAOrtD,SAASS,EACpCtH,EAASktB,KAAWgnC,EAAOrtD,SAASU,EAGpCvH,EAASktB,KAAWgnC,EAAO9hD,MAAM9K,EACjCtH,EAASktB,KAAWgnC,EAAO9hD,MAAM7K,EAGjCvH,EAASktB,KAAWgnC,EAAOxd,SAG3B12C,EAASktB,KAAWinC,EAAIlW,GACxBj+C,EAASktB,KAAWinC,EAAIjW,GAExBl+C,EAASktB,KAAWgnC,EAAOvd,MAE3B32C,EAASktB,KAAWktB,EAKpBp6C,EAASktB,KAAW0wB,EACpB59C,EAASktB,KAAW2wB,EAEpB79C,EAASktB,KAAWgnC,EAAOrtD,SAASS,EACpCtH,EAASktB,KAAWgnC,EAAOrtD,SAASU,EAGpCvH,EAASktB,KAAWgnC,EAAO9hD,MAAM9K,EACjCtH,EAASktB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","file":"phaser.min.js"} \ No newline at end of file diff --git a/build/phaser.min.js b/build/phaser.min.js index cbdb7e2cd..226089c83 100644 --- a/build/phaser.min.js +++ b/build/phaser.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.9.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.9.1 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -!function(t){if("object"==typeof exports)module.exports=t();else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.p2=t()}}(function(){return function t(e,i,s){function n(o,a){if(!i[o]){if(!e[o]){var h="function"==typeof require&&require;if(!a&&h)return h(o,!0);if(r)return r(o,!0);throw new Error("Cannot find module '"+o+"'")}var l=i[o]={exports:{}};e[o][0].call(l.exports,function(t){var i=e[o][1][t];return n(i||t)},l,l.exports,t,e,i,s)}return i[o].exports}for(var r="function"==typeof require&&require,o=0;o=0&&h<=1&&l>=0&&l<=1}},{"./Scalar":4}],2:[function(t,e,i){function s(){}e.exports=s,s.area=function(t,e,i){return(e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1])},s.left=function(t,e,i){return s.area(t,e,i)>0},s.leftOn=function(t,e,i){return s.area(t,e,i)>=0},s.right=function(t,e,i){return s.area(t,e,i)<0},s.rightOn=function(t,e,i){return s.area(t,e,i)<=0};var n=[],r=[];s.collinear=function(t,e,i,o){if(o){var a=n,h=r;a[0]=e[0]-t[0],a[1]=e[1]-t[1],h[0]=i[0]-e[0],h[1]=i[1]-e[1];var l=a[0]*h[0]+a[1]*h[1],c=Math.sqrt(a[0]*a[0]+a[1]*a[1]),u=Math.sqrt(h[0]*h[0]+h[1]*h[1]);return Math.acos(l/(c*u))t.vertices.length)throw new Error("lol2");if(e<0)throw new Error("lol3");for(var s=e;se[t][0])&&(t=i);o.left(this.at(t-1),this.at(t),this.at(t+1))||this.reverse()},s.prototype.reverse=function(){for(var t=[],e=0,i=this.vertices.length;e!==i;e++)t.push(this.vertices.pop());this.vertices=t},s.prototype.isReflex=function(t){return o.right(this.at(t-1),this.at(t),this.at(t+1))};var h=[],l=[];s.prototype.canSee=function(t,e){var i,s,n=h,a=l;if(o.leftOn(this.at(t+1),this.at(t),this.at(e))&&o.rightOn(this.at(t-1),this.at(t),this.at(e)))return!1;s=o.sqdist(this.at(t),this.at(e));for(var c=0;c!==this.vertices.length;++c)if((c+1)%this.vertices.length!==t&&c!==t&&o.leftOn(this.at(t),this.at(e),this.at(c+1))&&o.rightOn(this.at(t),this.at(e),this.at(c))&&(n[0]=this.at(t),n[1]=this.at(e),a[0]=this.at(c),a[1]=this.at(c+1),i=r.lineInt(n,a),o.sqdist(this.at(t),i)0?this.slice(t):[this]},s.prototype.slice=function(t){if(0==t.length)return[this];if(t instanceof Array&&t.length&&t[0]instanceof Array&&2==t[0].length&&t[0][0]instanceof Array){for(var e=[this],i=0;ia)return console.warn("quickDecomp: max level ("+a+") reached."),t;for(var T=0;Tm&&(m+=this.vertices.length),g=Number.MAX_VALUE,m3&&i>=0;--i)o.collinear(this.at(i-1),this.at(i),this.at(i+1),t)&&(this.vertices.splice(i%this.vertices.length,1),i--,e++);return e}},{"./Line":1,"./Point":2,"./Scalar":4}],4:[function(t,e,i){function s(){}e.exports=s,s.eq=function(t,e,i){return i=i||0,Math.abs(t-e) (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.1"}}},{}],7:[function(t,e,i){function s(t){this.lowerBound=n.create(),t&&t.lowerBound&&n.copy(this.lowerBound,t.lowerBound),this.upperBound=n.create(),t&&t.upperBound&&n.copy(this.upperBound,t.upperBound)}var n=t("../math/vec2");t("../utils/Utils");e.exports=s;var r=n.create();s.prototype.setFromPoints=function(t,e,i,s){var o=this.lowerBound,a=this.upperBound;"number"!=typeof i&&(i=0),0!==i?n.rotate(o,t[0],i):n.copy(o,t[0]),n.copy(a,o);for(var h=Math.cos(i),l=Math.sin(i),c=1;ca[f]&&(a[f]=u[f]),u[f]i&&(this.lowerBound[e]=i);var s=t.upperBound[e];this.upperBound[e]h?-1:a}},{"../math/vec2":30,"../utils/Utils":57}],8:[function(t,e,i){function s(t){this.type=t,this.result=[],this.world=null,this.boundingVolumeType=s.AABB}var n=t("../math/vec2"),r=t("../objects/Body");e.exports=s,s.AABB=1,s.BOUNDING_CIRCLE=2,s.prototype.setWorld=function(t){this.world=t},s.prototype.getCollisionPairs=function(t){};var o=n.create();s.boundingRadiusCheck=function(t,e){n.sub(o,t.position,e.position);var i=n.squaredLength(o),s=t.boundingRadius+e.boundingRadius;return i<=s*s},s.aabbCheck=function(t,e){return t.getAABB().overlaps(e.getAABB())},s.prototype.boundingVolumeCheck=function(t,e){var i;switch(this.boundingVolumeType){case s.BOUNDING_CIRCLE:i=s.boundingRadiusCheck(t,e);break;case s.AABB:i=s.aabbCheck(t,e);break;default:throw new Error("Bounding volume type not recognized: "+this.boundingVolumeType)}return i},s.canCollide=function(t,e){var i=r.KINEMATIC,s=r.STATIC;return(t.type!==s||e.type!==s)&&(!(t.type===i&&e.type===s||t.type===s&&e.type===i)&&((t.type!==i||e.type!==i)&&((t.sleepState!==r.SLEEPING||e.sleepState!==r.SLEEPING)&&!(t.sleepState===r.SLEEPING&&e.type===s||e.sleepState===r.SLEEPING&&t.type===s))))},s.NAIVE=1,s.SAP=2},{"../math/vec2":30,"../objects/Body":31}],9:[function(t,e,i){function s(){n.call(this,n.NAIVE)}t("../shapes/Circle"),t("../shapes/Plane"),t("../shapes/Shape"),t("../shapes/Particle");var n=t("../collision/Broadphase");t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.getCollisionPairs=function(t){var e=t.bodies,i=this.result;i.length=0;for(var s=0,r=e.length;s!==r;s++)for(var o=e[s],a=0;az&&Y0)for(G=0;GMath.pow(g,2))return 0;if(u)return!0;var m=this.createContactEquation(t,n,e,r);return a(m.normalA,l,i),o.normalize(m.normalA,m.normalA),o.scale(m.contactPointA,m.normalA,d),o.scale(m.contactPointB,m.normalA,-p),h(m.contactPointA,m.contactPointA,i),a(m.contactPointA,m.contactPointA,t.position),h(m.contactPointB,m.contactPointB,l),a(m.contactPointB,m.contactPointB,n.position),this.contactEquations.push(m),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(m)),1},s.prototype[m.PLANE|m.CONVEX]=s.prototype[m.PLANE|m.BOX]=s.prototype.planeConvex=function(t,e,i,s,n,r,c,u,d){var p=x,f=b,g=_,m=0;o.rotate(f,v,s);for(var y=0;y!==r.vertices.length;y++){var w=r.vertices[y];if(o.rotate(p,w,u),h(p,p,c),a(g,p,i),l(g,f)<=0){if(d)return!0;m++;var T=this.createContactEquation(t,n,e,r);a(g,p,i),o.copy(T.normalA,f);var P=l(g,T.normalA);o.scale(g,T.normalA,P),a(T.contactPointB,p,n.position),a(T.contactPointA,p,g),a(T.contactPointA,T.contactPointA,t.position),this.contactEquations.push(T),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(T))}}return this.enableFrictionReduction&&this.enableFriction&&m&&this.frictionEquations.push(this.createFrictionFromAverage(m)),m},s.prototype[m.PARTICLE|m.PLANE]=s.prototype.particlePlane=function(t,e,i,s,n,r,h,c,u){var d=x,p=b;c=c||0,a(d,i,h),o.rotate(p,v,c);var f=l(d,p);if(f>0)return 0;if(u)return!0;var g=this.createContactEquation(n,t,r,e);return o.copy(g.normalA,p),o.scale(d,g.normalA,f),a(g.contactPointA,i,d),a(g.contactPointA,g.contactPointA,n.position),a(g.contactPointB,i,t.position),this.contactEquations.push(g),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(g)),1},s.prototype[m.CIRCLE|m.PARTICLE]=s.prototype.circleParticle=function(t,e,i,s,n,r,l,c,u){var d=x;if(a(d,l,i),o.squaredLength(d)>Math.pow(e.radius,2))return 0;if(u)return!0;var p=this.createContactEquation(t,n,e,r);return o.copy(p.normalA,d),o.normalize(p.normalA,p.normalA),o.scale(p.contactPointA,p.normalA,e.radius),h(p.contactPointA,p.contactPointA,i),a(p.contactPointA,p.contactPointA,t.position),a(p.contactPointB,l,n.position),this.contactEquations.push(p),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(p)),1};var K=new f({radius:1}),J=o.create(),Q=o.create();o.create();s.prototype[m.PLANE|m.CAPSULE]=s.prototype.planeCapsule=function(t,e,i,s,n,r,a,l,c){var u=J,d=Q,p=K;o.set(u,-r.length/2,0),o.rotate(u,u,l),h(u,u,a),o.set(d,r.length/2,0),o.rotate(d,d,l),h(d,d,a),p.radius=r.radius;var f;this.enableFrictionReduction&&(f=this.enableFriction,this.enableFriction=!1);var g=this.circlePlane(n,p,u,0,t,e,i,s,c),m=this.circlePlane(n,p,d,0,t,e,i,s,c);if(this.enableFrictionReduction&&(this.enableFriction=f),c)return g||m;var y=g+m;return this.enableFrictionReduction&&y&&this.frictionEquations.push(this.createFrictionFromAverage(y)),y},s.prototype[m.CIRCLE|m.PLANE]=s.prototype.circlePlane=function(t,e,i,s,n,r,c,u,d){var p=t,f=e,g=i,m=n,y=c,w=u;w=w||0;var T=x,P=b,C=_;a(T,g,y),o.rotate(P,v,w);var S=l(P,T);if(S>f.radius)return 0;if(d)return!0;var A=this.createContactEquation(m,p,r,e);return o.copy(A.normalA,P),o.scale(A.contactPointB,A.normalA,-f.radius),h(A.contactPointB,A.contactPointB,g),a(A.contactPointB,A.contactPointB,p.position),o.scale(C,A.normalA,S),a(A.contactPointA,T,C),h(A.contactPointA,A.contactPointA,y),a(A.contactPointA,A.contactPointA,m.position),this.contactEquations.push(A),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(A)),1},s.prototype[m.CONVEX]=s.prototype[m.CONVEX|m.BOX]=s.prototype[m.BOX]=s.prototype.convexConvex=function(t,e,i,n,r,c,u,d,p,f){var g=x,m=b,y=_,v=w,P=T,E=C,M=S,R=A,L=0,f="number"==typeof f?f:0;if(!s.findSeparatingAxis(e,i,n,c,u,d,g))return 0;a(M,u,i),l(g,M)>0&&o.scale(g,g,-1);var B=s.getClosestEdge(e,n,g,!0),I=s.getClosestEdge(c,d,g);if(-1===B||-1===I)return 0;for(var O=0;O<2;O++){var k=B,F=I,D=e,U=c,G=i,N=u,X=n,W=d,j=t,V=r;if(0===O){var q;q=k,k=F,F=q,q=D,D=U,U=q,q=G,G=N,N=q,q=X,X=W,W=q,q=j,j=V,V=q}for(var H=F;H=3){if(p)return!0;var Z=this.createContactEquation(j,V,D,U);L++;var J=D.vertices[k%D.vertices.length],Q=D.vertices[(k+1)%D.vertices.length];o.rotate(y,J,X),o.rotate(v,Q,X),h(y,y,G),h(v,v,G),a(P,v,y),o.rotate90cw(Z.normalA,P),o.normalize(Z.normalA,Z.normalA),a(M,m,y);var $=l(Z.normalA,M);o.scale(E,Z.normalA,$),a(Z.contactPointA,m,G),a(Z.contactPointA,Z.contactPointA,E),h(Z.contactPointA,Z.contactPointA,G),a(Z.contactPointA,Z.contactPointA,j.position),a(Z.contactPointB,m,N),h(Z.contactPointB,Z.contactPointB,N),a(Z.contactPointB,Z.contactPointB,V.position),this.contactEquations.push(Z),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(Z))}}}return this.enableFrictionReduction&&this.enableFriction&&L&&this.frictionEquations.push(this.createFrictionFromAverage(L)),L};var Z=o.fromValues(0,0);s.projectConvexOntoAxis=function(t,e,i,s,n){var r,a,h=null,c=null,u=Z;o.rotate(u,s,-i);for(var d=0;dh)&&(h=a),(null===c||ah){var p=c;c=h,h=p}var f=l(e,s);o.set(n,c+f,h+f)};var $=o.fromValues(0,0),tt=o.fromValues(0,0),et=o.fromValues(0,0),it=o.fromValues(0,0),st=o.fromValues(0,0),nt=o.fromValues(0,0);s.findSeparatingAxis=function(t,e,i,n,r,h,l){var c=null,u=!1,d=!1,p=$,f=tt,g=et,m=it,v=st,x=nt;if(t instanceof y&&n instanceof y)for(P=0;2!==P;P++){var b=t,_=i;1===P&&(b=n,_=h);for(C=0;2!==C;C++){0===C?o.set(m,0,1):1===C&&o.set(m,1,0),0!==_&&o.rotate(m,m,_),s.projectConvexOntoAxis(t,e,i,m,v),s.projectConvexOntoAxis(n,r,h,m,x);var w=v,T=x;v[0]>x[0]&&(T=v,w=x,!0),u=(S=T[0]-w[1])<=0,(null===c||S>c)&&(o.copy(l,m),c=S,d=u)}}else for(var P=0;2!==P;P++){var b=t,_=i;1===P&&(b=n,_=h);for(var C=0;C!==b.vertices.length;C++){o.rotate(f,b.vertices[C],_),o.rotate(g,b.vertices[(C+1)%b.vertices.length],_),a(p,g,f),o.rotate90cw(m,p),o.normalize(m,m),s.projectConvexOntoAxis(t,e,i,m,v),s.projectConvexOntoAxis(n,r,h,m,x);var w=v,T=x;v[0]>x[0]&&(T=v,w=x,!0);var S=T[0]-w[1];u=S<=0,(null===c||S>c)&&(o.copy(l,m),c=S,d=u)}}return d};var rt=o.fromValues(0,0),ot=o.fromValues(0,0),at=o.fromValues(0,0);s.getClosestEdge=function(t,e,i,s){var n=rt,r=ot,h=at;o.rotate(n,i,-e),s&&o.scale(n,n,-1);for(var c=-1,u=t.vertices.length,d=-1,p=0;p!==u;p++){a(r,t.vertices[(p+1)%u],t.vertices[p%u]),o.rotate90cw(h,r),o.normalize(h,h);var f=l(h,n);(-1===c||f>d)&&(c=p%u,d=f)}return c};var ht=o.create(),lt=o.create(),ct=o.create(),ut=o.create(),dt=o.create(),pt=o.create(),ft=o.create();s.prototype[m.CIRCLE|m.HEIGHTFIELD]=s.prototype.circleHeightfield=function(t,e,i,s,n,r,l,c,u,d){var p=r.heights,d=d||e.radius,f=r.elementWidth,g=lt,m=ht,y=dt,v=ft,x=pt,b=ct,_=ut,w=Math.floor((i[0]-d-l[0])/f),T=Math.ceil((i[0]+d-l[0])/f);w<0&&(w=0),T>=p.length&&(T=p.length-1);for(var P=p[w],C=p[T],S=w;SP&&(P=p[S]);if(i[1]-d>P)return!u&&0;for(var A=!1,S=w;S=b[0]&&m[0]<_[0]&&E<=0){if(u)return!0;A=!0,o.scale(g,x,-E),o.add(y,m,g),o.copy(v,x);M=this.createContactEquation(n,t,r,e);o.copy(M.normalA,v),o.scale(M.contactPointB,M.normalA,-d),h(M.contactPointB,M.contactPointB,i),a(M.contactPointB,M.contactPointB,t.position),o.copy(M.contactPointA,y),o.sub(M.contactPointA,M.contactPointA,n.position),this.contactEquations.push(M),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(M))}}if(A=!1,d>0)for(S=w;S<=T;S++)if(o.set(b,S*f,p[S]),o.add(b,b,l),o.sub(g,i,b),o.squaredLength(g)=c.length&&(y=c.length-1);for(var v=c[m],x=c[y],b=m;bv&&(v=c[b]);if(t.aabb.lowerBound[1]>v)return!l&&0;for(var _=0,b=m;b=0||r.containsPoint(this.from))&&this.intersectBody(t,n)}};var o=r.create();s.prototype.intersectBody=function(t,e){var i=this.checkCollisionResponse;if(!i||e.collisionResponse)for(var s=o,n=0,a=e.shapes.length;ne.boundingRadius*e.boundingRadius||(this._currentBody=r,this._currentShape=e,e.raycast(t,this,s,i),this._currentBody=this._currentShape=null)},s.prototype.getAABB=function(t){var e=this.to,i=this.from;r.set(t.lowerBound,Math.min(e[0],i[0]),Math.min(e[1],i[1])),r.set(t.upperBound,Math.max(e[0],i[0]),Math.max(e[1],i[1]))};r.create();s.prototype.reportIntersection=function(t,e,i,n){this.from,this.to;var o=this._currentShape,a=this._currentBody;if(!(this.skipBackfaces&&r.dot(i,this.direction)>0))switch(this.mode){case s.ALL:t.set(i,o,a,e,n),this.callback(t);break;case s.CLOSEST:(e=0&&!(t[r].aabb.lowerBound[e]<=n.aabb.lowerBound[e]);r--)t[r+1]=t[r];t[r+1]=n}return t},s.prototype.sortList=function(){var t=this.axisList,e=this.axisIndex;s.sortAxisList(t,e)},s.prototype.getCollisionPairs=function(t){var e=this.axisList,i=this.result,s=this.axisIndex;i.length=0;for(var n=e.length;n--;){var o=e[n];o.aabbNeedsUpdate&&o.updateAABB()}this.sortList();for(var a=0,h=0|e.length;a!==h;a++)for(var l=e[a],c=a+1;cthis.upperLimit&&(r.maxForce=0,r.minForce=-this.maxForce,this.distance=this.upperLimit,u=!0),this.lowerLimitEnabled&&this.positioni?(a.scale(n.normalA,l,-1),a.sub(n.contactPointA,c,o.position),a.sub(n.contactPointB,u,h.position),a.scale(f,l,i),a.add(n.contactPointA,n.contactPointA,f),-1===t.indexOf(n)&&t.push(n)):-1!==(b=t.indexOf(n))&&t.splice(b,1),this.lowerLimitEnabled&&va?(f.angle=a,-1===n.indexOf(f)&&n.push(f)):-1!==(y=n.indexOf(f))&&n.splice(y,1),this.lowerLimitEnabled&&m>1;if(e<3)return[];for(var i=[],n=[],r=0;r3;){var a=n[(r+0)%o],h=n[(r+1)%o],l=n[(r+2)%o],c=t[2*a],u=t[2*a+1],d=t[2*h],p=t[2*h+1],f=t[2*l],g=t[2*l+1],m=!1;if(s._convex(c,u,d,p,f,g)){m=!0;for(var y=0;y3*o)break}return i.push(n[0],n[1],n[2]),i},s._PointInTriangle=function(t,e,i,s,n,r,o,a){var h=o-i,l=a-s,c=n-i,u=r-s,d=t-i,p=e-s,f=h*h+l*l,g=h*c+l*u,m=h*d+l*p,y=c*c+u*u,v=c*d+u*p,x=1/(f*y-g*g),b=(y*m-g*v)*x,_=(f*v-g*m)*x;return b>=0&&_>=0&&b+_<1},s._convex=function(t,e,i,s,n,r){return(e-s)*(n-i)+(i-t)*(r-s)>=0},e.exports=s},{}],30:[function(t,e,i){var s=e.exports={},n=t("../utils/Utils");s.crossLength=function(t,e){return t[0]*e[1]-t[1]*e[0]},s.crossVZ=function(t,e,i){return s.rotate(t,e,-Math.PI/2),s.scale(t,t,i),t},s.crossZV=function(t,e,i){return s.rotate(t,i,Math.PI/2),s.scale(t,t,e),t},s.rotate=function(t,e,i){if(0!==i){var s=Math.cos(i),n=Math.sin(i),r=e[0],o=e[1];t[0]=s*r-n*o,t[1]=n*r+s*o}else t[0]=e[0],t[1]=e[1]},s.rotate90cw=function(t,e){var i=e[0],s=e[1];t[0]=s,t[1]=-i},s.toLocalFrame=function(t,e,i,n){s.copy(t,e),s.sub(t,t,i),s.rotate(t,t,-n)},s.toGlobalFrame=function(t,e,i,n){s.copy(t,e),s.rotate(t,t,n),s.add(t,t,i)},s.vectorToLocalFrame=function(t,e,i){s.rotate(t,e,-i)},s.vectorToGlobalFrame=function(t,e,i){s.rotate(t,e,i)},s.centroid=function(t,e,i,n){return s.add(t,e,i),s.add(t,t,n),s.scale(t,t,1/3),t},s.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},s.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},s.fromValues=function(t,e){var i=new n.ARRAY_TYPE(2);return i[0]=t,i[1]=e,i},s.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},s.set=function(t,e,i){return t[0]=e,t[1]=i,t},s.add=function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t},s.subtract=function(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t},s.sub=s.subtract,s.multiply=function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t},s.mul=s.multiply,s.divide=function(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t},s.div=s.divide,s.scale=function(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t},s.distance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return Math.sqrt(i*i+s*s)},s.dist=s.distance,s.squaredDistance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return i*i+s*s},s.sqrDist=s.squaredDistance,s.length=function(t){var e=t[0],i=t[1];return Math.sqrt(e*e+i*i)},s.len=s.length,s.squaredLength=function(t){var e=t[0],i=t[1];return e*e+i*i},s.sqrLen=s.squaredLength,s.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},s.normalize=function(t,e){var i=e[0],s=e[1],n=i*i+s*s;return n>0&&(n=1/Math.sqrt(n),t[0]=e[0]*n,t[1]=e[1]*n),t},s.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},s.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},s.lerp=function(t,e,i,s){var n=e[0],r=e[1];return t[0]=n+s*(i[0]-n),t[1]=r+s*(i[1]-r),t},s.reflect=function(t,e,i){var s=e[0]*i[0]+e[1]*i[1];t[0]=e[0]-2*i[0]*s,t[1]=e[1]-2*i[1]*s},s.getLineSegmentsIntersection=function(t,e,i,n,r){var o=s.getLineSegmentsIntersectionFraction(e,i,n,r);return!(o<0)&&(t[0]=e[0]+o*(i[0]-e[0]),t[1]=e[1]+o*(i[1]-e[1]),!0)},s.getLineSegmentsIntersectionFraction=function(t,e,i,s){var n,r,o=e[0]-t[0],a=e[1]-t[1],h=s[0]-i[0],l=s[1]-i[1];return n=(-a*(t[0]-i[0])+o*(t[1]-i[1]))/(-h*a+o*l),r=(h*(t[1]-i[1])-l*(t[0]-i[0]))/(-h*a+o*l),n>=0&&n<=1&&r>=0&&r<=1?r:-1}},{"../utils/Utils":57}],31:[function(t,e,i){function s(t){t=t||{},c.call(this),this.id=t.id||++s._idCounter,this.world=null,this.shapes=[],this.mass=t.mass||0,this.invMass=0,this.inertia=0,this.invInertia=0,this.invMassSolve=0,this.invInertiaSolve=0,this.fixedRotation=!!t.fixedRotation,this.fixedX=!!t.fixedX,this.fixedY=!!t.fixedY,this.massMultiplier=n.create(),this.position=n.fromValues(0,0),t.position&&n.copy(this.position,t.position),this.interpolatedPosition=n.fromValues(0,0),this.interpolatedAngle=0,this.previousPosition=n.fromValues(0,0),this.previousAngle=0,this.velocity=n.fromValues(0,0),t.velocity&&n.copy(this.velocity,t.velocity),this.vlambda=n.fromValues(0,0),this.wlambda=0,this.angle=t.angle||0,this.angularVelocity=t.angularVelocity||0,this.force=n.create(),t.force&&n.copy(this.force,t.force),this.angularForce=t.angularForce||0,this.damping="number"==typeof t.damping?t.damping:.1,this.angularDamping="number"==typeof t.angularDamping?t.angularDamping:.1,this.type=s.STATIC,void 0!==t.type?this.type=t.type:t.mass?this.type=s.DYNAMIC:this.type=s.STATIC,this.boundingRadius=0,this.aabb=new l,this.aabbNeedsUpdate=!0,this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.wantsToSleep=!1,this.sleepState=s.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.2,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.gravityScale=void 0!==t.gravityScale?t.gravityScale:1,this.collisionResponse=void 0===t.collisionResponse||t.collisionResponse,this.idleTime=0,this.timeLastSleepy=0,this.ccdSpeedThreshold=void 0!==t.ccdSpeedThreshold?t.ccdSpeedThreshold:-1,this.ccdIterations=void 0!==t.ccdIterations?t.ccdIterations:10,this.concavePath=null,this._wakeUpAfterNarrowphase=!1,this.updateMassProperties()}var n=t("../math/vec2"),r=t("poly-decomp"),o=t("../shapes/Convex"),a=t("../collision/RaycastResult"),h=t("../collision/Ray"),l=t("../collision/AABB"),c=t("../events/EventEmitter");e.exports=s,s.prototype=new c,s.prototype.constructor=s,s._idCounter=0,s.prototype.updateSolveMassProperties=function(){this.sleepState===s.SLEEPING||this.type===s.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve=0):(this.invMassSolve=this.invMass,this.invInertiaSolve=this.invInertia)},s.prototype.setDensity=function(t){var e=this.getArea();this.mass=e*t,this.updateMassProperties()},s.prototype.getArea=function(){for(var t=0,e=0;ei&&(i=o+a)}this.boundingRadius=i},s.prototype.addShape=function(t,e,i){if(t.body)throw new Error("A shape can only be added to one body.");t.body=this,e?n.copy(t.position,e):n.set(t.position,0,0),t.angle=i||0,this.shapes.push(t),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0},s.prototype.removeShape=function(t){var e=this.shapes.indexOf(t);return-1!==e&&(this.shapes.splice(e,1),this.aabbNeedsUpdate=!0,t.body=null,!0)},s.prototype.updateMassProperties=function(){if(this.type===s.STATIC||this.type===s.KINEMATIC)this.mass=Number.MAX_VALUE,this.invMass=0,this.inertia=Number.MAX_VALUE,this.invInertia=0;else{var t=this.shapes,e=t.length,i=this.mass/e,r=0;if(this.fixedRotation)this.inertia=Number.MAX_VALUE,this.invInertia=0;else{for(var o=0;o0?1/r:0}this.invMass=1/this.mass,n.set(this.massMultiplier,this.fixedX?0:1,this.fixedY?0:1)}};n.create();s.prototype.applyForce=function(t,e){if(n.add(this.force,this.force,t),e){var i=n.crossLength(e,t);this.angularForce+=i}};var p=n.create(),f=n.create(),g=n.create();s.prototype.applyForceLocal=function(t,e){e=e||g;var i=p,s=f;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyForce(i,s)};var m=n.create();s.prototype.applyImpulse=function(t,e){if(this.type===s.DYNAMIC){var i=m;if(n.scale(i,t,this.invMass),n.multiply(i,this.massMultiplier,i),n.add(this.velocity,i,this.velocity),e){var r=n.crossLength(e,t);r*=this.invInertia,this.angularVelocity+=r}}};var y=n.create(),v=n.create(),x=n.create();s.prototype.applyImpulseLocal=function(t,e){e=e||x;var i=y,s=v;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyImpulse(i,s)},s.prototype.toLocalFrame=function(t,e){n.toLocalFrame(t,e,this.position,this.angle)},s.prototype.toWorldFrame=function(t,e){n.toGlobalFrame(t,e,this.position,this.angle)},s.prototype.vectorToLocalFrame=function(t,e){n.vectorToLocalFrame(t,e,this.angle)},s.prototype.vectorToWorldFrame=function(t,e){n.vectorToGlobalFrame(t,e,this.angle)},s.prototype.fromPolygon=function(t,e){e=e||{};for(h=this.shapes.length;h>=0;--h)this.removeShape(this.shapes[h]);var i=new r.Polygon;if(i.vertices=t,i.makeCCW(),"number"==typeof e.removeCollinearPoints&&i.removeCollinearPoints(e.removeCollinearPoints),void 0===e.skipSimpleCheck&&!i.isSimple())return!1;this.concavePath=i.vertices.slice(0);for(h=0;h=Math.pow(this.sleepSpeedLimit,2)?(this.idleTime=0,this.sleepState=s.AWAKE):(this.idleTime+=i,this.sleepState=s.SLEEPY),this.idleTime>this.sleepTimeLimit&&(e?this.wantsToSleep=!0:this.sleep())}},s.prototype.overlaps=function(t){return this.world.overlapKeeper.bodiesAreOverlapping(this,t)};var T=n.create(),P=n.create();s.prototype.integrate=function(t){var e=this.invMass,i=this.force,s=this.position,r=this.velocity;n.copy(this.previousPosition,this.position),this.previousAngle=this.angle,this.fixedRotation||(this.angularVelocity+=this.angularForce*this.invInertia*t),n.scale(T,i,t*e),n.multiply(T,this.massMultiplier,T),n.add(r,T,r),this.integrateToTimeOfImpact(t)||(n.scale(P,r,t),n.add(s,s,P),this.fixedRotation||(this.angle+=this.angularVelocity*t)),this.aabbNeedsUpdate=!0};var C=new a,S=new h({mode:h.ALL}),A=n.create(),E=n.create(),M=n.create(),R=n.create();s.prototype.integrateToTimeOfImpact=function(t){if(this.ccdSpeedThreshold<0||n.squaredLength(this.velocity)=l&&h=0&&(r.rotate(p,u,s),r.scale(p,p,2*y-1),e.reportIntersection(t,T,p,-1),t.shouldStop(e)))return}for(var x=Math.pow(this.radius,2)+Math.pow(m,2),y=0;y<2;y++){r.set(f,m*(2*y-1),0),r.toGlobalFrame(f,f,i,s);var b=Math.pow(o[0]-n[0],2)+Math.pow(o[1]-n[1],2),_=2*((o[0]-n[0])*(n[0]-f[0])+(o[1]-n[1])*(n[1]-f[1])),w=Math.pow(n[0]-f[0],2)+Math.pow(n[1]-f[1],2)-Math.pow(this.radius,2),T=Math.pow(_,2)-4*b*w;if(!(T<0))if(0===T){if(r.lerp(d,n,o,T),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,T,p,-1),t.shouldStop(e)))return}else{var P=Math.sqrt(T),C=1/(2*b),S=(-_-P)*C,A=(-_+P)*C;if(S>=0&&S<=1&&(r.lerp(d,n,o,S),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,S,p,-1),t.shouldStop(e))))return;if(A>=0&&A<=1&&(r.lerp(d,n,o,A),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,A,p,-1),t.shouldStop(e))))return}}}},{"../math/vec2":30,"./Shape":45}],39:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&(t={radius:arguments[0]},console.warn("The Circle constructor signature has changed. Please use the following format: new Circle({ radius: 1 })")),t=t||{},this.radius=t.radius||1,t.type=n.CIRCLE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){var e=this.radius;return t*e*e/2},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.radius},s.prototype.updateArea=function(){this.area=Math.PI*this.radius*this.radius},s.prototype.computeAABB=function(t,e,i){var s=this.radius;r.set(t.upperBound,s,s),r.set(t.lowerBound,-s,-s),e&&(r.add(t.lowerBound,t.lowerBound,e),r.add(t.upperBound,t.upperBound,e))};var o=r.create(),a=r.create();s.prototype.raycast=function(t,e,i,s){var n=e.from,h=e.to,l=this.radius,c=Math.pow(h[0]-n[0],2)+Math.pow(h[1]-n[1],2),u=2*((h[0]-n[0])*(n[0]-i[0])+(h[1]-n[1])*(n[1]-i[1])),d=Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2)-Math.pow(l,2),p=Math.pow(u,2)-4*c*d,f=o,g=a;if(!(p<0))if(0===p)r.lerp(f,n,h,p),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,p,g,-1);else{var m=Math.sqrt(p),y=1/(2*c),v=(-u-m)*y,x=(-u+m)*y;if(v>=0&&v<=1&&(r.lerp(f,n,h,v),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,v,g,-1),t.shouldStop(e)))return;x>=0&&x<=1&&(r.lerp(f,n,h,x),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,x,g,-1))}}},{"../math/vec2":30,"./Shape":45}],40:[function(t,e,i){function s(t){Array.isArray(arguments[0])&&(t={vertices:arguments[0],axes:arguments[1]},console.warn("The Convex constructor signature has changed. Please use the following format: new Convex({ vertices: [...], ... })")),t=t||{},this.vertices=[];for(var e=void 0!==t.vertices?t.vertices:[],i=0;in)&&(n=s),(null===o||sn){var l=o;o=n,n=l}r.set(e,o,n)},s.prototype.projectOntoWorldAxis=function(t,e,i,s){var n=h;this.projectOntoLocalAxis(t,s),0!==i?r.rotate(n,t,i):n=t;var o=r.dot(e,n);r.set(s,s[0]+o,s[1]+o)},s.prototype.updateTriangles=function(){this.triangles.length=0;for(var t=[],e=0;ee&&(e=s)}this.boundingRadius=Math.sqrt(e)},s.triangleArea=function(t,e,i){return.5*((e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1]))},s.prototype.updateArea=function(){this.updateTriangles(),this.area=0;for(var t=this.triangles,e=this.vertices,i=0;i!==t.length;i++){var n=t[i],r=e[n[0]],o=e[n[1]],a=e[n[2]],h=s.triangleArea(r,o,a);this.area+=h}},s.prototype.computeAABB=function(t,e,i){t.setFromPoints(this.vertices,e,i,0)};var f=r.create(),g=r.create(),m=r.create();s.prototype.raycast=function(t,e,i,s){var n=f,o=g,a=m,h=this.vertices;r.toLocalFrame(n,e.from,i,s),r.toLocalFrame(o,e.to,i,s);for(var l=h.length,c=0;c=0&&(r.sub(a,d,u),r.rotate(a,a,-Math.PI/2+s),r.normalize(a,a),e.reportIntersection(t,p,a,c))}}},{"../math/polyk":29,"../math/vec2":30,"./Shape":45,"poly-decomp":5}],41:[function(t,e,i){function s(t){if(Array.isArray(arguments[0])){if(t={heights:arguments[0]},"object"==typeof arguments[1])for(var e in arguments[1])t[e]=arguments[1][e];console.warn("The Heightfield constructor signature has changed. Please use the following format: new Heightfield({ heights: [...], ... })")}t=t||{},this.heights=t.heights?t.heights.slice(0):[],this.maxValue=t.maxValue||null,this.minValue=t.minValue||null,this.elementWidth=t.elementWidth||.1,void 0!==t.maxValue&&void 0!==t.minValue||this.updateMaxMinValues(),t.type=n.HEIGHTFIELD,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");t("../utils/Utils");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.updateMaxMinValues=function(){for(var t=this.heights,e=t[0],i=t[0],s=0;s!==t.length;s++){var n=t[s];n>e&&(e=n),nv){var x=y;y=v,v=x}for(var b=0;b=0&&(r.sub(d,f,p),r.rotate(d,d,s+Math.PI/2),r.normalize(d,d),e.reportIntersection(t,_,d,-1),t.shouldStop(e)))return}}},{"../math/vec2":30,"../utils/Utils":57,"./Shape":45}],42:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&(t={length:arguments[0]},console.warn("The Line constructor signature has changed. Please use the following format: new Line({ length: 1, ... })")),t=t||{},this.length=t.length||1,t.type=n.LINE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return t*Math.pow(this.length,2)/12},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.length/2};var o=[r.create(),r.create()];s.prototype.computeAABB=function(t,e,i){var s=this.length/2;r.set(o[0],-s,0),r.set(o[1],s,0),t.setFromPoints(o,e,i,0)};r.create();var a=r.create(),h=r.create(),l=r.create(),c=r.fromValues(0,1);s.prototype.raycast=function(t,e,i,s){var n=e.from,o=e.to,u=h,d=l,p=this.length/2;r.set(u,-p,0),r.set(d,p,0),r.toGlobalFrame(u,u,i,s),r.toGlobalFrame(d,d,i,s);var f=r.getLineSegmentsIntersectionFraction(u,d,n,o);if(f>=0){var g=a;r.rotate(g,c,s),e.reportIntersection(t,f,g,-1)}}},{"../math/vec2":30,"./Shape":45}],43:[function(t,e,i){function s(t){(t=t||{}).type=n.PARTICLE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return 0},s.prototype.updateBoundingRadius=function(){this.boundingRadius=0},s.prototype.computeAABB=function(t,e,i){r.copy(t.lowerBound,e),r.copy(t.upperBound,e)}},{"../math/vec2":30,"./Shape":45}],44:[function(t,e,i){function s(t){(t=t||{}).type=n.PLANE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");t("../utils/Utils");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return 0},s.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},s.prototype.computeAABB=function(t,e,i){var s=i%(2*Math.PI),n=r.set,o=t.lowerBound,a=t.upperBound;n(o,-1e7,-1e7),n(a,1e7,1e7),0===s?a[1]=0:s===Math.PI/2?o[0]=0:s===Math.PI?o[1]=0:s===3*Math.PI/2&&(a[0]=0)},s.prototype.updateArea=function(){this.area=Number.MAX_VALUE};var o=r.create(),a=(r.create(),r.create(),r.create()),h=r.create();s.prototype.raycast=function(t,e,i,s){var n=e.from,l=e.to,c=e.direction,u=o,d=a,p=h;r.set(d,0,1),r.rotate(d,d,s),r.sub(p,n,i);var f=r.dot(p,d);if(r.sub(p,l,i),!(f*r.dot(p,d)>0||r.squaredDistance(n,l)p*a&&(g=p*a-u),r[t]+=g,e.addToWlambda(g),g}},{"../equations/FrictionEquation":23,"../math/vec2":30,"../utils/Utils":57,"./Solver":47}],47:[function(t,e,i){function s(t,e){t=t||{},n.call(this),this.type=e,this.equations=[],this.equationSortFunction=t.equationSortFunction||!1}t("../utils/Utils");var n=t("../events/EventEmitter");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.solve=function(t,e){throw new Error("Solver.solve should be implemented by subclasses!")};var r={bodies:[]};s.prototype.solveIsland=function(t,e){this.removeAllEquations(),e.equations.length&&(this.addEquations(e.equations),r.bodies.length=0,e.getBodies(r.bodies),r.bodies.length&&this.solve(t,r))},s.prototype.sortEquations=function(){this.equationSortFunction&&this.equations.sort(this.equationSortFunction)},s.prototype.addEquation=function(t){t.enabled&&this.equations.push(t)},s.prototype.addEquations=function(t){for(var e=0,i=t.length;e!==i;e++){var s=t[e];s.enabled&&this.equations.push(s)}},s.prototype.removeEquation=function(t){var e=this.equations.indexOf(t);-1!==e&&this.equations.splice(e,1)},s.prototype.removeAllEquations=function(){this.equations.length=0},s.GS=1,s.ISLAND=2},{"../events/EventEmitter":26,"../utils/Utils":57}],48:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/ContactEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/ContactEquation":21,"./Pool":55}],49:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/FrictionEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/FrictionEquation":23,"./Pool":55}],50:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/IslandNode"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/IslandNode":60,"./Pool":55}],51:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/Island"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/Island":58,"./Pool":55}],52:[function(t,e,i){function s(){this.overlappingShapesLastState=new n,this.overlappingShapesCurrentState=new n,this.recordPool=new r({size:16}),this.tmpDict=new n,this.tmpArray1=[]}var n=t("./TupleDictionary"),r=(t("./OverlapKeeperRecord"),t("./OverlapKeeperRecordPool"));t("./Utils");e.exports=s,s.prototype.tick=function(){for(var t=this.overlappingShapesLastState,e=this.overlappingShapesCurrentState,i=t.keys.length;i--;){var s=t.keys[i],n=t.getByKey(s);e.getByKey(s);n&&this.recordPool.release(n)}t.reset(),t.copy(e),e.reset()},s.prototype.setOverlapping=function(t,e,i,s){this.overlappingShapesLastState;var n=this.overlappingShapesCurrentState;if(!n.get(e.id,s.id)){var r=this.recordPool.get();r.set(t,e,i,s),n.set(e.id,s.id,r)}},s.prototype.getNewOverlaps=function(t){return this.getDiff(this.overlappingShapesLastState,this.overlappingShapesCurrentState,t)},s.prototype.getEndOverlaps=function(t){return this.getDiff(this.overlappingShapesCurrentState,this.overlappingShapesLastState,t)},s.prototype.bodiesAreOverlapping=function(t,e){for(var i=this.overlappingShapesCurrentState,s=i.keys.length;s--;){var n=i.keys[s],r=i.data[n];if(r.bodyA===t&&r.bodyB===e||r.bodyA===e&&r.bodyB===t)return!0}return!1},s.prototype.getDiff=function(t,e,i){var s=t,n=e;(i=i||[]).length=0;for(var r=n.keys.length;r--;){var o=n.keys[r],a=n.data[o];if(!a)throw new Error("Key "+o+" had no data!");s.data[o]||i.push(a)}return i},s.prototype.isNewOverlap=function(t,e){var i=0|t.id,s=0|e.id,n=this.overlappingShapesLastState,r=this.overlappingShapesCurrentState;return!n.get(i,s)&&!!r.get(i,s)},s.prototype.getNewBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getNewOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getEndBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getEndOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getBodyDiff=function(t,e){e=e||[];for(var i=this.tmpDict,s=t.length;s--;){var n=t[s];i.set(0|n.bodyA.id,0|n.bodyB.id,n)}for(s=i.keys.length;s--;)(n=i.getByKey(i.keys[s]))&&e.push(n.bodyA,n.bodyB);return i.reset(),e}},{"./OverlapKeeperRecord":53,"./OverlapKeeperRecordPool":54,"./TupleDictionary":56,"./Utils":57}],53:[function(t,e,i){function s(t,e,i,s){this.shapeA=e,this.shapeB=s,this.bodyA=t,this.bodyB=i}e.exports=s,s.prototype.set=function(t,e,i,n){s.call(this,t,e,i,n)}},{}],54:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("./OverlapKeeperRecord"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=t.shapeA=t.shapeB=null,this}},{"./OverlapKeeperRecord":53,"./Pool":55}],55:[function(t,e,i){function s(t){t=t||{},this.objects=[],void 0!==t.size&&this.resize(t.size)}e.exports=s,s.prototype.resize=function(t){for(var e=this.objects;e.length>t;)e.pop();for(;e.length(0|e)?t<<16|65535&e:e<<16|65535&t)},s.prototype.getByKey=function(t){return t|=0,this.data[t]},s.prototype.get=function(t,e){return this.data[this.getKey(t,e)]},s.prototype.set=function(t,e,i){if(!i)throw new Error("No data!");var s=this.getKey(t,e);return this.data[s]||this.keys.push(s),this.data[s]=i,s},s.prototype.reset=function(){for(var t=this.data,e=this.keys,i=e.length;i--;)delete t[e[i]];e.length=0},s.prototype.copy=function(t){this.reset(),n.appendArray(this.keys,t.keys);for(var e=t.keys.length;e--;){var i=t.keys[e];this.data[i]=t.data[i]}}},{"./Utils":57}],57:[function(t,e,i){function s(){}e.exports=s,s.appendArray=function(t,e){if(e.length<15e4)t.push.apply(t,e);else for(var i=0,s=e.length;i!==s;++i)t.push(e[i])},s.splice=function(t,e,i){i=i||1;for(var s=e,n=t.length-i;s=t&&s=0;T-=2)for(S=b.length-2;S>=0;S-=2)(w[T]===b[S]&&w[T+1]===b[S+1]||w[T+1]===b[S]&&w[T]===b[S+1])&&b.splice(S,2);q=u.length;for(T=0;T!==q;T++){var C=u[T];if(!C.collideConnected)for(var S=b.length-2;S>=0;S-=2)(C.bodyA===b[S]&&C.bodyB===b[S+1]||C.bodyB===b[S]&&C.bodyA===b[S+1])&&b.splice(S,2)}this.postBroadphaseEvent.pairs=b,this.emit(this.postBroadphaseEvent),this.postBroadphaseEvent.pairs=null,c.reset(this);for(var T=0,A=b.length;T!==A;T+=2)for(var E=b[T],M=b[T+1],R=0,L=E.shapes.length;R!==L;R++)for(var B=E.shapes[R],I=B.position,O=B.angle,k=0,F=M.shapes.length;k!==F;k++){var D=M.shapes[k],U=D.position,G=D.angle,N=this.defaultContactMaterial;if(B.material&&D.material){var X=this.getContactMaterial(B.material,D.material);X&&(N=X)}this.runNarrowphase(c,E,B,I,O,M,D,U,G,N,this.frictionGravity)}for(T=0;T!==h;T++)(H=n[T])._wakeUpAfterNarrowphase&&(H.wakeUp(),H._wakeUpAfterNarrowphase=!1);if(this.has("endContact")){this.overlapKeeper.getEndOverlaps(P);for(var W=this.endContactEvent,k=P.length;k--;){var j=P[k];W.shapeA=j.shapeA,W.shapeB=j.shapeB,W.bodyA=j.bodyA,W.bodyB=j.bodyB,this.emit(W)}P.length=0}var V=this.preSolveEvent;V.contactEquations=c.contactEquations,V.frictionEquations=c.frictionEquations,this.emit(V),V.contactEquations=V.frictionEquations=null;var q=u.length;for(T=0;T!==q;T++)u[T].update();if(c.contactEquations.length||c.frictionEquations.length||q)if(this.islandSplit){for(g.equations.length=0,v.appendArray(g.equations,c.contactEquations),v.appendArray(g.equations,c.frictionEquations),T=0;T!==q;T++)v.appendArray(g.equations,u[T].equations);g.split(this);for(T=0;T!==g.islands.length;T++)(K=g.islands[T]).equations.length&&a.solveIsland(t,K)}else{for(a.addEquations(c.contactEquations),a.addEquations(c.frictionEquations),T=0;T!==q;T++)a.addEquations(u[T].equations);this.solveConstraints&&a.solve(t,this),a.removeAllEquations()}for(T=0;T!==h;T++){var H=n[T];H.integrate(t)}for(T=0;T!==h;T++)n[T].setZeroForce();if(this.emitImpactEvent&&this.has("impact"))for(var Y=this.impactEvent,T=0;T!==c.contactEquations.length;T++){var z=c.contactEquations[T];z.firstImpact&&(Y.bodyA=z.bodyA,Y.bodyB=z.bodyB,Y.shapeA=z.shapeA,Y.shapeB=z.shapeB,Y.contactEquation=z,this.emit(Y))}if(this.sleepMode===s.BODY_SLEEPING)for(T=0;T!==h;T++)n[T].sleepTick(this.time,!1,t);else if(this.sleepMode===s.ISLAND_SLEEPING&&this.islandSplit){for(T=0;T!==h;T++)n[T].sleepTick(this.time,!0,t);for(T=0;T0,t.frictionCoefficient=c.friction;var g;g=e.type===d.STATIC||e.type===d.KINEMATIC?o.mass:o.type===d.STATIC||o.type===d.KINEMATIC?e.mass:e.mass*o.mass/(e.mass+o.mass),t.slipForce=c.friction*u*g,t.restitution=c.restitution,t.surfaceVelocity=c.surfaceVelocity,t.frictionStiffness=c.frictionStiffness,t.frictionRelaxation=c.frictionRelaxation,t.stiffness=c.stiffness,t.relaxation=c.relaxation,t.contactSkinSize=c.contactSkinSize,t.enabledEquations=e.collisionResponse&&o.collisionResponse&&i.collisionResponse&&a.collisionResponse;var m=t[i.type|a.type],y=0;if(m){var v=i.sensor||a.sensor,x=t.frictionEquations.length;y=i.type=2*Math.pow(o.sleepSpeedLimit,2)&&(e._wakeUpAfterNarrowphase=!0),o.allowSleep&&o.type===d.DYNAMIC&&o.sleepState===d.SLEEPING&&e.sleepState===d.AWAKE&&e.type!==d.STATIC&&r.squaredLength(e.velocity)+Math.pow(e.angularVelocity,2)>=2*Math.pow(e.sleepSpeedLimit,2)&&(o._wakeUpAfterNarrowphase=!0),this.overlapKeeper.setOverlapping(e,i,o,a),this.has("beginContact")&&this.overlapKeeper.isNewOverlap(i,a)){var _=this.beginContactEvent;if(_.shapeA=i,_.shapeB=a,_.bodyA=e,_.bodyB=o,_.contactEquations.length=0,"number"==typeof y)for(P=t.contactEquations.length-y;P1)for(var P=t.frictionEquations.length-b;P=0;e--)this.removeConstraint(t[e]);for(var i=this.bodies,e=i.length-1;e>=0;e--)this.removeBody(i[e]);for(var n=this.springs,e=n.length-1;e>=0;e--)this.removeSpring(n[e]);for(var r=this.contactMaterials,e=r.length-1;e>=0;e--)this.removeContactMaterial(r[e]);s.apply(this)};var C=r.create(),S=(r.fromValues(0,0),r.fromValues(0,0));s.prototype.hitTest=function(t,e,i){i=i||0;var s=new d({position:t}),n=new c,u=t,p=C,f=S;s.addShape(n);for(var g=this.narrowphase,m=[],y=0,v=e.length;y!==v;y++)for(var x=e[y],b=0,_=x.shapes.length;b!==_;b++){var w=x.shapes[b];r.rotate(p,w.position,x.angle),r.add(p,p,x.position);var T=w.angle+x.angle;(w instanceof o&&g.circleParticle(x,w,p,T,s,n,u,0,!0)||w instanceof a&&g.particleConvex(s,n,u,0,x,w,p,T,!0)||w instanceof h&&g.particlePlane(s,n,u,0,x,w,p,T,!0)||w instanceof l&&g.particleCapsule(s,n,u,0,x,w,p,T,!0)||w instanceof c&&r.squaredLength(r.sub(f,p,t))0?Math.acos(i/u):-Math.acos(i/u),this.worldScale.x=u,this.worldScale.y=c/u}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=c/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?u:a,d=d>h?d:h);var f=this._bounds;if(!p){var g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,b=x.a,_=x.b,w=x.c,T=x.d,P=x.tx,C=x.ty,S=b*m+w*v+P,A=T*v+_*m+C,E=b*g+w*v+P,M=T*v+_*g+C,R=b*g+w*y+P,L=T*y+_*g+C,B=b*m+w*y+P,I=T*y+_*m+C;u=S,d=A,c=A,l=B<(l=R<(l=E<(l=S)?E:l)?R:l)?B:l,c=I<(c=L<(c=M(u=R>(u=E>u?E:u)?R:u)?B:u,d=I>(d=L>(d=M>d?M:d)?L:d)?I:d}if(f.x=l,f.y=c,f.width=u-l,f.height=d-c,e)for(t.worldTransform=r,n=0;n(f=T>(f=_>(f=x>f?x:f)?_:f)?T:f)?C:f,g=S>(g=P>(g=w>(g=b>g?b:g)?w:g)?P:g)?S:g}var A=this._bounds;return A.x=m,A.width=f-m,A.y=y,A.height=g-y,this._currentBounds=A,A},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,l,c,u,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(l=f.x-d*f.width)+i.crop.width,c=(u=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),l=i.frame.width*-d,c=i.frame.height*(1-p),u=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,b=o.c/m,_=o.d/m,w=o.tx,T=o.ty,P=(i.crop.width,i.crop.height);if(i.rotated){var C=o.a,S=o.b,A=o.c,E=o.d,M=l,R=h;w=o.c*P+w,T=o.d*P+T,v=6.123233995736766e-17*C-A,x=6.123233995736766e-17*S-E,b=C+6.123233995736766e-17*A,_=S+6.123233995736766e-17*E,i._updateUvsInverted(),h=c,l=u,c=R,u=M}var L=this.colors,B=this.positions,I=t.tint,O=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(B[g++]=v*l+b*u+w|0,B[g++]=_*u+x*l+T|0,B[g++]=a.x0,B[g++]=a.y0,L[g++]=O,B[g++]=y,B[g++]=v*h+b*u+w|0,B[g++]=_*u+x*h+T|0,B[g++]=a.x1,B[g++]=a.y1,L[g++]=O,B[g++]=y,B[g++]=v*h+b*c+w|0,B[g++]=_*c+x*h+T|0,B[g++]=a.x2,B[g++]=a.y2,L[g++]=O,B[g++]=y,B[g++]=v*l+b*c+w|0,B[g++]=_*c+x*l+T|0,B[g++]=a.x3,B[g++]=a.y3,L[g++]=O,B[g++]=y):(B[g++]=v*l+b*u+w,B[g++]=_*u+x*l+T,B[g++]=a.x0,B[g++]=a.y0,L[g++]=O,B[g++]=y,B[g++]=v*h+b*u+w,B[g++]=_*u+x*h+T,B[g++]=a.x1,B[g++]=a.y1,L[g++]=O,B[g++]=y,B[g++]=v*h+b*c+w,B[g++]=_*c+x*h+T,B[g++]=a.x2,B[g++]=a.y2,L[g++]=O,B[g++]=y,B[g++]=v*l+b*c+w,B[g++]=_*c+x*l+T,B[g++]=a.x3,B[g++]=a.y3,L[g++]=O,B[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var l=t.tilePosition.x/(a*t.tileScaleOffset.x),c=t.tilePosition.y/(h*t.tileScaleOffset.y),u=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-l,o.y0=0-c,o.x1=1*u-l,o.y1=0-c,o.x2=1*u-l,o.y2=1*d-c,o.x3=0-l,o.y3=1*d-c;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,b=t.anchor.y,_=y*(1-x),w=y*-x,T=v*(1-b),P=v*-b,C=this.currentBatchSize*this.vertexSize,S=e.baseTexture.resolution,A=t.worldTransform,E=A.a/S,M=A.b/S,R=A.c/S,L=A.d/S,B=A.tx,I=A.ty;g[C++]=E*w+R*P+B,g[C++]=L*P+M*w+I,g[C++]=o.x0,g[C++]=o.y0,m[C++]=f,g[C++]=r,g[C++]=E*_+R*P+B,g[C++]=L*P+M*_+I,g[C++]=o.x1,g[C++]=o.y1,m[C++]=f,g[C++]=r,g[C++]=E*_+R*T+B,g[C++]=L*T+M*_+I,g[C++]=o.x2,g[C++]=o.y2,m[C++]=f,g[C++]=r,g[C++]=E*w+R*T+B,g[C++]=L*T+M*w+I,g[C++]=o.x3,g[C++]=o.y3,m[C++]=f,g[C++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,l=0,c=0,u=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(f||g)&&(this.renderBatch(u,l,c),c=m,l=0,u=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}l++}this.renderBatch(u,l,c),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.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},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.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},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}.call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.9.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,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,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,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||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,l=t.radius,c=a+o*n,u=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),p=o*u+a,f=o*d+a,g=new i.Point(u,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(c-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((c=s+(r-s)*(o-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(r-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(r-s))>=o&&c<=h)return!0}else if(s>l&&r<=l&&(c=i+(n-i)*(l-s)/(r-s))>=o&&c<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,c=e.bottom,u=1/0;r[0].setTo(a,h,l,h),r[1].setTo(a,c,l,c),r[2].setTo(a,h,a,c),r[3].setTo(l,h,l,c);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},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(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.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+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.equalsXY=function(t,e,i){return t.x===e&&t.y===i},i.Point.fuzzyEquals=function(t,e,s){return i.Math.fuzzyEquals(t.x,e.x,s)&&i.Math.fuzzyEquals(t.y,e.y,s)},i.Point.fuzzyEqualsXY=function(t,e,s,n){return i.Math.fuzzyEquals(t.x,e,n)&&i.Math.fuzzyEquals(t.y,s,n)},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,c=a*t.x+h*t.y;t.x=l+e,t.y=c+s}else{var u=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(u),t.y=s+o*Math.sin(u)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),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.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.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.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.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(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(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[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),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&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(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: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&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(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.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._clearWorld=!0,this._clearCache=!0,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=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!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 e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),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(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(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(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),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));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),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))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,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 i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.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,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),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=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,r,o,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,l){return new i.Button(this.game,t,e,s,n,r,o,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,l,c){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==r&&this.onInputUp.add(r,o),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)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,l,c,u,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.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},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var g=s;gc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(o,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,l=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,u=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(l,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,l,c=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,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(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=R=Math.sqrt(_*_+w*w),w/=R,_*=F,w*=F,L.push(p-_,f-w),L.push(G,N,X,U),L.push(p+_,f+w),L.push(G,N,X,U),L.push(p-_,f-w),L.push(G,N,X,U),O++):(L.push(l,c),L.push(G,N,X,U),L.push(p-(l-p),f-(c-f)),L.push(G,N,X,U));for(u=n[2*(I-2)],d=n[2*(I-2)+1],p=n[2*(I-1)],y=-(d-(f=n[2*(I-1)+1])),v=u-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(p-y,f-v),L.push(G,N,X,U),L.push(p+y,f+v),L.push(G,N,X,U),B.push(k),s=0;sh?r:h,l=oc?o:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,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 i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?m:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{o=r.points;for(var g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.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=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*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 m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}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(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===u){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);c[u]=m,h+=g}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,r,a).data,u=c.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&r>-1)return{width:o||n,text:i.substr(0,c-(c-r)),end:u,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=[],this.points=o,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,this.points=o,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,A=Math.sqrt(C*C+S*S);l=T+C/A*(A+_),d=P+S/A*(A+w),S=p-P,c=T+(C=c-T)/(A=Math.sqrt(C*C+S*S))*(A+_),p=P+S/A*(A+w),S=f-P,u=T+(C=u-T)/(A=Math.sqrt(C*C+S*S))*(A+_),f=P+S/A*(A+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var E=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*u+c*b-x*u-v*c-l*b,R=g*c+l*y+m*u-c*y-l*m-g*u,L=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,B=d*x+v*f+p*b-x*f-v*p-d*b,I=g*p+d*y+m*f-p*y-d*m-g*f,O=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/E,B/E,R/E,I/E,L/E,O/E),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?m:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,l=[],c=0;c(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,w=b>(w=v>(w=m>(w=f>w?f:w)?m:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>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(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t){return this._tweens.some(function(e){return e.target===t})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,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 t=0;t0?(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(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.yoyoCounter=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*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 s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];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,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=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 t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.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(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},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(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),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=this.isReversed?this._frames.length-1: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)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=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._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),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)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===c||0===u||cc&&(f=o,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(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,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&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 n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()}},xhrLoadWithXDR:function(t,e,i,s,n){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 r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e: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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?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()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(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.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;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&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(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&&""===t?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)&&!1===this.game.cache.getSound(this.key).isDecoding&&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.game.sound.mute?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(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,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 e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,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(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&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 t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?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())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(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(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)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(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){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.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.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 t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},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(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return i.Color.getColor32(r,l,c,u)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-e)*h/a+e,u=(o-s)*h/a+s;return i.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},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}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.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=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.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()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,r){return void 0===r&&(r=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>r?i=r:i<-r&&(i=-r),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,r){if(!Array.isArray(t)&&Array.isArray(e))for(o=0;oa.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,r,o)}}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(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,r)}}}}},collideGroupVsGroup:function(t,e,s,n,r,o){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,r=e.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(o)+t.velocity.y*Math.sin(o),y:t.velocity.x*Math.sin(o)-t.velocity.y*Math.cos(o)},u={x:e.velocity.x*Math.cos(o)+e.velocity.y*Math.sin(o),y:e.velocity.x*Math.sin(o)-e.velocity.y*Math.cos(o)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(o)-c.y*Math.sin(o))*t.bounce.x,t.velocity.y=(c.y*Math.cos(o)+d*Math.sin(o))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*e.bounce.x,e.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*e.bounce.y),Math.abs(o)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(o),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(o)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,r=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-r*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=r-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.x=h+o*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,r=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-r*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=r-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.y=h+o*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,r,o){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(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleBetween(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToXY:function(t,e,i,s,n,r){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===r&&(r=1e3);var o=this.angleToXY(t,e,i);return t.body.acceleration.setTo(o,s),t.body.maxVelocity.setTo(n,r),o},distanceBetween:function(t,e,i){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,r=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+r*r)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i){for(var s=1/0,n=null,r=0,o=e.length;rs&&(n=a,s=h)}return n},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.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=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,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={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){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.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),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.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.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.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,r,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,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(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,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(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},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},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,r,o,a,h){void 0===n&&(n=this._boundsLeft),void 0===r&&(r=this._boundsRight),void 0===o&&(o=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(r,"right",t+i,e,-1.5707963267948966,h),this.setupWall(o,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=r,this._boundsTop=o,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,r){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),r&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},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 i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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 t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);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=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,r,o,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,r,o,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var r=[this.pxmi(t.x),this.pxmi(t.y)],o=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?o.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?o.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&o.push(e[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(r=u.x*u.width,o=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(r,o,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,r){e=e||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.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,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(r=0;r-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var r=this.data.shapes.length-1;r>=0;r--)this.data.shapes[r].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(r=0;r=0;r--)this.data.shapes[r].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},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(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},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.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,r,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1),t.beginFill(a),t.drawRect(e-n/2,i-r/2,n,r)},drawCircle:function(t,e,i,s,n,r,o){void 0===o&&(o=1),void 0===r&&(r=16777215),t.lineStyle(o,0,1),t.beginFill(r,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,r,o,a){var h,l,c,u,d,p,f,g,m,y,v;if(void 0===r&&(r=1),void 0===s&&(s=0),o){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],g=d[0],v=d[1],t.lineStyle(r,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(g,-v),t.drawCircle(f,-y,2*r),l++;return t.lineStyle(r,0,1),t.drawCircle(a[0],a[1],2*r)}for(t.lineStyle(r,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],m=c[1],0===l?t.moveTo(p,-m):t.lineTo(p,-m),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var r,o,a,h,l,c,u,d,p,f,g;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),o=null,a=null,r=0;r2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,r,o,a,h,l){var c,u;void 0===r&&(r=1),void 0===s&&(s=16777215),t.lineStyle(r,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-r),t.drawCircle(n/2*l+e,n/2*c+i,2*-r),t.endFill(),t.lineStyle(h,o,0),t.beginFill(a,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i),t.lineTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.endFill(),t.lineStyle(h,o,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.moveTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,r,o,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===r&&(r=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:r};void 0!==o&&null!==o&&(c.worldAnchorA=[t.pxm(o[0]),t.pxm(o[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,r){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===r&&(r=1),s&&(s=t.pxm(s));var o={restAngle:s,stiffness:n,damping:r};this.data=new p2.RotationalSpring(e,i,o),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,r,o){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],maxForce:o};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var r={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,r)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,r){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var o={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:r};p2.LockConstraint.call(this,e,i,o)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,r,o,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],localAxisA:o,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,r,o){void 0===r&&(r=Number.MAX_VALUE),void 0===o&&(o=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],o&&(o=[t.pxmi(o[0]),t.pxmi(o[1])]);var a={worldPivot:o,localPivotA:i,localPivotB:n,maxForce:r};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},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(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,r,o){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,r,o,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=r,p=r,f=0,g=0,m=0,y=a;y1)for(u=0;uthis.layers.length)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[r].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[r].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[r].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new i.TilemapLayer(this.game,this,r,e,s));return this.enableDebug&&console.groupEnd(),o}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,r){n|=0,r|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,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:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;m++,v--,f+=c){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var w=_[g];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(o.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(o.save(),o.translate(p+w.centerX,f+w.centerY),o.rotate(w.rotation),w.flipped&&o.scale(-1,1),P.draw(o,-w.centerX,-w.centerY,T),o.restore()):P.draw(o,p,f,T):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=r+e,u=r-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/o),g=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,c,g,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=m-g,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var r=this.getEmptyData(),o=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}k={name:r.name,x:r.x,y:r.y,width:r.width,height:r.height,widthInPixels:r.width*t.tilewidth,heightInPixels:r.height*t.tileheight,alpha:r.opacity,offsetX:r.offsetx,offsetY:r.offsety,visible:r.visible,properties:{},indexes:[],callbacks:[],bodies:[]};r.properties&&(k.properties=r.properties);for(var c,u,d,p=0,f=[],g=[],m=0,a=r.data.length;m536870912)switch(A>2147483648&&(A-=2147483648,d+=4),A>1073741824&&(A-=1073741824,d+=2),A>536870912&&(A-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}A>0?((F=new i.Tile(k,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,F.flipped=u,0!==d&&(F.flippedVal=d),f.push(F)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(k,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}k.data=g,s.push(k)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=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._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===r&&(r=null);var o,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var r=0;r1&&(o=r.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=r.between(this.top,this.bottom)),this.resetParticle(n,o,a),!0},i.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,r){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var o={v:t},a=this.game.make.tween(o).to({v:e},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,r,o,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,r>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,r){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*o:(c=Math.cos(this.game.math.degToRad(l))*o,u=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var g=this.fireRate;(g+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.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._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=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!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=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),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,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,t,e)),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.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?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.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 t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&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,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},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(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); +!function(t){if("object"==typeof exports)module.exports=t();else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.p2=t()}}(function(){return function t(e,i,s){function n(o,a){if(!i[o]){if(!e[o]){var h="function"==typeof require&&require;if(!a&&h)return h(o,!0);if(r)return r(o,!0);throw new Error("Cannot find module '"+o+"'")}var l=i[o]={exports:{}};e[o][0].call(l.exports,function(t){var i=e[o][1][t];return n(i||t)},l,l.exports,t,e,i,s)}return i[o].exports}for(var r="function"==typeof require&&require,o=0;o=0&&h<=1&&l>=0&&l<=1}},{"./Scalar":4}],2:[function(t,e,i){function s(){}e.exports=s,s.area=function(t,e,i){return(e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1])},s.left=function(t,e,i){return s.area(t,e,i)>0},s.leftOn=function(t,e,i){return s.area(t,e,i)>=0},s.right=function(t,e,i){return s.area(t,e,i)<0},s.rightOn=function(t,e,i){return s.area(t,e,i)<=0};var n=[],r=[];s.collinear=function(t,e,i,o){if(o){var a=n,h=r;a[0]=e[0]-t[0],a[1]=e[1]-t[1],h[0]=i[0]-e[0],h[1]=i[1]-e[1];var l=a[0]*h[0]+a[1]*h[1],c=Math.sqrt(a[0]*a[0]+a[1]*a[1]),u=Math.sqrt(h[0]*h[0]+h[1]*h[1]);return Math.acos(l/(c*u))t.vertices.length)throw new Error("lol2");if(e<0)throw new Error("lol3");for(var s=e;se[t][0])&&(t=i);o.left(this.at(t-1),this.at(t),this.at(t+1))||this.reverse()},s.prototype.reverse=function(){for(var t=[],e=0,i=this.vertices.length;e!==i;e++)t.push(this.vertices.pop());this.vertices=t},s.prototype.isReflex=function(t){return o.right(this.at(t-1),this.at(t),this.at(t+1))};var h=[],l=[];s.prototype.canSee=function(t,e){var i,s,n=h,a=l;if(o.leftOn(this.at(t+1),this.at(t),this.at(e))&&o.rightOn(this.at(t-1),this.at(t),this.at(e)))return!1;s=o.sqdist(this.at(t),this.at(e));for(var c=0;c!==this.vertices.length;++c)if((c+1)%this.vertices.length!==t&&c!==t&&o.leftOn(this.at(t),this.at(e),this.at(c+1))&&o.rightOn(this.at(t),this.at(e),this.at(c))&&(n[0]=this.at(t),n[1]=this.at(e),a[0]=this.at(c),a[1]=this.at(c+1),i=r.lineInt(n,a),o.sqdist(this.at(t),i)0?this.slice(t):[this]},s.prototype.slice=function(t){if(0==t.length)return[this];if(t instanceof Array&&t.length&&t[0]instanceof Array&&2==t[0].length&&t[0][0]instanceof Array){for(var e=[this],i=0;ia)return console.warn("quickDecomp: max level ("+a+") reached."),t;for(var T=0;Tm&&(m+=this.vertices.length),g=Number.MAX_VALUE,m3&&i>=0;--i)o.collinear(this.at(i-1),this.at(i),this.at(i+1),t)&&(this.vertices.splice(i%this.vertices.length,1),i--,e++);return e}},{"./Line":1,"./Point":2,"./Scalar":4}],4:[function(t,e,i){function s(){}e.exports=s,s.eq=function(t,e,i){return i=i||0,Math.abs(t-e) (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.1"}}},{}],7:[function(t,e,i){function s(t){this.lowerBound=n.create(),t&&t.lowerBound&&n.copy(this.lowerBound,t.lowerBound),this.upperBound=n.create(),t&&t.upperBound&&n.copy(this.upperBound,t.upperBound)}var n=t("../math/vec2");t("../utils/Utils");e.exports=s;var r=n.create();s.prototype.setFromPoints=function(t,e,i,s){var o=this.lowerBound,a=this.upperBound;"number"!=typeof i&&(i=0),0!==i?n.rotate(o,t[0],i):n.copy(o,t[0]),n.copy(a,o);for(var h=Math.cos(i),l=Math.sin(i),c=1;ca[f]&&(a[f]=u[f]),u[f]i&&(this.lowerBound[e]=i);var s=t.upperBound[e];this.upperBound[e]h?-1:a}},{"../math/vec2":30,"../utils/Utils":57}],8:[function(t,e,i){function s(t){this.type=t,this.result=[],this.world=null,this.boundingVolumeType=s.AABB}var n=t("../math/vec2"),r=t("../objects/Body");e.exports=s,s.AABB=1,s.BOUNDING_CIRCLE=2,s.prototype.setWorld=function(t){this.world=t},s.prototype.getCollisionPairs=function(t){};var o=n.create();s.boundingRadiusCheck=function(t,e){n.sub(o,t.position,e.position);var i=n.squaredLength(o),s=t.boundingRadius+e.boundingRadius;return i<=s*s},s.aabbCheck=function(t,e){return t.getAABB().overlaps(e.getAABB())},s.prototype.boundingVolumeCheck=function(t,e){var i;switch(this.boundingVolumeType){case s.BOUNDING_CIRCLE:i=s.boundingRadiusCheck(t,e);break;case s.AABB:i=s.aabbCheck(t,e);break;default:throw new Error("Bounding volume type not recognized: "+this.boundingVolumeType)}return i},s.canCollide=function(t,e){var i=r.KINEMATIC,s=r.STATIC;return(t.type!==s||e.type!==s)&&(!(t.type===i&&e.type===s||t.type===s&&e.type===i)&&((t.type!==i||e.type!==i)&&((t.sleepState!==r.SLEEPING||e.sleepState!==r.SLEEPING)&&!(t.sleepState===r.SLEEPING&&e.type===s||e.sleepState===r.SLEEPING&&t.type===s))))},s.NAIVE=1,s.SAP=2},{"../math/vec2":30,"../objects/Body":31}],9:[function(t,e,i){function s(){n.call(this,n.NAIVE)}t("../shapes/Circle"),t("../shapes/Plane"),t("../shapes/Shape"),t("../shapes/Particle");var n=t("../collision/Broadphase");t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.getCollisionPairs=function(t){var e=t.bodies,i=this.result;i.length=0;for(var s=0,r=e.length;s!==r;s++)for(var o=e[s],a=0;az&&Y0)for(G=0;GMath.pow(g,2))return 0;if(u)return!0;var m=this.createContactEquation(t,n,e,r);return a(m.normalA,l,i),o.normalize(m.normalA,m.normalA),o.scale(m.contactPointA,m.normalA,d),o.scale(m.contactPointB,m.normalA,-p),h(m.contactPointA,m.contactPointA,i),a(m.contactPointA,m.contactPointA,t.position),h(m.contactPointB,m.contactPointB,l),a(m.contactPointB,m.contactPointB,n.position),this.contactEquations.push(m),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(m)),1},s.prototype[m.PLANE|m.CONVEX]=s.prototype[m.PLANE|m.BOX]=s.prototype.planeConvex=function(t,e,i,s,n,r,c,u,d){var p=x,f=b,g=_,m=0;o.rotate(f,v,s);for(var y=0;y!==r.vertices.length;y++){var w=r.vertices[y];if(o.rotate(p,w,u),h(p,p,c),a(g,p,i),l(g,f)<=0){if(d)return!0;m++;var T=this.createContactEquation(t,n,e,r);a(g,p,i),o.copy(T.normalA,f);var P=l(g,T.normalA);o.scale(g,T.normalA,P),a(T.contactPointB,p,n.position),a(T.contactPointA,p,g),a(T.contactPointA,T.contactPointA,t.position),this.contactEquations.push(T),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(T))}}return this.enableFrictionReduction&&this.enableFriction&&m&&this.frictionEquations.push(this.createFrictionFromAverage(m)),m},s.prototype[m.PARTICLE|m.PLANE]=s.prototype.particlePlane=function(t,e,i,s,n,r,h,c,u){var d=x,p=b;c=c||0,a(d,i,h),o.rotate(p,v,c);var f=l(d,p);if(f>0)return 0;if(u)return!0;var g=this.createContactEquation(n,t,r,e);return o.copy(g.normalA,p),o.scale(d,g.normalA,f),a(g.contactPointA,i,d),a(g.contactPointA,g.contactPointA,n.position),a(g.contactPointB,i,t.position),this.contactEquations.push(g),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(g)),1},s.prototype[m.CIRCLE|m.PARTICLE]=s.prototype.circleParticle=function(t,e,i,s,n,r,l,c,u){var d=x;if(a(d,l,i),o.squaredLength(d)>Math.pow(e.radius,2))return 0;if(u)return!0;var p=this.createContactEquation(t,n,e,r);return o.copy(p.normalA,d),o.normalize(p.normalA,p.normalA),o.scale(p.contactPointA,p.normalA,e.radius),h(p.contactPointA,p.contactPointA,i),a(p.contactPointA,p.contactPointA,t.position),a(p.contactPointB,l,n.position),this.contactEquations.push(p),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(p)),1};var K=new f({radius:1}),J=o.create(),Q=o.create();o.create();s.prototype[m.PLANE|m.CAPSULE]=s.prototype.planeCapsule=function(t,e,i,s,n,r,a,l,c){var u=J,d=Q,p=K;o.set(u,-r.length/2,0),o.rotate(u,u,l),h(u,u,a),o.set(d,r.length/2,0),o.rotate(d,d,l),h(d,d,a),p.radius=r.radius;var f;this.enableFrictionReduction&&(f=this.enableFriction,this.enableFriction=!1);var g=this.circlePlane(n,p,u,0,t,e,i,s,c),m=this.circlePlane(n,p,d,0,t,e,i,s,c);if(this.enableFrictionReduction&&(this.enableFriction=f),c)return g||m;var y=g+m;return this.enableFrictionReduction&&y&&this.frictionEquations.push(this.createFrictionFromAverage(y)),y},s.prototype[m.CIRCLE|m.PLANE]=s.prototype.circlePlane=function(t,e,i,s,n,r,c,u,d){var p=t,f=e,g=i,m=n,y=c,w=u;w=w||0;var T=x,P=b,C=_;a(T,g,y),o.rotate(P,v,w);var S=l(P,T);if(S>f.radius)return 0;if(d)return!0;var A=this.createContactEquation(m,p,r,e);return o.copy(A.normalA,P),o.scale(A.contactPointB,A.normalA,-f.radius),h(A.contactPointB,A.contactPointB,g),a(A.contactPointB,A.contactPointB,p.position),o.scale(C,A.normalA,S),a(A.contactPointA,T,C),h(A.contactPointA,A.contactPointA,y),a(A.contactPointA,A.contactPointA,m.position),this.contactEquations.push(A),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(A)),1},s.prototype[m.CONVEX]=s.prototype[m.CONVEX|m.BOX]=s.prototype[m.BOX]=s.prototype.convexConvex=function(t,e,i,n,r,c,u,d,p,f){var g=x,m=b,y=_,v=w,P=T,E=C,M=S,R=A,L=0,f="number"==typeof f?f:0;if(!s.findSeparatingAxis(e,i,n,c,u,d,g))return 0;a(M,u,i),l(g,M)>0&&o.scale(g,g,-1);var B=s.getClosestEdge(e,n,g,!0),I=s.getClosestEdge(c,d,g);if(-1===B||-1===I)return 0;for(var O=0;O<2;O++){var k=B,F=I,D=e,U=c,G=i,N=u,X=n,W=d,j=t,V=r;if(0===O){var q;q=k,k=F,F=q,q=D,D=U,U=q,q=G,G=N,N=q,q=X,X=W,W=q,q=j,j=V,V=q}for(var H=F;H=3){if(p)return!0;var Z=this.createContactEquation(j,V,D,U);L++;var J=D.vertices[k%D.vertices.length],Q=D.vertices[(k+1)%D.vertices.length];o.rotate(y,J,X),o.rotate(v,Q,X),h(y,y,G),h(v,v,G),a(P,v,y),o.rotate90cw(Z.normalA,P),o.normalize(Z.normalA,Z.normalA),a(M,m,y);var $=l(Z.normalA,M);o.scale(E,Z.normalA,$),a(Z.contactPointA,m,G),a(Z.contactPointA,Z.contactPointA,E),h(Z.contactPointA,Z.contactPointA,G),a(Z.contactPointA,Z.contactPointA,j.position),a(Z.contactPointB,m,N),h(Z.contactPointB,Z.contactPointB,N),a(Z.contactPointB,Z.contactPointB,V.position),this.contactEquations.push(Z),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(Z))}}}return this.enableFrictionReduction&&this.enableFriction&&L&&this.frictionEquations.push(this.createFrictionFromAverage(L)),L};var Z=o.fromValues(0,0);s.projectConvexOntoAxis=function(t,e,i,s,n){var r,a,h=null,c=null,u=Z;o.rotate(u,s,-i);for(var d=0;dh)&&(h=a),(null===c||ah){var p=c;c=h,h=p}var f=l(e,s);o.set(n,c+f,h+f)};var $=o.fromValues(0,0),tt=o.fromValues(0,0),et=o.fromValues(0,0),it=o.fromValues(0,0),st=o.fromValues(0,0),nt=o.fromValues(0,0);s.findSeparatingAxis=function(t,e,i,n,r,h,l){var c=null,u=!1,d=!1,p=$,f=tt,g=et,m=it,v=st,x=nt;if(t instanceof y&&n instanceof y)for(P=0;2!==P;P++){var b=t,_=i;1===P&&(b=n,_=h);for(C=0;2!==C;C++){0===C?o.set(m,0,1):1===C&&o.set(m,1,0),0!==_&&o.rotate(m,m,_),s.projectConvexOntoAxis(t,e,i,m,v),s.projectConvexOntoAxis(n,r,h,m,x);var w=v,T=x;v[0]>x[0]&&(T=v,w=x,!0),u=(S=T[0]-w[1])<=0,(null===c||S>c)&&(o.copy(l,m),c=S,d=u)}}else for(var P=0;2!==P;P++){var b=t,_=i;1===P&&(b=n,_=h);for(var C=0;C!==b.vertices.length;C++){o.rotate(f,b.vertices[C],_),o.rotate(g,b.vertices[(C+1)%b.vertices.length],_),a(p,g,f),o.rotate90cw(m,p),o.normalize(m,m),s.projectConvexOntoAxis(t,e,i,m,v),s.projectConvexOntoAxis(n,r,h,m,x);var w=v,T=x;v[0]>x[0]&&(T=v,w=x,!0);var S=T[0]-w[1];u=S<=0,(null===c||S>c)&&(o.copy(l,m),c=S,d=u)}}return d};var rt=o.fromValues(0,0),ot=o.fromValues(0,0),at=o.fromValues(0,0);s.getClosestEdge=function(t,e,i,s){var n=rt,r=ot,h=at;o.rotate(n,i,-e),s&&o.scale(n,n,-1);for(var c=-1,u=t.vertices.length,d=-1,p=0;p!==u;p++){a(r,t.vertices[(p+1)%u],t.vertices[p%u]),o.rotate90cw(h,r),o.normalize(h,h);var f=l(h,n);(-1===c||f>d)&&(c=p%u,d=f)}return c};var ht=o.create(),lt=o.create(),ct=o.create(),ut=o.create(),dt=o.create(),pt=o.create(),ft=o.create();s.prototype[m.CIRCLE|m.HEIGHTFIELD]=s.prototype.circleHeightfield=function(t,e,i,s,n,r,l,c,u,d){var p=r.heights,d=d||e.radius,f=r.elementWidth,g=lt,m=ht,y=dt,v=ft,x=pt,b=ct,_=ut,w=Math.floor((i[0]-d-l[0])/f),T=Math.ceil((i[0]+d-l[0])/f);w<0&&(w=0),T>=p.length&&(T=p.length-1);for(var P=p[w],C=p[T],S=w;SP&&(P=p[S]);if(i[1]-d>P)return!u&&0;for(var A=!1,S=w;S=b[0]&&m[0]<_[0]&&E<=0){if(u)return!0;A=!0,o.scale(g,x,-E),o.add(y,m,g),o.copy(v,x);M=this.createContactEquation(n,t,r,e);o.copy(M.normalA,v),o.scale(M.contactPointB,M.normalA,-d),h(M.contactPointB,M.contactPointB,i),a(M.contactPointB,M.contactPointB,t.position),o.copy(M.contactPointA,y),o.sub(M.contactPointA,M.contactPointA,n.position),this.contactEquations.push(M),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(M))}}if(A=!1,d>0)for(S=w;S<=T;S++)if(o.set(b,S*f,p[S]),o.add(b,b,l),o.sub(g,i,b),o.squaredLength(g)=c.length&&(y=c.length-1);for(var v=c[m],x=c[y],b=m;bv&&(v=c[b]);if(t.aabb.lowerBound[1]>v)return!l&&0;for(var _=0,b=m;b=0||r.containsPoint(this.from))&&this.intersectBody(t,n)}};var o=r.create();s.prototype.intersectBody=function(t,e){var i=this.checkCollisionResponse;if(!i||e.collisionResponse)for(var s=o,n=0,a=e.shapes.length;ne.boundingRadius*e.boundingRadius||(this._currentBody=r,this._currentShape=e,e.raycast(t,this,s,i),this._currentBody=this._currentShape=null)},s.prototype.getAABB=function(t){var e=this.to,i=this.from;r.set(t.lowerBound,Math.min(e[0],i[0]),Math.min(e[1],i[1])),r.set(t.upperBound,Math.max(e[0],i[0]),Math.max(e[1],i[1]))};r.create();s.prototype.reportIntersection=function(t,e,i,n){this.from,this.to;var o=this._currentShape,a=this._currentBody;if(!(this.skipBackfaces&&r.dot(i,this.direction)>0))switch(this.mode){case s.ALL:t.set(i,o,a,e,n),this.callback(t);break;case s.CLOSEST:(e=0&&!(t[r].aabb.lowerBound[e]<=n.aabb.lowerBound[e]);r--)t[r+1]=t[r];t[r+1]=n}return t},s.prototype.sortList=function(){var t=this.axisList,e=this.axisIndex;s.sortAxisList(t,e)},s.prototype.getCollisionPairs=function(t){var e=this.axisList,i=this.result,s=this.axisIndex;i.length=0;for(var n=e.length;n--;){var o=e[n];o.aabbNeedsUpdate&&o.updateAABB()}this.sortList();for(var a=0,h=0|e.length;a!==h;a++)for(var l=e[a],c=a+1;cthis.upperLimit&&(r.maxForce=0,r.minForce=-this.maxForce,this.distance=this.upperLimit,u=!0),this.lowerLimitEnabled&&this.positioni?(a.scale(n.normalA,l,-1),a.sub(n.contactPointA,c,o.position),a.sub(n.contactPointB,u,h.position),a.scale(f,l,i),a.add(n.contactPointA,n.contactPointA,f),-1===t.indexOf(n)&&t.push(n)):-1!==(b=t.indexOf(n))&&t.splice(b,1),this.lowerLimitEnabled&&va?(f.angle=a,-1===n.indexOf(f)&&n.push(f)):-1!==(y=n.indexOf(f))&&n.splice(y,1),this.lowerLimitEnabled&&m>1;if(e<3)return[];for(var i=[],n=[],r=0;r3;){var a=n[(r+0)%o],h=n[(r+1)%o],l=n[(r+2)%o],c=t[2*a],u=t[2*a+1],d=t[2*h],p=t[2*h+1],f=t[2*l],g=t[2*l+1],m=!1;if(s._convex(c,u,d,p,f,g)){m=!0;for(var y=0;y3*o)break}return i.push(n[0],n[1],n[2]),i},s._PointInTriangle=function(t,e,i,s,n,r,o,a){var h=o-i,l=a-s,c=n-i,u=r-s,d=t-i,p=e-s,f=h*h+l*l,g=h*c+l*u,m=h*d+l*p,y=c*c+u*u,v=c*d+u*p,x=1/(f*y-g*g),b=(y*m-g*v)*x,_=(f*v-g*m)*x;return b>=0&&_>=0&&b+_<1},s._convex=function(t,e,i,s,n,r){return(e-s)*(n-i)+(i-t)*(r-s)>=0},e.exports=s},{}],30:[function(t,e,i){var s=e.exports={},n=t("../utils/Utils");s.crossLength=function(t,e){return t[0]*e[1]-t[1]*e[0]},s.crossVZ=function(t,e,i){return s.rotate(t,e,-Math.PI/2),s.scale(t,t,i),t},s.crossZV=function(t,e,i){return s.rotate(t,i,Math.PI/2),s.scale(t,t,e),t},s.rotate=function(t,e,i){if(0!==i){var s=Math.cos(i),n=Math.sin(i),r=e[0],o=e[1];t[0]=s*r-n*o,t[1]=n*r+s*o}else t[0]=e[0],t[1]=e[1]},s.rotate90cw=function(t,e){var i=e[0],s=e[1];t[0]=s,t[1]=-i},s.toLocalFrame=function(t,e,i,n){s.copy(t,e),s.sub(t,t,i),s.rotate(t,t,-n)},s.toGlobalFrame=function(t,e,i,n){s.copy(t,e),s.rotate(t,t,n),s.add(t,t,i)},s.vectorToLocalFrame=function(t,e,i){s.rotate(t,e,-i)},s.vectorToGlobalFrame=function(t,e,i){s.rotate(t,e,i)},s.centroid=function(t,e,i,n){return s.add(t,e,i),s.add(t,t,n),s.scale(t,t,1/3),t},s.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},s.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},s.fromValues=function(t,e){var i=new n.ARRAY_TYPE(2);return i[0]=t,i[1]=e,i},s.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},s.set=function(t,e,i){return t[0]=e,t[1]=i,t},s.add=function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t},s.subtract=function(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t},s.sub=s.subtract,s.multiply=function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t},s.mul=s.multiply,s.divide=function(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t},s.div=s.divide,s.scale=function(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t},s.distance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return Math.sqrt(i*i+s*s)},s.dist=s.distance,s.squaredDistance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return i*i+s*s},s.sqrDist=s.squaredDistance,s.length=function(t){var e=t[0],i=t[1];return Math.sqrt(e*e+i*i)},s.len=s.length,s.squaredLength=function(t){var e=t[0],i=t[1];return e*e+i*i},s.sqrLen=s.squaredLength,s.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},s.normalize=function(t,e){var i=e[0],s=e[1],n=i*i+s*s;return n>0&&(n=1/Math.sqrt(n),t[0]=e[0]*n,t[1]=e[1]*n),t},s.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},s.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},s.lerp=function(t,e,i,s){var n=e[0],r=e[1];return t[0]=n+s*(i[0]-n),t[1]=r+s*(i[1]-r),t},s.reflect=function(t,e,i){var s=e[0]*i[0]+e[1]*i[1];t[0]=e[0]-2*i[0]*s,t[1]=e[1]-2*i[1]*s},s.getLineSegmentsIntersection=function(t,e,i,n,r){var o=s.getLineSegmentsIntersectionFraction(e,i,n,r);return!(o<0)&&(t[0]=e[0]+o*(i[0]-e[0]),t[1]=e[1]+o*(i[1]-e[1]),!0)},s.getLineSegmentsIntersectionFraction=function(t,e,i,s){var n,r,o=e[0]-t[0],a=e[1]-t[1],h=s[0]-i[0],l=s[1]-i[1];return n=(-a*(t[0]-i[0])+o*(t[1]-i[1]))/(-h*a+o*l),r=(h*(t[1]-i[1])-l*(t[0]-i[0]))/(-h*a+o*l),n>=0&&n<=1&&r>=0&&r<=1?r:-1}},{"../utils/Utils":57}],31:[function(t,e,i){function s(t){t=t||{},c.call(this),this.id=t.id||++s._idCounter,this.world=null,this.shapes=[],this.mass=t.mass||0,this.invMass=0,this.inertia=0,this.invInertia=0,this.invMassSolve=0,this.invInertiaSolve=0,this.fixedRotation=!!t.fixedRotation,this.fixedX=!!t.fixedX,this.fixedY=!!t.fixedY,this.massMultiplier=n.create(),this.position=n.fromValues(0,0),t.position&&n.copy(this.position,t.position),this.interpolatedPosition=n.fromValues(0,0),this.interpolatedAngle=0,this.previousPosition=n.fromValues(0,0),this.previousAngle=0,this.velocity=n.fromValues(0,0),t.velocity&&n.copy(this.velocity,t.velocity),this.vlambda=n.fromValues(0,0),this.wlambda=0,this.angle=t.angle||0,this.angularVelocity=t.angularVelocity||0,this.force=n.create(),t.force&&n.copy(this.force,t.force),this.angularForce=t.angularForce||0,this.damping="number"==typeof t.damping?t.damping:.1,this.angularDamping="number"==typeof t.angularDamping?t.angularDamping:.1,this.type=s.STATIC,void 0!==t.type?this.type=t.type:t.mass?this.type=s.DYNAMIC:this.type=s.STATIC,this.boundingRadius=0,this.aabb=new l,this.aabbNeedsUpdate=!0,this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.wantsToSleep=!1,this.sleepState=s.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.2,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.gravityScale=void 0!==t.gravityScale?t.gravityScale:1,this.collisionResponse=void 0===t.collisionResponse||t.collisionResponse,this.idleTime=0,this.timeLastSleepy=0,this.ccdSpeedThreshold=void 0!==t.ccdSpeedThreshold?t.ccdSpeedThreshold:-1,this.ccdIterations=void 0!==t.ccdIterations?t.ccdIterations:10,this.concavePath=null,this._wakeUpAfterNarrowphase=!1,this.updateMassProperties()}var n=t("../math/vec2"),r=t("poly-decomp"),o=t("../shapes/Convex"),a=t("../collision/RaycastResult"),h=t("../collision/Ray"),l=t("../collision/AABB"),c=t("../events/EventEmitter");e.exports=s,s.prototype=new c,s.prototype.constructor=s,s._idCounter=0,s.prototype.updateSolveMassProperties=function(){this.sleepState===s.SLEEPING||this.type===s.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve=0):(this.invMassSolve=this.invMass,this.invInertiaSolve=this.invInertia)},s.prototype.setDensity=function(t){var e=this.getArea();this.mass=e*t,this.updateMassProperties()},s.prototype.getArea=function(){for(var t=0,e=0;ei&&(i=o+a)}this.boundingRadius=i},s.prototype.addShape=function(t,e,i){if(t.body)throw new Error("A shape can only be added to one body.");t.body=this,e?n.copy(t.position,e):n.set(t.position,0,0),t.angle=i||0,this.shapes.push(t),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0},s.prototype.removeShape=function(t){var e=this.shapes.indexOf(t);return-1!==e&&(this.shapes.splice(e,1),this.aabbNeedsUpdate=!0,t.body=null,!0)},s.prototype.updateMassProperties=function(){if(this.type===s.STATIC||this.type===s.KINEMATIC)this.mass=Number.MAX_VALUE,this.invMass=0,this.inertia=Number.MAX_VALUE,this.invInertia=0;else{var t=this.shapes,e=t.length,i=this.mass/e,r=0;if(this.fixedRotation)this.inertia=Number.MAX_VALUE,this.invInertia=0;else{for(var o=0;o0?1/r:0}this.invMass=1/this.mass,n.set(this.massMultiplier,this.fixedX?0:1,this.fixedY?0:1)}};n.create();s.prototype.applyForce=function(t,e){if(n.add(this.force,this.force,t),e){var i=n.crossLength(e,t);this.angularForce+=i}};var p=n.create(),f=n.create(),g=n.create();s.prototype.applyForceLocal=function(t,e){e=e||g;var i=p,s=f;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyForce(i,s)};var m=n.create();s.prototype.applyImpulse=function(t,e){if(this.type===s.DYNAMIC){var i=m;if(n.scale(i,t,this.invMass),n.multiply(i,this.massMultiplier,i),n.add(this.velocity,i,this.velocity),e){var r=n.crossLength(e,t);r*=this.invInertia,this.angularVelocity+=r}}};var y=n.create(),v=n.create(),x=n.create();s.prototype.applyImpulseLocal=function(t,e){e=e||x;var i=y,s=v;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyImpulse(i,s)},s.prototype.toLocalFrame=function(t,e){n.toLocalFrame(t,e,this.position,this.angle)},s.prototype.toWorldFrame=function(t,e){n.toGlobalFrame(t,e,this.position,this.angle)},s.prototype.vectorToLocalFrame=function(t,e){n.vectorToLocalFrame(t,e,this.angle)},s.prototype.vectorToWorldFrame=function(t,e){n.vectorToGlobalFrame(t,e,this.angle)},s.prototype.fromPolygon=function(t,e){e=e||{};for(h=this.shapes.length;h>=0;--h)this.removeShape(this.shapes[h]);var i=new r.Polygon;if(i.vertices=t,i.makeCCW(),"number"==typeof e.removeCollinearPoints&&i.removeCollinearPoints(e.removeCollinearPoints),void 0===e.skipSimpleCheck&&!i.isSimple())return!1;this.concavePath=i.vertices.slice(0);for(h=0;h=Math.pow(this.sleepSpeedLimit,2)?(this.idleTime=0,this.sleepState=s.AWAKE):(this.idleTime+=i,this.sleepState=s.SLEEPY),this.idleTime>this.sleepTimeLimit&&(e?this.wantsToSleep=!0:this.sleep())}},s.prototype.overlaps=function(t){return this.world.overlapKeeper.bodiesAreOverlapping(this,t)};var T=n.create(),P=n.create();s.prototype.integrate=function(t){var e=this.invMass,i=this.force,s=this.position,r=this.velocity;n.copy(this.previousPosition,this.position),this.previousAngle=this.angle,this.fixedRotation||(this.angularVelocity+=this.angularForce*this.invInertia*t),n.scale(T,i,t*e),n.multiply(T,this.massMultiplier,T),n.add(r,T,r),this.integrateToTimeOfImpact(t)||(n.scale(P,r,t),n.add(s,s,P),this.fixedRotation||(this.angle+=this.angularVelocity*t)),this.aabbNeedsUpdate=!0};var C=new a,S=new h({mode:h.ALL}),A=n.create(),E=n.create(),M=n.create(),R=n.create();s.prototype.integrateToTimeOfImpact=function(t){if(this.ccdSpeedThreshold<0||n.squaredLength(this.velocity)=l&&h=0&&(r.rotate(p,u,s),r.scale(p,p,2*y-1),e.reportIntersection(t,T,p,-1),t.shouldStop(e)))return}for(var x=Math.pow(this.radius,2)+Math.pow(m,2),y=0;y<2;y++){r.set(f,m*(2*y-1),0),r.toGlobalFrame(f,f,i,s);var b=Math.pow(o[0]-n[0],2)+Math.pow(o[1]-n[1],2),_=2*((o[0]-n[0])*(n[0]-f[0])+(o[1]-n[1])*(n[1]-f[1])),w=Math.pow(n[0]-f[0],2)+Math.pow(n[1]-f[1],2)-Math.pow(this.radius,2),T=Math.pow(_,2)-4*b*w;if(!(T<0))if(0===T){if(r.lerp(d,n,o,T),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,T,p,-1),t.shouldStop(e)))return}else{var P=Math.sqrt(T),C=1/(2*b),S=(-_-P)*C,A=(-_+P)*C;if(S>=0&&S<=1&&(r.lerp(d,n,o,S),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,S,p,-1),t.shouldStop(e))))return;if(A>=0&&A<=1&&(r.lerp(d,n,o,A),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,A,p,-1),t.shouldStop(e))))return}}}},{"../math/vec2":30,"./Shape":45}],39:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&(t={radius:arguments[0]},console.warn("The Circle constructor signature has changed. Please use the following format: new Circle({ radius: 1 })")),t=t||{},this.radius=t.radius||1,t.type=n.CIRCLE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){var e=this.radius;return t*e*e/2},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.radius},s.prototype.updateArea=function(){this.area=Math.PI*this.radius*this.radius},s.prototype.computeAABB=function(t,e,i){var s=this.radius;r.set(t.upperBound,s,s),r.set(t.lowerBound,-s,-s),e&&(r.add(t.lowerBound,t.lowerBound,e),r.add(t.upperBound,t.upperBound,e))};var o=r.create(),a=r.create();s.prototype.raycast=function(t,e,i,s){var n=e.from,h=e.to,l=this.radius,c=Math.pow(h[0]-n[0],2)+Math.pow(h[1]-n[1],2),u=2*((h[0]-n[0])*(n[0]-i[0])+(h[1]-n[1])*(n[1]-i[1])),d=Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2)-Math.pow(l,2),p=Math.pow(u,2)-4*c*d,f=o,g=a;if(!(p<0))if(0===p)r.lerp(f,n,h,p),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,p,g,-1);else{var m=Math.sqrt(p),y=1/(2*c),v=(-u-m)*y,x=(-u+m)*y;if(v>=0&&v<=1&&(r.lerp(f,n,h,v),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,v,g,-1),t.shouldStop(e)))return;x>=0&&x<=1&&(r.lerp(f,n,h,x),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,x,g,-1))}}},{"../math/vec2":30,"./Shape":45}],40:[function(t,e,i){function s(t){Array.isArray(arguments[0])&&(t={vertices:arguments[0],axes:arguments[1]},console.warn("The Convex constructor signature has changed. Please use the following format: new Convex({ vertices: [...], ... })")),t=t||{},this.vertices=[];for(var e=void 0!==t.vertices?t.vertices:[],i=0;in)&&(n=s),(null===o||sn){var l=o;o=n,n=l}r.set(e,o,n)},s.prototype.projectOntoWorldAxis=function(t,e,i,s){var n=h;this.projectOntoLocalAxis(t,s),0!==i?r.rotate(n,t,i):n=t;var o=r.dot(e,n);r.set(s,s[0]+o,s[1]+o)},s.prototype.updateTriangles=function(){this.triangles.length=0;for(var t=[],e=0;ee&&(e=s)}this.boundingRadius=Math.sqrt(e)},s.triangleArea=function(t,e,i){return.5*((e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1]))},s.prototype.updateArea=function(){this.updateTriangles(),this.area=0;for(var t=this.triangles,e=this.vertices,i=0;i!==t.length;i++){var n=t[i],r=e[n[0]],o=e[n[1]],a=e[n[2]],h=s.triangleArea(r,o,a);this.area+=h}},s.prototype.computeAABB=function(t,e,i){t.setFromPoints(this.vertices,e,i,0)};var f=r.create(),g=r.create(),m=r.create();s.prototype.raycast=function(t,e,i,s){var n=f,o=g,a=m,h=this.vertices;r.toLocalFrame(n,e.from,i,s),r.toLocalFrame(o,e.to,i,s);for(var l=h.length,c=0;c=0&&(r.sub(a,d,u),r.rotate(a,a,-Math.PI/2+s),r.normalize(a,a),e.reportIntersection(t,p,a,c))}}},{"../math/polyk":29,"../math/vec2":30,"./Shape":45,"poly-decomp":5}],41:[function(t,e,i){function s(t){if(Array.isArray(arguments[0])){if(t={heights:arguments[0]},"object"==typeof arguments[1])for(var e in arguments[1])t[e]=arguments[1][e];console.warn("The Heightfield constructor signature has changed. Please use the following format: new Heightfield({ heights: [...], ... })")}t=t||{},this.heights=t.heights?t.heights.slice(0):[],this.maxValue=t.maxValue||null,this.minValue=t.minValue||null,this.elementWidth=t.elementWidth||.1,void 0!==t.maxValue&&void 0!==t.minValue||this.updateMaxMinValues(),t.type=n.HEIGHTFIELD,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");t("../utils/Utils");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.updateMaxMinValues=function(){for(var t=this.heights,e=t[0],i=t[0],s=0;s!==t.length;s++){var n=t[s];n>e&&(e=n),nv){var x=y;y=v,v=x}for(var b=0;b=0&&(r.sub(d,f,p),r.rotate(d,d,s+Math.PI/2),r.normalize(d,d),e.reportIntersection(t,_,d,-1),t.shouldStop(e)))return}}},{"../math/vec2":30,"../utils/Utils":57,"./Shape":45}],42:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&(t={length:arguments[0]},console.warn("The Line constructor signature has changed. Please use the following format: new Line({ length: 1, ... })")),t=t||{},this.length=t.length||1,t.type=n.LINE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return t*Math.pow(this.length,2)/12},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.length/2};var o=[r.create(),r.create()];s.prototype.computeAABB=function(t,e,i){var s=this.length/2;r.set(o[0],-s,0),r.set(o[1],s,0),t.setFromPoints(o,e,i,0)};r.create();var a=r.create(),h=r.create(),l=r.create(),c=r.fromValues(0,1);s.prototype.raycast=function(t,e,i,s){var n=e.from,o=e.to,u=h,d=l,p=this.length/2;r.set(u,-p,0),r.set(d,p,0),r.toGlobalFrame(u,u,i,s),r.toGlobalFrame(d,d,i,s);var f=r.getLineSegmentsIntersectionFraction(u,d,n,o);if(f>=0){var g=a;r.rotate(g,c,s),e.reportIntersection(t,f,g,-1)}}},{"../math/vec2":30,"./Shape":45}],43:[function(t,e,i){function s(t){(t=t||{}).type=n.PARTICLE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return 0},s.prototype.updateBoundingRadius=function(){this.boundingRadius=0},s.prototype.computeAABB=function(t,e,i){r.copy(t.lowerBound,e),r.copy(t.upperBound,e)}},{"../math/vec2":30,"./Shape":45}],44:[function(t,e,i){function s(t){(t=t||{}).type=n.PLANE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");t("../utils/Utils");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return 0},s.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},s.prototype.computeAABB=function(t,e,i){var s=i%(2*Math.PI),n=r.set,o=t.lowerBound,a=t.upperBound;n(o,-1e7,-1e7),n(a,1e7,1e7),0===s?a[1]=0:s===Math.PI/2?o[0]=0:s===Math.PI?o[1]=0:s===3*Math.PI/2&&(a[0]=0)},s.prototype.updateArea=function(){this.area=Number.MAX_VALUE};var o=r.create(),a=(r.create(),r.create(),r.create()),h=r.create();s.prototype.raycast=function(t,e,i,s){var n=e.from,l=e.to,c=e.direction,u=o,d=a,p=h;r.set(d,0,1),r.rotate(d,d,s),r.sub(p,n,i);var f=r.dot(p,d);if(r.sub(p,l,i),!(f*r.dot(p,d)>0||r.squaredDistance(n,l)p*a&&(g=p*a-u),r[t]+=g,e.addToWlambda(g),g}},{"../equations/FrictionEquation":23,"../math/vec2":30,"../utils/Utils":57,"./Solver":47}],47:[function(t,e,i){function s(t,e){t=t||{},n.call(this),this.type=e,this.equations=[],this.equationSortFunction=t.equationSortFunction||!1}t("../utils/Utils");var n=t("../events/EventEmitter");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.solve=function(t,e){throw new Error("Solver.solve should be implemented by subclasses!")};var r={bodies:[]};s.prototype.solveIsland=function(t,e){this.removeAllEquations(),e.equations.length&&(this.addEquations(e.equations),r.bodies.length=0,e.getBodies(r.bodies),r.bodies.length&&this.solve(t,r))},s.prototype.sortEquations=function(){this.equationSortFunction&&this.equations.sort(this.equationSortFunction)},s.prototype.addEquation=function(t){t.enabled&&this.equations.push(t)},s.prototype.addEquations=function(t){for(var e=0,i=t.length;e!==i;e++){var s=t[e];s.enabled&&this.equations.push(s)}},s.prototype.removeEquation=function(t){var e=this.equations.indexOf(t);-1!==e&&this.equations.splice(e,1)},s.prototype.removeAllEquations=function(){this.equations.length=0},s.GS=1,s.ISLAND=2},{"../events/EventEmitter":26,"../utils/Utils":57}],48:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/ContactEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/ContactEquation":21,"./Pool":55}],49:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/FrictionEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/FrictionEquation":23,"./Pool":55}],50:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/IslandNode"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/IslandNode":60,"./Pool":55}],51:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/Island"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/Island":58,"./Pool":55}],52:[function(t,e,i){function s(){this.overlappingShapesLastState=new n,this.overlappingShapesCurrentState=new n,this.recordPool=new r({size:16}),this.tmpDict=new n,this.tmpArray1=[]}var n=t("./TupleDictionary"),r=(t("./OverlapKeeperRecord"),t("./OverlapKeeperRecordPool"));t("./Utils");e.exports=s,s.prototype.tick=function(){for(var t=this.overlappingShapesLastState,e=this.overlappingShapesCurrentState,i=t.keys.length;i--;){var s=t.keys[i],n=t.getByKey(s);e.getByKey(s);n&&this.recordPool.release(n)}t.reset(),t.copy(e),e.reset()},s.prototype.setOverlapping=function(t,e,i,s){this.overlappingShapesLastState;var n=this.overlappingShapesCurrentState;if(!n.get(e.id,s.id)){var r=this.recordPool.get();r.set(t,e,i,s),n.set(e.id,s.id,r)}},s.prototype.getNewOverlaps=function(t){return this.getDiff(this.overlappingShapesLastState,this.overlappingShapesCurrentState,t)},s.prototype.getEndOverlaps=function(t){return this.getDiff(this.overlappingShapesCurrentState,this.overlappingShapesLastState,t)},s.prototype.bodiesAreOverlapping=function(t,e){for(var i=this.overlappingShapesCurrentState,s=i.keys.length;s--;){var n=i.keys[s],r=i.data[n];if(r.bodyA===t&&r.bodyB===e||r.bodyA===e&&r.bodyB===t)return!0}return!1},s.prototype.getDiff=function(t,e,i){var s=t,n=e;(i=i||[]).length=0;for(var r=n.keys.length;r--;){var o=n.keys[r],a=n.data[o];if(!a)throw new Error("Key "+o+" had no data!");s.data[o]||i.push(a)}return i},s.prototype.isNewOverlap=function(t,e){var i=0|t.id,s=0|e.id,n=this.overlappingShapesLastState,r=this.overlappingShapesCurrentState;return!n.get(i,s)&&!!r.get(i,s)},s.prototype.getNewBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getNewOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getEndBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getEndOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getBodyDiff=function(t,e){e=e||[];for(var i=this.tmpDict,s=t.length;s--;){var n=t[s];i.set(0|n.bodyA.id,0|n.bodyB.id,n)}for(s=i.keys.length;s--;)(n=i.getByKey(i.keys[s]))&&e.push(n.bodyA,n.bodyB);return i.reset(),e}},{"./OverlapKeeperRecord":53,"./OverlapKeeperRecordPool":54,"./TupleDictionary":56,"./Utils":57}],53:[function(t,e,i){function s(t,e,i,s){this.shapeA=e,this.shapeB=s,this.bodyA=t,this.bodyB=i}e.exports=s,s.prototype.set=function(t,e,i,n){s.call(this,t,e,i,n)}},{}],54:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("./OverlapKeeperRecord"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=t.shapeA=t.shapeB=null,this}},{"./OverlapKeeperRecord":53,"./Pool":55}],55:[function(t,e,i){function s(t){t=t||{},this.objects=[],void 0!==t.size&&this.resize(t.size)}e.exports=s,s.prototype.resize=function(t){for(var e=this.objects;e.length>t;)e.pop();for(;e.length(0|e)?t<<16|65535&e:e<<16|65535&t)},s.prototype.getByKey=function(t){return t|=0,this.data[t]},s.prototype.get=function(t,e){return this.data[this.getKey(t,e)]},s.prototype.set=function(t,e,i){if(!i)throw new Error("No data!");var s=this.getKey(t,e);return this.data[s]||this.keys.push(s),this.data[s]=i,s},s.prototype.reset=function(){for(var t=this.data,e=this.keys,i=e.length;i--;)delete t[e[i]];e.length=0},s.prototype.copy=function(t){this.reset(),n.appendArray(this.keys,t.keys);for(var e=t.keys.length;e--;){var i=t.keys[e];this.data[i]=t.data[i]}}},{"./Utils":57}],57:[function(t,e,i){function s(){}e.exports=s,s.appendArray=function(t,e){if(e.length<15e4)t.push.apply(t,e);else for(var i=0,s=e.length;i!==s;++i)t.push(e[i])},s.splice=function(t,e,i){i=i||1;for(var s=e,n=t.length-i;s=t&&s=0;T-=2)for(S=b.length-2;S>=0;S-=2)(w[T]===b[S]&&w[T+1]===b[S+1]||w[T+1]===b[S]&&w[T]===b[S+1])&&b.splice(S,2);q=u.length;for(T=0;T!==q;T++){var C=u[T];if(!C.collideConnected)for(var S=b.length-2;S>=0;S-=2)(C.bodyA===b[S]&&C.bodyB===b[S+1]||C.bodyB===b[S]&&C.bodyA===b[S+1])&&b.splice(S,2)}this.postBroadphaseEvent.pairs=b,this.emit(this.postBroadphaseEvent),this.postBroadphaseEvent.pairs=null,c.reset(this);for(var T=0,A=b.length;T!==A;T+=2)for(var E=b[T],M=b[T+1],R=0,L=E.shapes.length;R!==L;R++)for(var B=E.shapes[R],I=B.position,O=B.angle,k=0,F=M.shapes.length;k!==F;k++){var D=M.shapes[k],U=D.position,G=D.angle,N=this.defaultContactMaterial;if(B.material&&D.material){var X=this.getContactMaterial(B.material,D.material);X&&(N=X)}this.runNarrowphase(c,E,B,I,O,M,D,U,G,N,this.frictionGravity)}for(T=0;T!==h;T++)(H=n[T])._wakeUpAfterNarrowphase&&(H.wakeUp(),H._wakeUpAfterNarrowphase=!1);if(this.has("endContact")){this.overlapKeeper.getEndOverlaps(P);for(var W=this.endContactEvent,k=P.length;k--;){var j=P[k];W.shapeA=j.shapeA,W.shapeB=j.shapeB,W.bodyA=j.bodyA,W.bodyB=j.bodyB,this.emit(W)}P.length=0}var V=this.preSolveEvent;V.contactEquations=c.contactEquations,V.frictionEquations=c.frictionEquations,this.emit(V),V.contactEquations=V.frictionEquations=null;var q=u.length;for(T=0;T!==q;T++)u[T].update();if(c.contactEquations.length||c.frictionEquations.length||q)if(this.islandSplit){for(g.equations.length=0,v.appendArray(g.equations,c.contactEquations),v.appendArray(g.equations,c.frictionEquations),T=0;T!==q;T++)v.appendArray(g.equations,u[T].equations);g.split(this);for(T=0;T!==g.islands.length;T++)(K=g.islands[T]).equations.length&&a.solveIsland(t,K)}else{for(a.addEquations(c.contactEquations),a.addEquations(c.frictionEquations),T=0;T!==q;T++)a.addEquations(u[T].equations);this.solveConstraints&&a.solve(t,this),a.removeAllEquations()}for(T=0;T!==h;T++){var H=n[T];H.integrate(t)}for(T=0;T!==h;T++)n[T].setZeroForce();if(this.emitImpactEvent&&this.has("impact"))for(var Y=this.impactEvent,T=0;T!==c.contactEquations.length;T++){var z=c.contactEquations[T];z.firstImpact&&(Y.bodyA=z.bodyA,Y.bodyB=z.bodyB,Y.shapeA=z.shapeA,Y.shapeB=z.shapeB,Y.contactEquation=z,this.emit(Y))}if(this.sleepMode===s.BODY_SLEEPING)for(T=0;T!==h;T++)n[T].sleepTick(this.time,!1,t);else if(this.sleepMode===s.ISLAND_SLEEPING&&this.islandSplit){for(T=0;T!==h;T++)n[T].sleepTick(this.time,!0,t);for(T=0;T0,t.frictionCoefficient=c.friction;var g;g=e.type===d.STATIC||e.type===d.KINEMATIC?o.mass:o.type===d.STATIC||o.type===d.KINEMATIC?e.mass:e.mass*o.mass/(e.mass+o.mass),t.slipForce=c.friction*u*g,t.restitution=c.restitution,t.surfaceVelocity=c.surfaceVelocity,t.frictionStiffness=c.frictionStiffness,t.frictionRelaxation=c.frictionRelaxation,t.stiffness=c.stiffness,t.relaxation=c.relaxation,t.contactSkinSize=c.contactSkinSize,t.enabledEquations=e.collisionResponse&&o.collisionResponse&&i.collisionResponse&&a.collisionResponse;var m=t[i.type|a.type],y=0;if(m){var v=i.sensor||a.sensor,x=t.frictionEquations.length;y=i.type=2*Math.pow(o.sleepSpeedLimit,2)&&(e._wakeUpAfterNarrowphase=!0),o.allowSleep&&o.type===d.DYNAMIC&&o.sleepState===d.SLEEPING&&e.sleepState===d.AWAKE&&e.type!==d.STATIC&&r.squaredLength(e.velocity)+Math.pow(e.angularVelocity,2)>=2*Math.pow(e.sleepSpeedLimit,2)&&(o._wakeUpAfterNarrowphase=!0),this.overlapKeeper.setOverlapping(e,i,o,a),this.has("beginContact")&&this.overlapKeeper.isNewOverlap(i,a)){var _=this.beginContactEvent;if(_.shapeA=i,_.shapeB=a,_.bodyA=e,_.bodyB=o,_.contactEquations.length=0,"number"==typeof y)for(P=t.contactEquations.length-y;P1)for(var P=t.frictionEquations.length-b;P=0;e--)this.removeConstraint(t[e]);for(var i=this.bodies,e=i.length-1;e>=0;e--)this.removeBody(i[e]);for(var n=this.springs,e=n.length-1;e>=0;e--)this.removeSpring(n[e]);for(var r=this.contactMaterials,e=r.length-1;e>=0;e--)this.removeContactMaterial(r[e]);s.apply(this)};var C=r.create(),S=(r.fromValues(0,0),r.fromValues(0,0));s.prototype.hitTest=function(t,e,i){i=i||0;var s=new d({position:t}),n=new c,u=t,p=C,f=S;s.addShape(n);for(var g=this.narrowphase,m=[],y=0,v=e.length;y!==v;y++)for(var x=e[y],b=0,_=x.shapes.length;b!==_;b++){var w=x.shapes[b];r.rotate(p,w.position,x.angle),r.add(p,p,x.position);var T=w.angle+x.angle;(w instanceof o&&g.circleParticle(x,w,p,T,s,n,u,0,!0)||w instanceof a&&g.particleConvex(s,n,u,0,x,w,p,T,!0)||w instanceof h&&g.particlePlane(s,n,u,0,x,w,p,T,!0)||w instanceof l&&g.particleCapsule(s,n,u,0,x,w,p,T,!0)||w instanceof c&&r.squaredLength(r.sub(f,p,t))0?Math.acos(i/u):-Math.acos(i/u),this.worldScale.x=u,this.worldScale.y=c/u}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=c/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?u:a,d=d>h?d:h);var f=this._bounds;if(!p){var g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,b=x.a,_=x.b,w=x.c,T=x.d,P=x.tx,C=x.ty,S=b*m+w*v+P,A=T*v+_*m+C,E=b*g+w*v+P,M=T*v+_*g+C,R=b*g+w*y+P,L=T*y+_*g+C,B=b*m+w*y+P,I=T*y+_*m+C;u=S,d=A,c=A,l=B<(l=R<(l=E<(l=S)?E:l)?R:l)?B:l,c=I<(c=L<(c=M(u=R>(u=E>u?E:u)?R:u)?B:u,d=I>(d=L>(d=M>d?M:d)?L:d)?I:d}if(f.x=l,f.y=c,f.width=u-l,f.height=d-c,e)for(t.worldTransform=r,n=0;n(f=T>(f=_>(f=x>f?x:f)?_:f)?T:f)?C:f,g=S>(g=P>(g=w>(g=b>g?b:g)?w:g)?P:g)?S:g}var A=this._bounds;return A.x=m,A.width=f-m,A.y=y,A.height=g-y,this._currentBounds=A,A},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,l,c,u,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(l=f.x-d*f.width)+i.crop.width,c=(u=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),l=i.frame.width*-d,c=i.frame.height*(1-p),u=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,b=o.c/m,_=o.d/m,w=o.tx,T=o.ty,P=(i.crop.width,i.crop.height);if(i.rotated){var C=o.a,S=o.b,A=o.c,E=o.d,M=l,R=h;w=o.c*P+w,T=o.d*P+T,v=6.123233995736766e-17*C-A,x=6.123233995736766e-17*S-E,b=C+6.123233995736766e-17*A,_=S+6.123233995736766e-17*E,i._updateUvsInverted(),h=c,l=u,c=R,u=M}var L=this.colors,B=this.positions,I=t.tint,O=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(B[g++]=v*l+b*u+w|0,B[g++]=_*u+x*l+T|0,B[g++]=a.x0,B[g++]=a.y0,L[g++]=O,B[g++]=y,B[g++]=v*h+b*u+w|0,B[g++]=_*u+x*h+T|0,B[g++]=a.x1,B[g++]=a.y1,L[g++]=O,B[g++]=y,B[g++]=v*h+b*c+w|0,B[g++]=_*c+x*h+T|0,B[g++]=a.x2,B[g++]=a.y2,L[g++]=O,B[g++]=y,B[g++]=v*l+b*c+w|0,B[g++]=_*c+x*l+T|0,B[g++]=a.x3,B[g++]=a.y3,L[g++]=O,B[g++]=y):(B[g++]=v*l+b*u+w,B[g++]=_*u+x*l+T,B[g++]=a.x0,B[g++]=a.y0,L[g++]=O,B[g++]=y,B[g++]=v*h+b*u+w,B[g++]=_*u+x*h+T,B[g++]=a.x1,B[g++]=a.y1,L[g++]=O,B[g++]=y,B[g++]=v*h+b*c+w,B[g++]=_*c+x*h+T,B[g++]=a.x2,B[g++]=a.y2,L[g++]=O,B[g++]=y,B[g++]=v*l+b*c+w,B[g++]=_*c+x*l+T,B[g++]=a.x3,B[g++]=a.y3,L[g++]=O,B[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var l=t.tilePosition.x/(a*t.tileScaleOffset.x),c=t.tilePosition.y/(h*t.tileScaleOffset.y),u=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-l,o.y0=0-c,o.x1=1*u-l,o.y1=0-c,o.x2=1*u-l,o.y2=1*d-c,o.x3=0-l,o.y3=1*d-c;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,b=t.anchor.y,_=y*(1-x),w=y*-x,T=v*(1-b),P=v*-b,C=this.currentBatchSize*this.vertexSize,S=e.baseTexture.resolution,A=t.worldTransform,E=A.a/S,M=A.b/S,R=A.c/S,L=A.d/S,B=A.tx,I=A.ty;g[C++]=E*w+R*P+B,g[C++]=L*P+M*w+I,g[C++]=o.x0,g[C++]=o.y0,m[C++]=f,g[C++]=r,g[C++]=E*_+R*P+B,g[C++]=L*P+M*_+I,g[C++]=o.x1,g[C++]=o.y1,m[C++]=f,g[C++]=r,g[C++]=E*_+R*T+B,g[C++]=L*T+M*_+I,g[C++]=o.x2,g[C++]=o.y2,m[C++]=f,g[C++]=r,g[C++]=E*w+R*T+B,g[C++]=L*T+M*w+I,g[C++]=o.x3,g[C++]=o.y3,m[C++]=f,g[C++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,l=0,c=0,u=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(f||g)&&(this.renderBatch(u,l,c),c=m,l=0,u=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}l++}this.renderBatch(u,l,c),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.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},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.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},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}.call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.9.1",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,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,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,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||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,l=t.radius,c=a+o*n,u=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),p=o*u+a,f=o*d+a,g=new i.Point(u,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(c-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((c=s+(r-s)*(o-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(r-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(r-s))>=o&&c<=h)return!0}else if(s>l&&r<=l&&(c=i+(n-i)*(l-s)/(r-s))>=o&&c<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,c=e.bottom,u=1/0;r[0].setTo(a,h,l,h),r[1].setTo(a,c,l,c),r[2].setTo(a,h,a,c),r[3].setTo(l,h,l,c);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},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(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.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+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.equalsXY=function(t,e,i){return t.x===e&&t.y===i},i.Point.fuzzyEquals=function(t,e,s){return i.Math.fuzzyEquals(t.x,e.x,s)&&i.Math.fuzzyEquals(t.y,e.y,s)},i.Point.fuzzyEqualsXY=function(t,e,s,n){return i.Math.fuzzyEquals(t.x,e,n)&&i.Math.fuzzyEquals(t.y,s,n)},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,c=a*t.x+h*t.y;t.x=l+e,t.y=c+s}else{var u=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(u),t.y=s+o*Math.sin(u)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),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.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.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.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.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(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.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},i.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(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(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[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),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&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(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: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&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(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.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._clearWorld=!0,this._clearCache=!0,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=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!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 e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},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(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>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}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.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===e,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.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.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(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),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(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(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(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),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));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),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))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.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)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,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 i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(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},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),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}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.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,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),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=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,r,o,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,l){return new i.Button(this.game,t,e,s,n,r,o,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,l,c){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.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 i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==r&&this.onInputUp.add(r,o),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)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,l,c,u,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.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},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var g=s;gc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(o,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,l=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,u=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(l,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,l,c=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,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(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=R=Math.sqrt(_*_+w*w),w/=R,_*=F,w*=F,L.push(p-_,f-w),L.push(G,N,X,U),L.push(p+_,f+w),L.push(G,N,X,U),L.push(p-_,f-w),L.push(G,N,X,U),O++):(L.push(l,c),L.push(G,N,X,U),L.push(p-(l-p),f-(c-f)),L.push(G,N,X,U));for(u=n[2*(I-2)],d=n[2*(I-2)+1],p=n[2*(I-1)],y=-(d-(f=n[2*(I-1)+1])),v=u-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(p-y,f-v),L.push(G,N,X,U),L.push(p+y,f+v),L.push(G,N,X,U),B.push(k),s=0;sh?r:h,l=oc?o:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,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 i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?m:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{o=r.points;for(var g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.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=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*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 m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}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(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===u){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);c[u]=m,h+=g}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,r,a).data,u=c.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&r>-1)return{width:o||n,text:i.substr(0,c-(c-r)),end:u,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=[],this.points=o,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,this.points=o,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,A=Math.sqrt(C*C+S*S);l=T+C/A*(A+_),d=P+S/A*(A+w),S=p-P,c=T+(C=c-T)/(A=Math.sqrt(C*C+S*S))*(A+_),p=P+S/A*(A+w),S=f-P,u=T+(C=u-T)/(A=Math.sqrt(C*C+S*S))*(A+_),f=P+S/A*(A+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var E=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*u+c*b-x*u-v*c-l*b,R=g*c+l*y+m*u-c*y-l*m-g*u,L=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,B=d*x+v*f+p*b-x*f-v*p-d*b,I=g*p+d*y+m*f-p*y-d*m-g*f,O=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/E,B/E,R/E,I/E,L/E,O/E),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?m:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,l=[],c=0;c(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,w=b>(w=v>(w=m>(w=f>w?f:w)?m:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>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(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t){return this._tweens.some(function(e){return e.target===t})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,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 t=0;t0?(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(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.yoyoCounter=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*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 s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];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,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,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 i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=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 t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.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},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.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(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},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(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,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 i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),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=this.isReversed?this._frames.length-1: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)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=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._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),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)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,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()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===c||0===u||cc&&(f=o,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(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,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&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 n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()}},xhrLoadWithXDR:function(t,e,i,s,n){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 r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e: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(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?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()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(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.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;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&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(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&&""===t?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)&&!1===this.game.cache.getSound(this.key).isDecoding&&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.game.sound.mute?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(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,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 e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,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(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&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 t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?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())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(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(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)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(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){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.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.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 t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},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))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},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(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return i.Color.getColor32(r,l,c,u)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-e)*h/a+e,u=(o-s)*h/a+s;return i.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},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}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.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=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.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()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,r){return void 0===r&&(r=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>r?i=r:i<-r&&(i=-r),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,r){if(!Array.isArray(t)&&Array.isArray(e))for(o=0;oa.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,r,o)}}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(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,r)}}}}},collideGroupVsGroup:function(t,e,s,n,r,o){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,r=e.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(o)+t.velocity.y*Math.sin(o),y:t.velocity.x*Math.sin(o)-t.velocity.y*Math.cos(o)},u={x:e.velocity.x*Math.cos(o)+e.velocity.y*Math.sin(o),y:e.velocity.x*Math.sin(o)-e.velocity.y*Math.cos(o)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(o)-c.y*Math.sin(o))*t.bounce.x,t.velocity.y=(c.y*Math.cos(o)+d*Math.sin(o))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*e.bounce.x,e.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*e.bounce.y),Math.abs(o)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(o),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(o)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,r=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-r*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=r-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.x=h+o*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,r=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-r*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=r-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.y=h+o*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,r,o){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(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleBetween(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToXY:function(t,e,i,s,n,r){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===r&&(r=1e3);var o=this.angleToXY(t,e,i);return t.body.acceleration.setTo(o,s),t.body.maxVelocity.setTo(n,r),o},distanceBetween:function(t,e,i){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,r=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+r*r)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i){for(var s=1/0,n=null,r=0,o=e.length;rs&&(n=a,s=h)}return n},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.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=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,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={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){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.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),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.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.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.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,r,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,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(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,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(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},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},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,r,o,a,h){void 0===n&&(n=this._boundsLeft),void 0===r&&(r=this._boundsRight),void 0===o&&(o=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(r,"right",t+i,e,-1.5707963267948966,h),this.setupWall(o,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=r,this._boundsTop=o,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,r){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),r&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},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 i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.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 t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);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=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,r,o,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,r,o,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var r=[this.pxmi(t.x),this.pxmi(t.y)],o=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?o.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?o.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&o.push(e[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(r=u.x*u.width,o=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(r,o,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,r){e=e||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.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,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(r=0;r-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var r=this.data.shapes.length-1;r>=0;r--)this.data.shapes[r].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(r=0;r=0;r--)this.data.shapes[r].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},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(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},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.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,r,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1),t.beginFill(a),t.drawRect(e-n/2,i-r/2,n,r)},drawCircle:function(t,e,i,s,n,r,o){void 0===o&&(o=1),void 0===r&&(r=16777215),t.lineStyle(o,0,1),t.beginFill(r,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,r,o,a){var h,l,c,u,d,p,f,g,m,y,v;if(void 0===r&&(r=1),void 0===s&&(s=0),o){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],g=d[0],v=d[1],t.lineStyle(r,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(g,-v),t.drawCircle(f,-y,2*r),l++;return t.lineStyle(r,0,1),t.drawCircle(a[0],a[1],2*r)}for(t.lineStyle(r,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],m=c[1],0===l?t.moveTo(p,-m):t.lineTo(p,-m),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var r,o,a,h,l,c,u,d,p,f,g;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),o=null,a=null,r=0;r2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,r,o,a,h,l){var c,u;void 0===r&&(r=1),void 0===s&&(s=16777215),t.lineStyle(r,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-r),t.drawCircle(n/2*l+e,n/2*c+i,2*-r),t.endFill(),t.lineStyle(h,o,0),t.beginFill(a,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i),t.lineTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.endFill(),t.lineStyle(h,o,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.moveTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,r,o,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===r&&(r=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:r};void 0!==o&&null!==o&&(c.worldAnchorA=[t.pxm(o[0]),t.pxm(o[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,r){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===r&&(r=1),s&&(s=t.pxm(s));var o={restAngle:s,stiffness:n,damping:r};this.data=new p2.RotationalSpring(e,i,o),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,r,o){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],maxForce:o};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var r={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,r)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,r){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var o={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:r};p2.LockConstraint.call(this,e,i,o)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,r,o,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],localAxisA:o,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,r,o){void 0===r&&(r=Number.MAX_VALUE),void 0===o&&(o=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],o&&(o=[t.pxmi(o[0]),t.pxmi(o[1])]);var a={worldPivot:o,localPivotA:i,localPivotB:n,maxForce:r};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},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(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,r,o){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,r,o,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=r,p=r,f=0,g=0,m=0,y=a;y1)for(u=0;uthis.layers.length)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[r].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[r].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[r].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new i.TilemapLayer(this.game,this,r,e,s));return this.enableDebug&&console.groupEnd(),o}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,r){n|=0,r|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,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:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;m++,v--,f+=c){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var w=_[g];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(o.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(o.save(),o.translate(p+w.centerX,f+w.centerY),o.rotate(w.rotation),w.flipped&&o.scale(-1,1),P.draw(o,-w.centerX,-w.centerY,T),o.restore()):P.draw(o,p,f,T):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=r+e,u=r-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/o),g=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,c,g,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=m-g,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var r=this.getEmptyData(),o=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}k={name:r.name,x:r.x,y:r.y,width:r.width,height:r.height,widthInPixels:r.width*t.tilewidth,heightInPixels:r.height*t.tileheight,alpha:r.opacity,offsetX:r.offsetx,offsetY:r.offsety,visible:r.visible,properties:{},indexes:[],callbacks:[],bodies:[]};r.properties&&(k.properties=r.properties);for(var c,u,d,p=0,f=[],g=[],m=0,a=r.data.length;m536870912)switch(A>2147483648&&(A-=2147483648,d+=4),A>1073741824&&(A-=1073741824,d+=2),A>536870912&&(A-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}A>0?((F=new i.Tile(k,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,F.flipped=u,0!==d&&(F.flippedVal=d),f.push(F)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(k,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}k.data=g,s.push(k)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=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._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===r&&(r=null);var o,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var r=0;r1&&(o=r.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=r.between(this.top,this.bottom)),this.resetParticle(n,o,a),!0},i.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,r){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var o={v:t},a=this.game.make.tween(o).to({v:e},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,r,o,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,r>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,r){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*o:(c=Math.cos(this.game.math.degToRad(l))*o,u=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var g=this.fireRate;(g+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.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._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=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!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=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),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,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,t,e)),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.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?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.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 t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&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,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},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(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); //# sourceMappingURL=phaser.map \ No newline at end of file diff --git a/docs/CreatureShader.html b/docs/CreatureShader.html index 289218e7f..bda5bb75c 100644 --- a/docs/CreatureShader.html +++ b/docs/CreatureShader.html @@ -6,7 +6,7 @@ Phaser CE Class: CreatureShader - + @@ -224,7 +224,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 16 + src/gameobjects/Creature.js line 16 @@ -329,7 +329,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 43 + src/gameobjects/Creature.js line 43 @@ -402,7 +402,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 29 + src/gameobjects/Creature.js line 29 @@ -479,7 +479,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 36 + src/gameobjects/Creature.js line 36 @@ -556,7 +556,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 62 + src/gameobjects/Creature.js line 62 @@ -589,9 +589,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -608,7 +608,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -637,7 +637,7 @@
Type:
- + diff --git a/docs/EarCut.html b/docs/EarCut.html index 7c257233c..98fb71b52 100644 --- a/docs/EarCut.html +++ b/docs/EarCut.html @@ -6,7 +6,7 @@ Phaser CE Class: EarCut - + @@ -174,7 +174,7 @@

Source:
- src/utils/EarCut.js line 22 + src/utils/EarCut.js line 22 @@ -231,9 +231,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -250,7 +250,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -279,7 +279,7 @@

- + diff --git a/docs/Event.html b/docs/Event.html index fcb020737..a3f8d4de5 100644 --- a/docs/Event.html +++ b/docs/Event.html @@ -6,7 +6,7 @@ Phaser CE Class: Event - + @@ -276,7 +276,7 @@

Parameters:
Source:
- src/plugins/path/EventTarget.js line 202 + src/plugins/path/EventTarget.js line 202 @@ -392,7 +392,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 253 + src/plugins/path/EventTarget.js line 253 @@ -469,7 +469,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 235 + src/plugins/path/EventTarget.js line 235 @@ -546,7 +546,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 265 + src/plugins/path/EventTarget.js line 265 @@ -623,7 +623,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 244 + src/plugins/path/EventTarget.js line 244 @@ -656,9 +656,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -675,7 +675,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -704,7 +704,7 @@
Type:
- + diff --git a/docs/EventTarget.html b/docs/EventTarget.html index b2ef44fb9..b64010ed4 100644 --- a/docs/EventTarget.html +++ b/docs/EventTarget.html @@ -6,7 +6,7 @@ Phaser CE Class: EventTarget - + @@ -178,7 +178,7 @@

Source:
- src/plugins/path/EventTarget.js line 23 + src/plugins/path/EventTarget.js line 23 @@ -291,7 +291,7 @@

Source:
- src/plugins/path/EventTarget.js line 27 + src/plugins/path/EventTarget.js line 27 @@ -334,9 +334,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -353,7 +353,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -382,7 +382,7 @@

- + diff --git a/docs/PIXI.BaseTexture.html b/docs/PIXI.BaseTexture.html index 1b90c6bef..5c06547f6 100644 --- a/docs/PIXI.BaseTexture.html +++ b/docs/PIXI.BaseTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: BaseTexture - + @@ -309,7 +309,7 @@

Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 14 + src/pixi/textures/BaseTexture.js line 14 @@ -414,7 +414,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 58 + src/pixi/textures/BaseTexture.js line 58 @@ -491,7 +491,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 40 + src/pixi/textures/BaseTexture.js line 40 @@ -569,7 +569,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 93 + src/pixi/textures/BaseTexture.js line 93 @@ -653,7 +653,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 75 + src/pixi/textures/BaseTexture.js line 75 @@ -730,7 +730,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 22 + src/pixi/textures/BaseTexture.js line 22 @@ -814,7 +814,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 49 + src/pixi/textures/BaseTexture.js line 49 @@ -893,7 +893,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 131 + src/pixi/textures/BaseTexture.js line 131 @@ -970,7 +970,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 66 + src/pixi/textures/BaseTexture.js line 66 @@ -1047,7 +1047,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 100 + src/pixi/textures/BaseTexture.js line 100 @@ -1124,7 +1124,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 31 + src/pixi/textures/BaseTexture.js line 31 @@ -1202,7 +1202,7 @@

Source:
- src/pixi/textures/BaseTexture.js line 161 + src/pixi/textures/BaseTexture.js line 161 @@ -1286,7 +1286,7 @@

Source:
- src/pixi/textures/BaseTexture.js line 190 + src/pixi/textures/BaseTexture.js line 190 @@ -1446,7 +1446,7 @@
Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 144 + src/pixi/textures/BaseTexture.js line 144 @@ -1656,7 +1656,7 @@
Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 231 + src/pixi/textures/BaseTexture.js line 231 @@ -1761,7 +1761,7 @@

Source:
- src/pixi/textures/BaseTexture.js line 203 + src/pixi/textures/BaseTexture.js line 203 @@ -1904,7 +1904,7 @@
Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 178 + src/pixi/textures/BaseTexture.js line 178 @@ -1947,9 +1947,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1966,7 +1966,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1995,7 +1995,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasBuffer.html b/docs/PIXI.CanvasBuffer.html index 940cd9eb2..11de2bc12 100644 --- a/docs/PIXI.CanvasBuffer.html +++ b/docs/PIXI.CanvasBuffer.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasBuffer - + @@ -254,7 +254,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 13 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 13 @@ -359,7 +359,7 @@
Type:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 37 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 37 @@ -436,7 +436,7 @@
Type:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 45 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 45 @@ -513,7 +513,7 @@
Type:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 29 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 29 @@ -590,7 +590,7 @@
Type:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 21 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 21 @@ -668,7 +668,7 @@

Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 78 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 78 @@ -826,7 +826,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 65 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 65 @@ -869,9 +869,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -888,7 +888,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -917,7 +917,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasGraphics.html b/docs/PIXI.CanvasGraphics.html index 7baffaa34..f809b098a 100644 --- a/docs/PIXI.CanvasGraphics.html +++ b/docs/PIXI.CanvasGraphics.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasGraphics - + @@ -180,7 +180,7 @@

Source:
- src/pixi/renderers/canvas/CanvasGraphics.js line 12 + src/pixi/renderers/canvas/CanvasGraphics.js line 12 @@ -356,7 +356,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasGraphics.js line 16 + src/pixi/renderers/canvas/CanvasGraphics.js line 16 @@ -399,9 +399,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -418,7 +418,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -447,7 +447,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasMaskManager.html b/docs/PIXI.CanvasMaskManager.html index 8f84a6b72..40361df14 100644 --- a/docs/PIXI.CanvasMaskManager.html +++ b/docs/PIXI.CanvasMaskManager.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasMaskManager - + @@ -180,7 +180,7 @@

Source:
- src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 11 + src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 11 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 49 + src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 49 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 17 + src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 17 @@ -533,9 +533,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -552,7 +552,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -581,7 +581,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasRenderer.html b/docs/PIXI.CanvasRenderer.html index 35a6fa1cd..8c9369e1b 100644 --- a/docs/PIXI.CanvasRenderer.html +++ b/docs/PIXI.CanvasRenderer.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasRenderer - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 13 + src/pixi/renderers/canvas/CanvasRenderer.js line 13 @@ -336,7 +336,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 67 + src/pixi/renderers/canvas/CanvasRenderer.js line 67 @@ -416,7 +416,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 51 + src/pixi/renderers/canvas/CanvasRenderer.js line 51 @@ -493,7 +493,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 100 + src/pixi/renderers/canvas/CanvasRenderer.js line 100 @@ -570,7 +570,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 116 + src/pixi/renderers/canvas/CanvasRenderer.js line 116 @@ -647,7 +647,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 18 + src/pixi/renderers/canvas/CanvasRenderer.js line 18 @@ -731,7 +731,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 85 + src/pixi/renderers/canvas/CanvasRenderer.js line 85 @@ -855,7 +855,7 @@
Properties:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 123 + src/pixi/renderers/canvas/CanvasRenderer.js line 123 @@ -932,7 +932,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 108 + src/pixi/renderers/canvas/CanvasRenderer.js line 108 @@ -1009,7 +1009,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 130 + src/pixi/renderers/canvas/CanvasRenderer.js line 130 @@ -1086,7 +1086,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 39 + src/pixi/renderers/canvas/CanvasRenderer.js line 39 @@ -1163,7 +1163,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 59 + src/pixi/renderers/canvas/CanvasRenderer.js line 59 @@ -1240,7 +1240,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 31 + src/pixi/renderers/canvas/CanvasRenderer.js line 31 @@ -1317,7 +1317,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 93 + src/pixi/renderers/canvas/CanvasRenderer.js line 93 @@ -1401,7 +1401,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 76 + src/pixi/renderers/canvas/CanvasRenderer.js line 76 @@ -1549,7 +1549,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 201 + src/pixi/renderers/canvas/CanvasRenderer.js line 201 @@ -1686,7 +1686,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 152 + src/pixi/renderers/canvas/CanvasRenderer.js line 152 @@ -1844,7 +1844,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 223 + src/pixi/renderers/canvas/CanvasRenderer.js line 223 @@ -1887,9 +1887,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1906,7 +1906,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1935,7 +1935,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasTinter.html b/docs/PIXI.CanvasTinter.html index 62da3870c..8bc5ff558 100644 --- a/docs/PIXI.CanvasTinter.html +++ b/docs/PIXI.CanvasTinter.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasTinter - + @@ -180,7 +180,7 @@

Source:
- src/pixi/renderers/canvas/utils/CanvasTinter.js line 11 + src/pixi/renderers/canvas/utils/CanvasTinter.js line 11 @@ -356,7 +356,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasTinter.js line 13 + src/pixi/renderers/canvas/utils/CanvasTinter.js line 13 @@ -562,7 +562,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasTinter.js line 73 + src/pixi/renderers/canvas/utils/CanvasTinter.js line 73 @@ -744,7 +744,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasTinter.js line 31 + src/pixi/renderers/canvas/utils/CanvasTinter.js line 31 @@ -787,9 +787,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -806,7 +806,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -835,7 +835,7 @@
Parameters:
- + diff --git a/docs/PIXI.ComplexPrimitiveShader.html b/docs/PIXI.ComplexPrimitiveShader.html index 7c93f793c..fa9c0ff21 100644 --- a/docs/PIXI.ComplexPrimitiveShader.html +++ b/docs/PIXI.ComplexPrimitiveShader.html @@ -6,7 +6,7 @@ Phaser CE Class: ComplexPrimitiveShader - + @@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 10 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 10 @@ -331,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 37 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 37 @@ -404,7 +404,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 23 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 23 @@ -481,7 +481,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 30 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 30 @@ -558,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 53 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 53 @@ -636,7 +636,7 @@

Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 110 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 110 @@ -720,7 +720,7 @@

Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 79 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 79 @@ -763,9 +763,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -782,7 +782,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -811,7 +811,7 @@

- + diff --git a/docs/PIXI.DisplayObject.html b/docs/PIXI.DisplayObject.html index f2725da0b..a71c17941 100644 --- a/docs/PIXI.DisplayObject.html +++ b/docs/PIXI.DisplayObject.html @@ -6,7 +6,7 @@ Phaser CE Class: DisplayObject - + @@ -183,7 +183,7 @@

Source:
- src/pixi/display/DisplayObject.js line 18 + src/pixi/display/DisplayObject.js line 18 @@ -298,7 +298,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -382,7 +382,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -459,7 +459,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -541,7 +541,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -628,7 +628,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -708,7 +708,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -788,7 +788,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -866,7 +866,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -945,7 +945,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1023,7 +1023,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -1103,7 +1103,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -1183,7 +1183,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -1272,7 +1272,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -1355,7 +1355,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -1437,7 +1437,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -1519,7 +1519,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -1601,7 +1601,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -1683,7 +1683,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -1760,7 +1760,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -1838,7 +1838,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -1916,7 +1916,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -1996,7 +1996,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -2232,7 +2232,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -2342,7 +2342,7 @@

Source:
- src/pixi/display/DisplayObject.js line 432 + src/pixi/display/DisplayObject.js line 432 @@ -2476,7 +2476,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -2680,7 +2680,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -2790,7 +2790,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -2970,7 +2970,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -3039,9 +3039,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -3058,7 +3058,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -3087,7 +3087,7 @@
Returns:
- + diff --git a/docs/PIXI.DisplayObjectContainer.html b/docs/PIXI.DisplayObjectContainer.html index 7abef9d1d..b478282cc 100644 --- a/docs/PIXI.DisplayObjectContainer.html +++ b/docs/PIXI.DisplayObjectContainer.html @@ -6,7 +6,7 @@ Phaser CE Class: DisplayObjectContainer - + @@ -181,7 +181,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 13 + src/pixi/display/DisplayObjectContainer.js line 13 @@ -316,7 +316,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -409,7 +409,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -486,7 +486,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -572,7 +572,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -663,7 +663,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -759,7 +759,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -838,7 +838,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -927,7 +927,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -1016,7 +1016,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -1103,7 +1103,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -1191,7 +1191,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1278,7 +1278,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -1367,7 +1367,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -1456,7 +1456,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -1554,7 +1554,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -1646,7 +1646,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -1737,7 +1737,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -1828,7 +1828,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -1919,7 +1919,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -2010,7 +2010,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -2096,7 +2096,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -2183,7 +2183,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -2270,7 +2270,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -2398,7 +2398,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -2580,7 +2580,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -2738,7 +2738,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -2853,7 +2853,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -3098,7 +3098,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -3273,7 +3273,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -3431,7 +3431,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -3589,7 +3589,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -3697,7 +3697,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -3814,7 +3814,7 @@

Source:
- src/pixi/display/DisplayObject.js line 432 + src/pixi/display/DisplayObject.js line 432 @@ -3948,7 +3948,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -4106,7 +4106,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -4288,7 +4288,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -4446,7 +4446,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -4604,7 +4604,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -4747,7 +4747,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -4960,7 +4960,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -5079,7 +5079,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -5273,7 +5273,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -5342,9 +5342,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -5361,7 +5361,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -5390,7 +5390,7 @@
Returns:
- + diff --git a/docs/PIXI.FilterTexture.html b/docs/PIXI.FilterTexture.html index 706b89f6d..c0ef6a75b 100644 --- a/docs/PIXI.FilterTexture.html +++ b/docs/PIXI.FilterTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: FilterTexture - + @@ -298,7 +298,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 63 + src/pixi/renderers/webgl/utils/FilterTexture.js line 63 @@ -399,7 +399,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 77 + src/pixi/renderers/webgl/utils/FilterTexture.js line 77 @@ -472,7 +472,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 70 + src/pixi/renderers/webgl/utils/FilterTexture.js line 70 @@ -545,7 +545,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 82 + src/pixi/renderers/webgl/utils/FilterTexture.js line 82 @@ -623,7 +623,7 @@

Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 90 + src/pixi/renderers/webgl/utils/FilterTexture.js line 90 @@ -707,7 +707,7 @@

Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 125 + src/pixi/renderers/webgl/utils/FilterTexture.js line 125 @@ -865,7 +865,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 103 + src/pixi/renderers/webgl/utils/FilterTexture.js line 103 @@ -908,9 +908,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -927,7 +927,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -956,7 +956,7 @@
Parameters:
- + diff --git a/docs/PIXI.Phaser.GraphicsData.html b/docs/PIXI.Phaser.GraphicsData.html index bc46aec42..9b4be152a 100644 --- a/docs/PIXI.Phaser.GraphicsData.html +++ b/docs/PIXI.Phaser.GraphicsData.html @@ -6,7 +6,7 @@ Phaser CE Class: Phaser.GraphicsData - + @@ -386,7 +386,7 @@
Parameters:
Source:
- src/gameobjects/GraphicsData.js line 15 + src/gameobjects/GraphicsData.js line 15 @@ -443,9 +443,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -462,7 +462,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -491,7 +491,7 @@
Parameters:
- + diff --git a/docs/PIXI.PixiFastShader.html b/docs/PIXI.PixiFastShader.html index 1d457ab52..eff9ad170 100644 --- a/docs/PIXI.PixiFastShader.html +++ b/docs/PIXI.PixiFastShader.html @@ -6,7 +6,7 @@ Phaser CE Class: PixiFastShader - + @@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 10 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 10 @@ -331,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 47 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 47 @@ -404,7 +404,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 22 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 22 @@ -481,7 +481,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 29 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 29 @@ -558,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 125 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 125 @@ -635,7 +635,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 86 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 86 @@ -713,7 +713,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 207 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 207 @@ -797,7 +797,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 132 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 132 @@ -840,9 +840,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -859,7 +859,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -888,7 +888,7 @@

- + diff --git a/docs/PIXI.PixiShader.html b/docs/PIXI.PixiShader.html index 55733a8a1..3249e2d22 100644 --- a/docs/PIXI.PixiShader.html +++ b/docs/PIXI.PixiShader.html @@ -6,7 +6,7 @@ Phaser CE Class: PixiShader - + @@ -226,7 +226,7 @@

Parameters:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 11 + src/pixi/renderers/webgl/shaders/PixiShader.js line 11 @@ -331,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 475 + src/pixi/renderers/webgl/shaders/PixiShader.js line 475 @@ -408,7 +408,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 60 + src/pixi/renderers/webgl/shaders/PixiShader.js line 60 @@ -485,7 +485,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 38 + src/pixi/renderers/webgl/shaders/PixiShader.js line 38 @@ -558,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 24 + src/pixi/renderers/webgl/shaders/PixiShader.js line 24 @@ -635,7 +635,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 31 + src/pixi/renderers/webgl/shaders/PixiShader.js line 31 @@ -712,7 +712,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 45 + src/pixi/renderers/webgl/shaders/PixiShader.js line 45 @@ -790,7 +790,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 455 + src/pixi/renderers/webgl/shaders/PixiShader.js line 455 @@ -874,7 +874,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 224 + src/pixi/renderers/webgl/shaders/PixiShader.js line 224 @@ -958,7 +958,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 312 + src/pixi/renderers/webgl/shaders/PixiShader.js line 312 @@ -1044,7 +1044,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 238 + src/pixi/renderers/webgl/shaders/PixiShader.js line 238 @@ -1128,7 +1128,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 388 + src/pixi/renderers/webgl/shaders/PixiShader.js line 388 @@ -1171,9 +1171,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1190,7 +1190,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1219,7 +1219,7 @@

- + diff --git a/docs/PIXI.PrimitiveShader.html b/docs/PIXI.PrimitiveShader.html index aaebf0d8e..c7ef65043 100644 --- a/docs/PIXI.PrimitiveShader.html +++ b/docs/PIXI.PrimitiveShader.html @@ -6,7 +6,7 @@ Phaser CE Class: PrimitiveShader - + @@ -226,7 +226,7 @@

Parameters:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 10 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 10 @@ -331,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 37 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 37 @@ -404,7 +404,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 23 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 23 @@ -481,7 +481,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 30 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 30 @@ -558,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 51 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 51 @@ -636,7 +636,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 105 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 105 @@ -720,7 +720,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 75 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 75 @@ -763,9 +763,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -782,7 +782,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -811,7 +811,7 @@

- + diff --git a/docs/PIXI.Sprite.html b/docs/PIXI.Sprite.html index 5d8c08767..ea96accbb 100644 --- a/docs/PIXI.Sprite.html +++ b/docs/PIXI.Sprite.html @@ -6,7 +6,7 @@ Phaser CE Class: Sprite - + @@ -230,7 +230,7 @@

Parameters:
Source:
- src/pixi/display/Sprite.js line 13 + src/pixi/display/Sprite.js line 13 @@ -396,7 +396,7 @@
Properties:
Source:
- src/pixi/display/Sprite.js line 128 + src/pixi/display/Sprite.js line 128 @@ -492,7 +492,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -573,7 +573,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -658,7 +658,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -751,7 +751,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -837,7 +837,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -921,7 +921,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -1007,7 +1007,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -1098,7 +1098,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -1194,7 +1194,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -1282,7 +1282,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -1371,7 +1371,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -1460,7 +1460,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -1547,7 +1547,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -1635,7 +1635,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1727,7 +1727,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -1816,7 +1816,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -1905,7 +1905,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -1990,7 +1990,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -2067,7 +2067,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -2151,7 +2151,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -2235,7 +2235,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -2333,7 +2333,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -2425,7 +2425,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -2516,7 +2516,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -2607,7 +2607,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -2698,7 +2698,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -2794,7 +2794,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -2880,7 +2880,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -2967,7 +2967,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -3054,7 +3054,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -3191,7 +3191,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -3382,7 +3382,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -3549,7 +3549,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -3664,7 +3664,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -3909,7 +3909,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -4081,7 +4081,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -4248,7 +4248,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -4415,7 +4415,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -4528,7 +4528,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -4645,7 +4645,7 @@

Source:
- src/pixi/display/DisplayObject.js line 432 + src/pixi/display/DisplayObject.js line 432 @@ -4788,7 +4788,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -4955,7 +4955,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -5146,7 +5146,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -5313,7 +5313,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -5504,7 +5504,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -5671,7 +5671,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -5814,7 +5814,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -6027,7 +6027,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -6146,7 +6146,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -6335,7 +6335,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -6404,9 +6404,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -6423,7 +6423,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -6452,7 +6452,7 @@
Returns:
- + diff --git a/docs/PIXI.StripShader.html b/docs/PIXI.StripShader.html index 373777a9a..6ab421a6e 100644 --- a/docs/PIXI.StripShader.html +++ b/docs/PIXI.StripShader.html @@ -6,7 +6,7 @@ Phaser CE Class: StripShader - + @@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 10 + src/pixi/renderers/webgl/shaders/StripShader.js line 10 @@ -331,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 76 + src/pixi/renderers/webgl/shaders/StripShader.js line 76 @@ -408,7 +408,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 49 + src/pixi/renderers/webgl/shaders/StripShader.js line 49 @@ -481,7 +481,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 23 + src/pixi/renderers/webgl/shaders/StripShader.js line 23 @@ -558,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 30 + src/pixi/renderers/webgl/shaders/StripShader.js line 30 @@ -635,7 +635,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 95 + src/pixi/renderers/webgl/shaders/StripShader.js line 95 @@ -713,7 +713,7 @@

Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 175 + src/pixi/renderers/webgl/shaders/StripShader.js line 175 @@ -797,7 +797,7 @@

Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 124 + src/pixi/renderers/webgl/shaders/StripShader.js line 124 @@ -840,9 +840,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -859,7 +859,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -888,7 +888,7 @@

- + diff --git a/docs/PIXI.Texture.html b/docs/PIXI.Texture.html index 90d0ac072..bd4890b2d 100644 --- a/docs/PIXI.Texture.html +++ b/docs/PIXI.Texture.html @@ -6,7 +6,7 @@ Phaser CE Class: Texture - + @@ -341,7 +341,7 @@

Parameters:
Source:
- src/pixi/textures/Texture.js line 25 + src/pixi/textures/Texture.js line 25 @@ -446,7 +446,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 52 + src/pixi/textures/Texture.js line 52 @@ -524,7 +524,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 134 + src/pixi/textures/Texture.js line 134 @@ -601,7 +601,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 60 + src/pixi/textures/Texture.js line 60 @@ -678,7 +678,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 125 + src/pixi/textures/Texture.js line 125 @@ -755,7 +755,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 84 + src/pixi/textures/Texture.js line 84 @@ -832,7 +832,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 33 + src/pixi/textures/Texture.js line 33 @@ -909,7 +909,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 100 + src/pixi/textures/Texture.js line 100 @@ -986,7 +986,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 92 + src/pixi/textures/Texture.js line 92 @@ -1065,7 +1065,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 144 + src/pixi/textures/Texture.js line 144 @@ -1142,7 +1142,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 68 + src/pixi/textures/Texture.js line 68 @@ -1219,7 +1219,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 76 + src/pixi/textures/Texture.js line 76 @@ -1296,7 +1296,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 117 + src/pixi/textures/Texture.js line 117 @@ -1424,7 +1424,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 174 + src/pixi/textures/Texture.js line 174 @@ -1582,7 +1582,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 286 + src/pixi/textures/Texture.js line 286 @@ -1736,7 +1736,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 187 + src/pixi/textures/Texture.js line 187 @@ -1779,9 +1779,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1798,7 +1798,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1827,7 +1827,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLBlendModeManager.html b/docs/PIXI.WebGLBlendModeManager.html index 532599cd8..5a92221c9 100644 --- a/docs/PIXI.WebGLBlendModeManager.html +++ b/docs/PIXI.WebGLBlendModeManager.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLBlendModeManager - + @@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 10 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 10 @@ -327,7 +327,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 16 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 16 @@ -405,7 +405,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 54 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 54 @@ -539,7 +539,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 32 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 32 @@ -673,7 +673,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 21 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 21 @@ -716,9 +716,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -735,7 +735,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -764,7 +764,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLFastSpriteBatch.html b/docs/PIXI.WebGLFastSpriteBatch.html index cfc25e8e5..ba97c6386 100644 --- a/docs/PIXI.WebGLFastSpriteBatch.html +++ b/docs/PIXI.WebGLFastSpriteBatch.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLFastSpriteBatch - + @@ -176,7 +176,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 15 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 15 @@ -277,7 +277,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 100 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 100 @@ -350,7 +350,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 94 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 94 @@ -423,7 +423,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 106 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 106 @@ -496,7 +496,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 88 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 88 @@ -569,7 +569,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 66 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 66 @@ -646,7 +646,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 54 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 54 @@ -719,7 +719,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 72 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 72 @@ -792,7 +792,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 124 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 124 @@ -865,7 +865,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 28 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 28 @@ -938,7 +938,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 112 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 112 @@ -1011,7 +1011,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 118 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 118 @@ -1084,7 +1084,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 34 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 34 @@ -1157,7 +1157,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 60 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 60 @@ -1234,7 +1234,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 47 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 47 @@ -1307,7 +1307,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 22 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 22 @@ -1455,7 +1455,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 155 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 155 @@ -1535,7 +1535,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 170 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 170 @@ -1615,7 +1615,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 360 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 360 @@ -1745,7 +1745,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 178 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 178 @@ -1875,7 +1875,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 209 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 209 @@ -2009,7 +2009,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 131 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 131 @@ -2089,7 +2089,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 412 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 412 @@ -2169,7 +2169,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 404 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 404 @@ -2212,9 +2212,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2231,7 +2231,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2260,7 +2260,7 @@

- + diff --git a/docs/PIXI.WebGLFilterManager.html b/docs/PIXI.WebGLFilterManager.html index 90db2a18b..930803bd2 100644 --- a/docs/PIXI.WebGLFilterManager.html +++ b/docs/PIXI.WebGLFilterManager.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLFilterManager - + @@ -176,7 +176,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 9 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 9 @@ -277,7 +277,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 15 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 15 @@ -350,7 +350,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 21 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 21 @@ -423,7 +423,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 27 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 27 @@ -623,7 +623,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 336 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 336 @@ -777,7 +777,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 46 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 46 @@ -861,7 +861,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 445 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 445 @@ -945,7 +945,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 397 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 397 @@ -1029,7 +1029,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 145 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 145 @@ -1163,7 +1163,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 62 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 62 @@ -1297,7 +1297,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 32 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 32 @@ -1340,9 +1340,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1359,7 +1359,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1388,7 +1388,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLRenderer.html b/docs/PIXI.WebGLRenderer.html index e3f2586c8..eff47b7f7 100644 --- a/docs/PIXI.WebGLRenderer.html +++ b/docs/PIXI.WebGLRenderer.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLRenderer - + @@ -233,7 +233,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 19 + src/pixi/renderers/webgl/WebGLRenderer.js line 19 @@ -338,7 +338,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 62 + src/pixi/renderers/webgl/WebGLRenderer.js line 62 @@ -415,7 +415,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 175 + src/pixi/renderers/webgl/WebGLRenderer.js line 175 @@ -495,7 +495,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 82 + src/pixi/renderers/webgl/WebGLRenderer.js line 82 @@ -568,7 +568,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 187 + src/pixi/renderers/webgl/WebGLRenderer.js line 187 @@ -645,7 +645,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 161 + src/pixi/renderers/webgl/WebGLRenderer.js line 161 @@ -722,7 +722,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 24 + src/pixi/renderers/webgl/WebGLRenderer.js line 24 @@ -799,7 +799,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 98 + src/pixi/renderers/webgl/WebGLRenderer.js line 98 @@ -876,7 +876,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 154 + src/pixi/renderers/webgl/WebGLRenderer.js line 154 @@ -949,7 +949,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 131 + src/pixi/renderers/webgl/WebGLRenderer.js line 131 @@ -1026,7 +1026,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 70 + src/pixi/renderers/webgl/WebGLRenderer.js line 70 @@ -1099,7 +1099,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 125 + src/pixi/renderers/webgl/WebGLRenderer.js line 125 @@ -1172,7 +1172,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 181 + src/pixi/renderers/webgl/WebGLRenderer.js line 181 @@ -1256,7 +1256,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 46 + src/pixi/renderers/webgl/WebGLRenderer.js line 46 @@ -1333,7 +1333,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 140 + src/pixi/renderers/webgl/WebGLRenderer.js line 140 @@ -1410,7 +1410,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 147 + src/pixi/renderers/webgl/WebGLRenderer.js line 147 @@ -1487,7 +1487,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 168 + src/pixi/renderers/webgl/WebGLRenderer.js line 168 @@ -1564,7 +1564,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 54 + src/pixi/renderers/webgl/WebGLRenderer.js line 54 @@ -1637,7 +1637,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 37 + src/pixi/renderers/webgl/WebGLRenderer.js line 37 @@ -1714,7 +1714,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 106 + src/pixi/renderers/webgl/WebGLRenderer.js line 106 @@ -1791,7 +1791,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 90 + src/pixi/renderers/webgl/WebGLRenderer.js line 90 @@ -1869,7 +1869,7 @@

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 577 + src/pixi/renderers/webgl/WebGLRenderer.js line 577 @@ -1949,7 +1949,7 @@

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 215 + src/pixi/renderers/webgl/WebGLRenderer.js line 215 @@ -2033,7 +2033,7 @@

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 609 + src/pixi/renderers/webgl/WebGLRenderer.js line 609 @@ -2167,7 +2167,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 359 + src/pixi/renderers/webgl/WebGLRenderer.js line 359 @@ -2349,7 +2349,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 394 + src/pixi/renderers/webgl/WebGLRenderer.js line 394 @@ -2507,7 +2507,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 431 + src/pixi/renderers/webgl/WebGLRenderer.js line 431 @@ -2652,7 +2652,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 268 + src/pixi/renderers/webgl/WebGLRenderer.js line 268 @@ -2810,7 +2810,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 457 + src/pixi/renderers/webgl/WebGLRenderer.js line 457 @@ -2968,7 +2968,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 516 + src/pixi/renderers/webgl/WebGLRenderer.js line 516 @@ -3035,9 +3035,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -3054,7 +3054,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -3083,7 +3083,7 @@
Returns:
- + diff --git a/docs/PIXI.html b/docs/PIXI.html index 0f16f19d5..491eb4017 100644 --- a/docs/PIXI.html +++ b/docs/PIXI.html @@ -6,7 +6,7 @@ Phaser CE Namespace: PIXI - + @@ -167,7 +167,7 @@

Source:
- src/pixi/Pixi.js line 1 + src/pixi/Pixi.js line 1 @@ -317,7 +317,7 @@

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 5 + src/pixi/renderers/webgl/WebGLRenderer.js line 5 @@ -396,7 +396,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 12 + src/pixi/textures/Texture.js line 12 @@ -544,7 +544,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 26 + src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 26 @@ -742,7 +742,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 69 + src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 69 @@ -916,7 +916,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 14 + src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 14 @@ -979,9 +979,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -998,7 +998,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1027,7 +1027,7 @@
Returns:
- + diff --git a/docs/Phaser.Animation.html b/docs/Phaser.Animation.html index 653cfea69..25173dae0 100644 --- a/docs/Phaser.Animation.html +++ b/docs/Phaser.Animation.html @@ -6,7 +6,7 @@ Phaser CE Class: Animation - + @@ -474,7 +474,7 @@
Parameters:
Source:
- src/animation/Animation.js line 22 + src/animation/Animation.js line 22 @@ -579,7 +579,7 @@
Type:
Source:
- src/animation/Animation.js line 125 + src/animation/Animation.js line 125 @@ -656,7 +656,7 @@
Type:
Source:
- src/animation/Animation.js line 58 + src/animation/Animation.js line 58 @@ -733,7 +733,7 @@
Type:
Source:
- src/animation/Animation.js line 808 + src/animation/Animation.js line 808 @@ -810,7 +810,7 @@
Type:
Source:
- src/animation/Animation.js line 747 + src/animation/Animation.js line 747 @@ -887,7 +887,7 @@
Type:
Source:
- src/animation/Animation.js line 734 + src/animation/Animation.js line 734 @@ -964,7 +964,7 @@
Type:
Source:
- src/animation/Animation.js line 29 + src/animation/Animation.js line 29 @@ -1041,7 +1041,7 @@
Type:
Source:
- src/animation/Animation.js line 80 + src/animation/Animation.js line 80 @@ -1118,7 +1118,7 @@
Type:
Source:
- src/animation/Animation.js line 92 + src/animation/Animation.js line 92 @@ -1195,7 +1195,7 @@
Type:
Source:
- src/animation/Animation.js line 86 + src/animation/Animation.js line 86 @@ -1272,7 +1272,7 @@
Type:
Source:
- src/animation/Animation.js line 157 + src/animation/Animation.js line 157 @@ -1349,7 +1349,7 @@
Type:
Source:
- src/animation/Animation.js line 74 + src/animation/Animation.js line 74 @@ -1426,7 +1426,7 @@
Type:
Source:
- src/animation/Animation.js line 63 + src/animation/Animation.js line 63 @@ -1503,7 +1503,7 @@
Type:
Source:
- src/animation/Animation.js line 68 + src/animation/Animation.js line 68 @@ -1580,7 +1580,7 @@
Type:
Source:
- src/animation/Animation.js line 46 + src/animation/Animation.js line 46 @@ -1657,7 +1657,7 @@
Type:
Source:
- src/animation/Animation.js line 146 + src/animation/Animation.js line 146 @@ -1734,7 +1734,7 @@
Type:
Source:
- src/animation/Animation.js line 151 + src/animation/Animation.js line 151 @@ -1811,7 +1811,7 @@
Type:
Source:
- src/animation/Animation.js line 130 + src/animation/Animation.js line 130 @@ -1895,7 +1895,7 @@
Type:
Source:
- src/animation/Animation.js line 141 + src/animation/Animation.js line 141 @@ -1972,7 +1972,7 @@
Type:
Source:
- src/animation/Animation.js line 680 + src/animation/Animation.js line 680 @@ -2049,7 +2049,7 @@
Type:
Source:
- src/animation/Animation.js line 714 + src/animation/Animation.js line 714 @@ -2126,7 +2126,7 @@
Type:
Source:
- src/animation/Animation.js line 785 + src/animation/Animation.js line 785 @@ -2424,7 +2424,7 @@
Parameters:
Source:
- src/animation/Animation.js line 836 + src/animation/Animation.js line 836 @@ -2533,7 +2533,7 @@

Source:
- src/animation/Animation.js line 650 + src/animation/Animation.js line 650 @@ -2617,7 +2617,7 @@

Source:
- src/animation/Animation.js line 616 + src/animation/Animation.js line 616 @@ -2771,7 +2771,7 @@
Parameters:
Source:
- src/animation/Animation.js line 539 + src/animation/Animation.js line 539 @@ -2855,7 +2855,7 @@

Source:
- src/animation/Animation.js line 369 + src/animation/Animation.js line 369 @@ -2939,7 +2939,7 @@

Source:
- src/animation/Animation.js line 383 + src/animation/Animation.js line 383 @@ -3175,7 +3175,7 @@
Parameters:
Source:
- src/animation/Animation.js line 167 + src/animation/Animation.js line 167 @@ -3355,7 +3355,7 @@
Parameters:
Source:
- src/animation/Animation.js line 571 + src/animation/Animation.js line 571 @@ -3439,7 +3439,7 @@

Source:
- src/animation/Animation.js line 221 + src/animation/Animation.js line 221 @@ -3523,7 +3523,7 @@

Source:
- src/animation/Animation.js line 249 + src/animation/Animation.js line 249 @@ -3633,7 +3633,7 @@

Source:
- src/animation/Animation.js line 263 + src/animation/Animation.js line 263 @@ -3852,7 +3852,7 @@
Parameters:
Source:
- src/animation/Animation.js line 279 + src/animation/Animation.js line 279 @@ -4047,7 +4047,7 @@
Parameters:
Source:
- src/animation/Animation.js line 338 + src/animation/Animation.js line 338 @@ -4131,7 +4131,7 @@

Source:
- src/animation/Animation.js line 397 + src/animation/Animation.js line 397 @@ -4265,7 +4265,7 @@
Parameters:
Source:
- src/animation/Animation.js line 603 + src/animation/Animation.js line 603 @@ -4308,9 +4308,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -4327,7 +4327,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -4356,7 +4356,7 @@
Parameters:
- + diff --git a/docs/Phaser.AnimationManager.html b/docs/Phaser.AnimationManager.html index 82d30c8a9..d4ea2b6a0 100644 --- a/docs/Phaser.AnimationManager.html +++ b/docs/Phaser.AnimationManager.html @@ -6,7 +6,7 @@ Phaser CE Class: AnimationManager - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 15 + src/animation/AnimationManager.js line 15 @@ -336,7 +336,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 40 + src/animation/AnimationManager.js line 40 @@ -414,7 +414,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 34 + src/animation/AnimationManager.js line 34 @@ -491,7 +491,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 503 + src/animation/AnimationManager.js line 503 @@ -568,7 +568,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 439 + src/animation/AnimationManager.js line 439 @@ -645,7 +645,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 532 + src/animation/AnimationManager.js line 532 @@ -722,7 +722,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 452 + src/animation/AnimationManager.js line 452 @@ -799,7 +799,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 25 + src/animation/AnimationManager.js line 25 @@ -876,7 +876,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 52 + src/animation/AnimationManager.js line 52 @@ -953,7 +953,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 486 + src/animation/AnimationManager.js line 486 @@ -1030,7 +1030,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 466 + src/animation/AnimationManager.js line 466 @@ -1107,7 +1107,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 20 + src/animation/AnimationManager.js line 20 @@ -1191,7 +1191,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 46 + src/animation/AnimationManager.js line 46 @@ -1496,7 +1496,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 170 + src/animation/AnimationManager.js line 170 @@ -1605,7 +1605,7 @@

Source:
- src/animation/AnimationManager.js line 407 + src/animation/AnimationManager.js line 407 @@ -1739,7 +1739,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 374 + src/animation/AnimationManager.js line 374 @@ -1917,7 +1917,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 342 + src/animation/AnimationManager.js line 342 @@ -2191,7 +2191,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 253 + src/animation/AnimationManager.js line 253 @@ -2369,7 +2369,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 358 + src/animation/AnimationManager.js line 358 @@ -2453,7 +2453,7 @@

Source:
- src/animation/AnimationManager.js line 395 + src/animation/AnimationManager.js line 395 @@ -2648,7 +2648,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 299 + src/animation/AnimationManager.js line 299 @@ -2732,7 +2732,7 @@

Source:
- src/animation/AnimationManager.js line 318 + src/animation/AnimationManager.js line 318 @@ -2946,7 +2946,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 219 + src/animation/AnimationManager.js line 219 @@ -3013,9 +3013,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -3032,7 +3032,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -3061,7 +3061,7 @@
Returns:
- + diff --git a/docs/Phaser.AnimationParser.html b/docs/Phaser.AnimationParser.html index 9332c072b..a6c4acaaa 100644 --- a/docs/Phaser.AnimationParser.html +++ b/docs/Phaser.AnimationParser.html @@ -6,7 +6,7 @@ Phaser CE Class: AnimationParser - + @@ -180,7 +180,7 @@

Source:
- src/animation/AnimationParser.js line 13 + src/animation/AnimationParser.js line 13 @@ -356,7 +356,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 114 + src/animation/AnimationParser.js line 114 @@ -538,7 +538,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 230 + src/animation/AnimationParser.js line 230 @@ -720,7 +720,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 173 + src/animation/AnimationParser.js line 173 @@ -1165,7 +1165,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 15 + src/animation/AnimationParser.js line 15 @@ -1347,7 +1347,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 292 + src/animation/AnimationParser.js line 292 @@ -1414,9 +1414,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1433,7 +1433,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1462,7 +1462,7 @@
Returns:
- + diff --git a/docs/Phaser.ArraySet.html b/docs/Phaser.ArraySet.html index 21874a628..25583ace0 100644 --- a/docs/Phaser.ArraySet.html +++ b/docs/Phaser.ArraySet.html @@ -6,7 +6,7 @@ Phaser CE Class: ArraySet - + @@ -253,7 +253,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 19 + src/utils/ArraySet.js line 19 @@ -358,7 +358,7 @@
Type:
Source:
- src/utils/ArraySet.js line 231 + src/utils/ArraySet.js line 231 @@ -435,7 +435,7 @@
Type:
Source:
- src/utils/ArraySet.js line 32 + src/utils/ArraySet.js line 32 @@ -512,7 +512,7 @@
Type:
Source:
- src/utils/ArraySet.js line 256 + src/utils/ArraySet.js line 256 @@ -589,7 +589,7 @@
Type:
Source:
- src/utils/ArraySet.js line 26 + src/utils/ArraySet.js line 26 @@ -666,7 +666,7 @@
Type:
Source:
- src/utils/ArraySet.js line 217 + src/utils/ArraySet.js line 217 @@ -795,7 +795,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 38 + src/utils/ArraySet.js line 38 @@ -999,7 +999,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 159 + src/utils/ArraySet.js line 159 @@ -1133,7 +1133,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 95 + src/utils/ArraySet.js line 95 @@ -1316,7 +1316,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 70 + src/utils/ArraySet.js line 70 @@ -1474,7 +1474,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 57 + src/utils/ArraySet.js line 57 @@ -1632,7 +1632,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 119 + src/utils/ArraySet.js line 119 @@ -1810,7 +1810,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 185 + src/utils/ArraySet.js line 185 @@ -1894,7 +1894,7 @@

Source:
- src/utils/ArraySet.js line 108 + src/utils/ArraySet.js line 108 @@ -2052,7 +2052,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 138 + src/utils/ArraySet.js line 138 @@ -2095,9 +2095,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2114,7 +2114,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2143,7 +2143,7 @@
Parameters:
- + diff --git a/docs/Phaser.ArrayUtils.html b/docs/Phaser.ArrayUtils.html index 8e31c4831..62791fdf3 100644 --- a/docs/Phaser.ArrayUtils.html +++ b/docs/Phaser.ArrayUtils.html @@ -6,7 +6,7 @@ Phaser CE Class: ArrayUtils - + @@ -180,7 +180,7 @@

Source:
- src/utils/ArrayUtils.js line 13 + src/utils/ArrayUtils.js line 13 @@ -357,7 +357,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 197 + src/utils/ArrayUtils.js line 197 @@ -565,7 +565,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 15 + src/utils/ArrayUtils.js line 15 @@ -772,7 +772,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 296 + src/utils/ArrayUtils.js line 296 @@ -1028,7 +1028,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 334 + src/utils/ArrayUtils.js line 334 @@ -1302,7 +1302,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 73 + src/utils/ArrayUtils.js line 73 @@ -1519,7 +1519,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 39 + src/utils/ArrayUtils.js line 39 @@ -1690,7 +1690,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 273 + src/utils/ArrayUtils.js line 273 @@ -1852,7 +1852,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 251 + src/utils/ArrayUtils.js line 251 @@ -2038,7 +2038,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 156 + src/utils/ArrayUtils.js line 156 @@ -2200,7 +2200,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 229 + src/utils/ArrayUtils.js line 229 @@ -2358,7 +2358,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 107 + src/utils/ArrayUtils.js line 107 @@ -2516,7 +2516,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 128 + src/utils/ArrayUtils.js line 128 @@ -2583,9 +2583,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2602,7 +2602,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2631,7 +2631,7 @@
Returns:
- + diff --git a/docs/Phaser.AudioSprite.html b/docs/Phaser.AudioSprite.html index a197bb8b3..067c3e576 100644 --- a/docs/Phaser.AudioSprite.html +++ b/docs/Phaser.AudioSprite.html @@ -6,7 +6,7 @@ Phaser CE Class: AudioSprite - + @@ -255,7 +255,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 17 + src/sound/AudioSprite.js line 17 @@ -360,7 +360,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 48 + src/sound/AudioSprite.js line 48 @@ -437,7 +437,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 41 + src/sound/AudioSprite.js line 41 @@ -514,7 +514,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 35 + src/sound/AudioSprite.js line 35 @@ -591,7 +591,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 23 + src/sound/AudioSprite.js line 23 @@ -668,7 +668,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 29 + src/sound/AudioSprite.js line 29 @@ -745,7 +745,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 54 + src/sound/AudioSprite.js line 54 @@ -873,7 +873,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 115 + src/sound/AudioSprite.js line 115 @@ -1089,7 +1089,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 77 + src/sound/AudioSprite.js line 77 @@ -1267,7 +1267,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 93 + src/sound/AudioSprite.js line 93 @@ -1310,9 +1310,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1329,7 +1329,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1358,7 +1358,7 @@
Parameters:
- + diff --git a/docs/Phaser.BitmapData.html b/docs/Phaser.BitmapData.html index 4b1f49189..07b0b9fbf 100644 --- a/docs/Phaser.BitmapData.html +++ b/docs/Phaser.BitmapData.html @@ -6,7 +6,7 @@ Phaser CE Class: BitmapData - + @@ -407,7 +407,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 24 + src/gameobjects/BitmapData.js line 24 @@ -512,7 +512,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 124 + src/gameobjects/BitmapData.js line 124 @@ -589,7 +589,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 54 + src/gameobjects/BitmapData.js line 54 @@ -666,7 +666,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 60 + src/gameobjects/BitmapData.js line 60 @@ -743,7 +743,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 65 + src/gameobjects/BitmapData.js line 65 @@ -821,7 +821,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 84 + src/gameobjects/BitmapData.js line 84 @@ -898,7 +898,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 159 + src/gameobjects/BitmapData.js line 159 @@ -975,7 +975,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 154 + src/gameobjects/BitmapData.js line 154 @@ -1052,7 +1052,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 135 + src/gameobjects/BitmapData.js line 135 @@ -1129,7 +1129,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 33 + src/gameobjects/BitmapData.js line 33 @@ -1206,7 +1206,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 48 + src/gameobjects/BitmapData.js line 48 @@ -1285,7 +1285,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 77 + src/gameobjects/BitmapData.js line 77 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 38 + src/gameobjects/BitmapData.js line 38 @@ -1439,7 +1439,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 94 + src/gameobjects/BitmapData.js line 94 @@ -1516,7 +1516,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 70 + src/gameobjects/BitmapData.js line 70 @@ -1593,7 +1593,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 130 + src/gameobjects/BitmapData.js line 130 @@ -1670,7 +1670,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 141 + src/gameobjects/BitmapData.js line 141 @@ -1747,7 +1747,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 149 + src/gameobjects/BitmapData.js line 149 @@ -1824,7 +1824,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 43 + src/gameobjects/BitmapData.js line 43 @@ -2072,7 +2072,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2482 + src/gameobjects/BitmapData.js line 2482 @@ -2240,7 +2240,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 393 + src/gameobjects/BitmapData.js line 393 @@ -2618,7 +2618,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1217 + src/gameobjects/BitmapData.js line 1217 @@ -2924,7 +2924,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1776 + src/gameobjects/BitmapData.js line 1776 @@ -3032,7 +3032,7 @@

Source:
- src/gameobjects/BitmapData.js line 2207 + src/gameobjects/BitmapData.js line 2207 @@ -3140,7 +3140,7 @@

Source:
- src/gameobjects/BitmapData.js line 2389 + src/gameobjects/BitmapData.js line 2389 @@ -3248,7 +3248,7 @@

Source:
- src/gameobjects/BitmapData.js line 2298 + src/gameobjects/BitmapData.js line 2298 @@ -3356,7 +3356,7 @@

Source:
- src/gameobjects/BitmapData.js line 2285 + src/gameobjects/BitmapData.js line 2285 @@ -3464,7 +3464,7 @@

Source:
- src/gameobjects/BitmapData.js line 2259 + src/gameobjects/BitmapData.js line 2259 @@ -3572,7 +3572,7 @@

Source:
- src/gameobjects/BitmapData.js line 2181 + src/gameobjects/BitmapData.js line 2181 @@ -3680,7 +3680,7 @@

Source:
- src/gameobjects/BitmapData.js line 2155 + src/gameobjects/BitmapData.js line 2155 @@ -3788,7 +3788,7 @@

Source:
- src/gameobjects/BitmapData.js line 2168 + src/gameobjects/BitmapData.js line 2168 @@ -3896,7 +3896,7 @@

Source:
- src/gameobjects/BitmapData.js line 2142 + src/gameobjects/BitmapData.js line 2142 @@ -4004,7 +4004,7 @@

Source:
- src/gameobjects/BitmapData.js line 2337 + src/gameobjects/BitmapData.js line 2337 @@ -4112,7 +4112,7 @@

Source:
- src/gameobjects/BitmapData.js line 2350 + src/gameobjects/BitmapData.js line 2350 @@ -4220,7 +4220,7 @@

Source:
- src/gameobjects/BitmapData.js line 2311 + src/gameobjects/BitmapData.js line 2311 @@ -4328,7 +4328,7 @@

Source:
- src/gameobjects/BitmapData.js line 2363 + src/gameobjects/BitmapData.js line 2363 @@ -4436,7 +4436,7 @@

Source:
- src/gameobjects/BitmapData.js line 2272 + src/gameobjects/BitmapData.js line 2272 @@ -4544,7 +4544,7 @@

Source:
- src/gameobjects/BitmapData.js line 2402 + src/gameobjects/BitmapData.js line 2402 @@ -4652,7 +4652,7 @@

Source:
- src/gameobjects/BitmapData.js line 2220 + src/gameobjects/BitmapData.js line 2220 @@ -4760,7 +4760,7 @@

Source:
- src/gameobjects/BitmapData.js line 2246 + src/gameobjects/BitmapData.js line 2246 @@ -4868,7 +4868,7 @@

Source:
- src/gameobjects/BitmapData.js line 2077 + src/gameobjects/BitmapData.js line 2077 @@ -4976,7 +4976,7 @@

Source:
- src/gameobjects/BitmapData.js line 2376 + src/gameobjects/BitmapData.js line 2376 @@ -5084,7 +5084,7 @@

Source:
- src/gameobjects/BitmapData.js line 2233 + src/gameobjects/BitmapData.js line 2233 @@ -5192,7 +5192,7 @@

Source:
- src/gameobjects/BitmapData.js line 2324 + src/gameobjects/BitmapData.js line 2324 @@ -5300,7 +5300,7 @@

Source:
- src/gameobjects/BitmapData.js line 2129 + src/gameobjects/BitmapData.js line 2129 @@ -5408,7 +5408,7 @@

Source:
- src/gameobjects/BitmapData.js line 2103 + src/gameobjects/BitmapData.js line 2103 @@ -5516,7 +5516,7 @@

Source:
- src/gameobjects/BitmapData.js line 2116 + src/gameobjects/BitmapData.js line 2116 @@ -5624,7 +5624,7 @@

Source:
- src/gameobjects/BitmapData.js line 2090 + src/gameobjects/BitmapData.js line 2090 @@ -5732,7 +5732,7 @@

Source:
- src/gameobjects/BitmapData.js line 2194 + src/gameobjects/BitmapData.js line 2194 @@ -5998,7 +5998,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1929 + src/gameobjects/BitmapData.js line 1929 @@ -6296,7 +6296,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 463 + src/gameobjects/BitmapData.js line 463 @@ -6404,7 +6404,7 @@

Source:
- src/gameobjects/BitmapData.js line 457 + src/gameobjects/BitmapData.js line 457 @@ -7212,7 +7212,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1243 + src/gameobjects/BitmapData.js line 1243 @@ -7453,7 +7453,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2415 + src/gameobjects/BitmapData.js line 2415 @@ -7873,7 +7873,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1572 + src/gameobjects/BitmapData.js line 1572 @@ -8144,7 +8144,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1464 + src/gameobjects/BitmapData.js line 1464 @@ -8252,7 +8252,7 @@

Source:
- src/gameobjects/BitmapData.js line 2062 + src/gameobjects/BitmapData.js line 2062 @@ -8653,7 +8653,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1591 + src/gameobjects/BitmapData.js line 1591 @@ -8931,7 +8931,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1686 + src/gameobjects/BitmapData.js line 1686 @@ -9192,7 +9192,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1619 + src/gameobjects/BitmapData.js line 1619 @@ -9675,7 +9675,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1810 + src/gameobjects/BitmapData.js line 1810 @@ -9961,7 +9961,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 494 + src/gameobjects/BitmapData.js line 494 @@ -10209,7 +10209,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 516 + src/gameobjects/BitmapData.js line 516 @@ -10383,7 +10383,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1189 + src/gameobjects/BitmapData.js line 1189 @@ -10567,7 +10567,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1106 + src/gameobjects/BitmapData.js line 1106 @@ -10803,7 +10803,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1023 + src/gameobjects/BitmapData.js line 1023 @@ -10988,7 +10988,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1054 + src/gameobjects/BitmapData.js line 1054 @@ -11318,7 +11318,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1074 + src/gameobjects/BitmapData.js line 1074 @@ -11476,7 +11476,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1093 + src/gameobjects/BitmapData.js line 1093 @@ -11838,7 +11838,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1958 + src/gameobjects/BitmapData.js line 1958 @@ -12017,7 +12017,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 422 + src/gameobjects/BitmapData.js line 422 @@ -12268,7 +12268,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 240 + src/gameobjects/BitmapData.js line 240 @@ -12483,7 +12483,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 267 + src/gameobjects/BitmapData.js line 267 @@ -12698,7 +12698,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 330 + src/gameobjects/BitmapData.js line 330 @@ -13068,7 +13068,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 738 + src/gameobjects/BitmapData.js line 738 @@ -13441,7 +13441,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 680 + src/gameobjects/BitmapData.js line 680 @@ -13739,7 +13739,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1863 + src/gameobjects/BitmapData.js line 1863 @@ -13849,7 +13849,7 @@

Source:
- src/gameobjects/BitmapData.js line 2042 + src/gameobjects/BitmapData.js line 2042 @@ -14276,7 +14276,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 792 + src/gameobjects/BitmapData.js line 792 @@ -14458,7 +14458,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 590 + src/gameobjects/BitmapData.js line 590 @@ -14754,7 +14754,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 842 + src/gameobjects/BitmapData.js line 842 @@ -15112,7 +15112,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1005 + src/gameobjects/BitmapData.js line 1005 @@ -15506,7 +15506,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 966 + src/gameobjects/BitmapData.js line 966 @@ -15802,7 +15802,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1744 + src/gameobjects/BitmapData.js line 1744 @@ -16100,7 +16100,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 903 + src/gameobjects/BitmapData.js line 903 @@ -16468,7 +16468,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1887 + src/gameobjects/BitmapData.js line 1887 @@ -16721,7 +16721,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1992 + src/gameobjects/BitmapData.js line 1992 @@ -17022,7 +17022,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 634 + src/gameobjects/BitmapData.js line 634 @@ -17089,9 +17089,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -17108,7 +17108,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -17137,7 +17137,7 @@
Returns:
- + diff --git a/docs/Phaser.BitmapText.html b/docs/Phaser.BitmapText.html index fb9491e4b..7e99f812e 100644 --- a/docs/Phaser.BitmapText.html +++ b/docs/Phaser.BitmapText.html @@ -6,7 +6,7 @@ Phaser CE Class: BitmapText - + @@ -489,7 +489,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 54 + src/gameobjects/BitmapText.js line 54 @@ -627,7 +627,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 536 + src/gameobjects/BitmapText.js line 536 @@ -724,7 +724,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -820,7 +820,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -897,7 +897,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 92 + src/gameobjects/BitmapText.js line 92 @@ -988,7 +988,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -1075,7 +1075,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1172,7 +1172,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1275,7 +1275,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 93 + src/gameobjects/components/PhysicsBody.js line 93 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1542,7 +1542,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1716,7 +1716,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1808,7 +1808,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 98 + src/gameobjects/components/InWorld.js line 98 @@ -1894,7 +1894,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1980,7 +1980,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -2076,7 +2076,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2162,7 +2162,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2249,7 +2249,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2326,7 +2326,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 153 + src/gameobjects/BitmapText.js line 153 @@ -2413,7 +2413,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2511,7 +2511,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -2597,7 +2597,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2688,7 +2688,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2781,7 +2781,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2858,7 +2858,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 580 + src/gameobjects/BitmapText.js line 580 @@ -2935,7 +2935,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 603 + src/gameobjects/BitmapText.js line 603 @@ -3022,7 +3022,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3108,7 +3108,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3204,7 +3204,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3292,7 +3292,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3379,7 +3379,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3470,7 +3470,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3563,7 +3563,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3649,7 +3649,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 129 + src/gameobjects/components/InWorld.js line 129 @@ -3751,7 +3751,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3838,7 +3838,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -3928,7 +3928,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -4017,7 +4017,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4098,7 +4098,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 649 + src/gameobjects/BitmapText.js line 649 @@ -4185,7 +4185,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4273,7 +4273,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4361,7 +4361,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4447,7 +4447,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 106 + src/gameobjects/components/InWorld.js line 106 @@ -4534,7 +4534,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 115 + src/gameobjects/components/InWorld.js line 115 @@ -4623,7 +4623,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4712,7 +4712,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4789,7 +4789,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 75 + src/gameobjects/BitmapText.js line 75 @@ -4876,7 +4876,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4964,7 +4964,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5050,7 +5050,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5136,7 +5136,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5223,7 +5223,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -5310,7 +5310,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5397,7 +5397,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5486,7 +5486,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5575,7 +5575,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5654,7 +5654,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 682 + src/gameobjects/BitmapText.js line 682 @@ -5731,7 +5731,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 627 + src/gameobjects/BitmapText.js line 627 @@ -5808,7 +5808,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 87 + src/gameobjects/BitmapText.js line 87 @@ -5885,7 +5885,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 81 + src/gameobjects/BitmapText.js line 81 @@ -5962,7 +5962,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 558 + src/gameobjects/BitmapText.js line 558 @@ -6049,7 +6049,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -6126,7 +6126,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 69 + src/gameobjects/BitmapText.js line 69 @@ -6224,7 +6224,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -6312,7 +6312,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -6404,7 +6404,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -6495,7 +6495,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -6586,7 +6586,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -6677,7 +6677,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -6768,7 +6768,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -6854,7 +6854,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -6946,7 +6946,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -7038,7 +7038,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -7127,7 +7127,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -7264,7 +7264,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7455,7 +7455,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7798,7 +7798,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -8142,7 +8142,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8358,7 +8358,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 312 + src/gameobjects/BitmapText.js line 312 @@ -8525,7 +8525,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -8645,7 +8645,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -8890,7 +8890,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -9074,7 +9074,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -9241,7 +9241,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -9408,7 +9408,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -9525,7 +9525,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -9646,7 +9646,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -9759,7 +9759,7 @@

Source:
- src/gameobjects/BitmapText.js line 198 + src/gameobjects/BitmapText.js line 198 @@ -9848,7 +9848,7 @@

Source:
- src/gameobjects/BitmapText.js line 187 + src/gameobjects/BitmapText.js line 187 @@ -9965,7 +9965,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -10054,7 +10054,7 @@

Source:
- src/gameobjects/BitmapText.js line 478 + src/gameobjects/BitmapText.js line 478 @@ -10221,7 +10221,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -10388,7 +10388,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -10579,7 +10579,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -10818,7 +10818,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -11007,7 +11007,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -11198,7 +11198,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -11333,7 +11333,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 217 + src/gameobjects/BitmapText.js line 217 @@ -11500,7 +11500,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -11643,7 +11643,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -11856,7 +11856,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -11977,7 +11977,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -12070,7 +12070,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -12139,9 +12139,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -12158,7 +12158,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -12187,7 +12187,7 @@
Returns:
- + diff --git a/docs/Phaser.Bullet.html b/docs/Phaser.Bullet.html index cb9affcc3..68a2a1c18 100644 --- a/docs/Phaser.Bullet.html +++ b/docs/Phaser.Bullet.html @@ -6,7 +6,7 @@ Phaser CE Class: Bullet - + @@ -339,7 +339,7 @@
Parameters:
Source:
- src/plugins/weapon/Bullet.js line 20 + src/plugins/weapon/Bullet.js line 20 @@ -480,7 +480,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -576,7 +576,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -666,7 +666,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -757,7 +757,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -844,7 +844,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -941,7 +941,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1035,7 +1035,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1138,7 +1138,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 93 + src/gameobjects/components/PhysicsBody.js line 93 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1405,7 +1405,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1492,7 +1492,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1579,7 +1579,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1671,7 +1671,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 98 + src/gameobjects/components/InWorld.js line 98 @@ -1757,7 +1757,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1843,7 +1843,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1931,7 +1931,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2032,7 +2032,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2118,7 +2118,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2205,7 +2205,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2292,7 +2292,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -2378,7 +2378,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -2465,7 +2465,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2552,7 +2552,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2657,7 +2657,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2743,7 +2743,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2834,7 +2834,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2927,7 +2927,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -3018,7 +3018,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3109,7 +3109,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3196,7 +3196,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3282,7 +3282,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3376,7 +3376,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3472,7 +3472,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3560,7 +3560,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3647,7 +3647,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3738,7 +3738,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3831,7 +3831,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3917,7 +3917,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 129 + src/gameobjects/components/InWorld.js line 129 @@ -4019,7 +4019,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -4106,7 +4106,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4196,7 +4196,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -4285,7 +4285,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4379,7 +4379,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4466,7 +4466,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4554,7 +4554,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4642,7 +4642,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4728,7 +4728,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 106 + src/gameobjects/components/InWorld.js line 106 @@ -4815,7 +4815,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 115 + src/gameobjects/components/InWorld.js line 115 @@ -4904,7 +4904,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4993,7 +4993,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -5079,7 +5079,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 61 + src/gameobjects/Sprite.js line 61 @@ -5166,7 +5166,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5254,7 +5254,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5340,7 +5340,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5426,7 +5426,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5513,7 +5513,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -5600,7 +5600,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5687,7 +5687,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5781,7 +5781,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5870,7 +5870,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5958,7 +5958,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6046,7 +6046,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6140,7 +6140,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6228,7 +6228,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6314,7 +6314,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6407,7 +6407,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6500,7 +6500,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6587,7 +6587,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -6673,7 +6673,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -6759,7 +6759,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6845,7 +6845,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 55 + src/gameobjects/Sprite.js line 55 @@ -6948,7 +6948,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -7036,7 +7036,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -7128,7 +7128,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -7219,7 +7219,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -7310,7 +7310,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -7401,7 +7401,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -7492,7 +7492,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -7578,7 +7578,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -7665,7 +7665,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -7752,7 +7752,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -7841,7 +7841,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -7978,7 +7978,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -8169,7 +8169,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -8512,7 +8512,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -8856,7 +8856,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8976,7 +8976,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9143,7 +9143,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -9369,7 +9369,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9513,7 +9513,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9632,7 +9632,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -9877,7 +9877,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -10053,7 +10053,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -10220,7 +10220,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -10387,7 +10387,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -10504,7 +10504,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -10671,7 +10671,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -10785,7 +10785,7 @@

Source:
- src/plugins/weapon/Bullet.js line 41 + src/plugins/weapon/Bullet.js line 41 @@ -10874,7 +10874,7 @@

Source:
- src/plugins/weapon/Bullet.js line 60 + src/plugins/weapon/Bullet.js line 60 @@ -11135,7 +11135,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11231,7 +11231,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -11351,7 +11351,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -11534,7 +11534,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -11840,7 +11840,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -11957,7 +11957,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -12050,7 +12050,7 @@

Source:
- src/gameobjects/Sprite.js line 107 + src/gameobjects/Sprite.js line 107 @@ -12167,7 +12167,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -12310,7 +12310,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -12477,7 +12477,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -12668,7 +12668,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -12907,7 +12907,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -13024,7 +13024,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -13217,7 +13217,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13382,7 +13382,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -13502,7 +13502,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -13693,7 +13693,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -13837,7 +13837,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -13981,7 +13981,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -14242,7 +14242,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -14442,7 +14442,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -14609,7 +14609,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -14752,7 +14752,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -14965,7 +14965,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -15091,7 +15091,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -15184,7 +15184,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -15304,7 +15304,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -15467,7 +15467,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -15536,9 +15536,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -15555,7 +15555,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -15584,7 +15584,7 @@
Returns:
- + diff --git a/docs/Phaser.Button.html b/docs/Phaser.Button.html index 6a5c965c8..a2acba048 100644 --- a/docs/Phaser.Button.html +++ b/docs/Phaser.Button.html @@ -6,7 +6,7 @@ Phaser CE Class: Button - + @@ -613,7 +613,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 35 + src/gameobjects/Button.js line 35 @@ -749,7 +749,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -845,7 +845,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -935,7 +935,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -1026,7 +1026,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -1113,7 +1113,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1210,7 +1210,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1304,7 +1304,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1391,7 +1391,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1484,7 +1484,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1571,7 +1571,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1658,7 +1658,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1745,7 +1745,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1831,7 +1831,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1917,7 +1917,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -2005,7 +2005,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2101,7 +2101,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2187,7 +2187,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2274,7 +2274,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2361,7 +2361,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2461,7 +2461,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2547,7 +2547,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2638,7 +2638,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2731,7 +2731,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2812,7 +2812,7 @@
Type:
Source:
- src/gameobjects/Button.js line 199 + src/gameobjects/Button.js line 199 @@ -2908,7 +2908,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3004,7 +3004,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3081,7 +3081,7 @@
Type:
Source:
- src/gameobjects/Button.js line 189 + src/gameobjects/Button.js line 189 @@ -3168,7 +3168,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3254,7 +3254,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3350,7 +3350,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3438,7 +3438,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3525,7 +3525,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3616,7 +3616,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3714,7 +3714,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3792,7 +3792,7 @@
Type:
Source:
- src/gameobjects/Button.js line 182 + src/gameobjects/Button.js line 182 @@ -3894,7 +3894,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3981,7 +3981,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4071,7 +4071,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -4160,7 +4160,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4247,7 +4247,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4335,7 +4335,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4423,7 +4423,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4506,7 +4506,7 @@
Type:
Source:
- src/gameobjects/Button.js line 105 + src/gameobjects/Button.js line 105 @@ -4583,7 +4583,7 @@
Type:
Source:
- src/gameobjects/Button.js line 133 + src/gameobjects/Button.js line 133 @@ -4660,7 +4660,7 @@
Type:
Source:
- src/gameobjects/Button.js line 158 + src/gameobjects/Button.js line 158 @@ -4737,7 +4737,7 @@
Type:
Source:
- src/gameobjects/Button.js line 152 + src/gameobjects/Button.js line 152 @@ -4814,7 +4814,7 @@
Type:
Source:
- src/gameobjects/Button.js line 146 + src/gameobjects/Button.js line 146 @@ -4891,7 +4891,7 @@
Type:
Source:
- src/gameobjects/Button.js line 164 + src/gameobjects/Button.js line 164 @@ -4974,7 +4974,7 @@
Type:
Source:
- src/gameobjects/Button.js line 98 + src/gameobjects/Button.js line 98 @@ -5051,7 +5051,7 @@
Type:
Source:
- src/gameobjects/Button.js line 126 + src/gameobjects/Button.js line 126 @@ -5136,7 +5136,7 @@
Type:
Source:
- src/gameobjects/Button.js line 173 + src/gameobjects/Button.js line 173 @@ -5219,7 +5219,7 @@
Type:
Source:
- src/gameobjects/Button.js line 91 + src/gameobjects/Button.js line 91 @@ -5296,7 +5296,7 @@
Type:
Source:
- src/gameobjects/Button.js line 119 + src/gameobjects/Button.js line 119 @@ -5379,7 +5379,7 @@
Type:
Source:
- src/gameobjects/Button.js line 112 + src/gameobjects/Button.js line 112 @@ -5456,7 +5456,7 @@
Type:
Source:
- src/gameobjects/Button.js line 140 + src/gameobjects/Button.js line 140 @@ -5545,7 +5545,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -5634,7 +5634,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -5711,7 +5711,7 @@
Type:
Source:
- src/gameobjects/Button.js line 56 + src/gameobjects/Button.js line 56 @@ -5798,7 +5798,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5886,7 +5886,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5972,7 +5972,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -6058,7 +6058,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -6145,7 +6145,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -6232,7 +6232,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -6319,7 +6319,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -6408,7 +6408,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -6497,7 +6497,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6585,7 +6585,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6673,7 +6673,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6767,7 +6767,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6855,7 +6855,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6941,7 +6941,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -7034,7 +7034,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -7127,7 +7127,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -7214,7 +7214,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -7300,7 +7300,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -7386,7 +7386,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -7468,7 +7468,7 @@
Type:
Source:
- src/gameobjects/Button.js line 50 + src/gameobjects/Button.js line 50 @@ -7566,7 +7566,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -7654,7 +7654,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -7746,7 +7746,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -7837,7 +7837,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -7928,7 +7928,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -8019,7 +8019,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -8110,7 +8110,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -8196,7 +8196,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -8283,7 +8283,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -8370,7 +8370,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -8459,7 +8459,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -8596,7 +8596,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -8787,7 +8787,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -9130,7 +9130,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -9474,7 +9474,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -9594,7 +9594,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9702,7 +9702,7 @@

Source:
- src/gameobjects/Button.js line 231 + src/gameobjects/Button.js line 231 @@ -9845,7 +9845,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -10071,7 +10071,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -10166,7 +10166,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -10411,7 +10411,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -10587,7 +10587,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -10754,7 +10754,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -10921,7 +10921,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -11038,7 +11038,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -11159,7 +11159,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -11444,7 +11444,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11540,7 +11540,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -11660,7 +11660,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -11842,7 +11842,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 517 + src/gameobjects/Button.js line 517 @@ -12000,7 +12000,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 497 + src/gameobjects/Button.js line 497 @@ -12158,7 +12158,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 464 + src/gameobjects/Button.js line 464 @@ -12316,7 +12316,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 537 + src/gameobjects/Button.js line 537 @@ -12475,7 +12475,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -12781,7 +12781,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12898,7 +12898,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -12991,7 +12991,7 @@

Source:
- src/gameobjects/Image.js line 81 + src/gameobjects/Image.js line 81 @@ -13084,7 +13084,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -13227,7 +13227,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -13394,7 +13394,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -13585,7 +13585,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -13824,7 +13824,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -13941,7 +13941,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -14134,7 +14134,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -14299,7 +14299,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -14419,7 +14419,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -14610,7 +14610,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -14791,7 +14791,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 436 + src/gameobjects/Button.js line 436 @@ -14935,7 +14935,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -15196,7 +15196,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 306 + src/gameobjects/Button.js line 306 @@ -15377,7 +15377,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 422 + src/gameobjects/Button.js line 422 @@ -15558,7 +15558,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 408 + src/gameobjects/Button.js line 408 @@ -15795,7 +15795,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -16193,7 +16193,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 382 + src/gameobjects/Button.js line 382 @@ -16393,7 +16393,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -16574,7 +16574,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 450 + src/gameobjects/Button.js line 450 @@ -16741,7 +16741,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -16884,7 +16884,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -17097,7 +17097,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -17218,7 +17218,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -17311,7 +17311,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -17431,7 +17431,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -17594,7 +17594,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -17663,9 +17663,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -17682,7 +17682,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -17711,7 +17711,7 @@
Returns:
- + diff --git a/docs/Phaser.Cache.html b/docs/Phaser.Cache.html index e02d6df36..6438a3e4c 100644 --- a/docs/Phaser.Cache.html +++ b/docs/Phaser.Cache.html @@ -6,7 +6,7 @@ Phaser CE Class: Cache - + @@ -245,7 +245,7 @@
Parameters:
Source:
- src/loader/Cache.js line 34 + src/loader/Cache.js line 34 @@ -346,7 +346,7 @@
Type:
Source:
- src/loader/Cache.js line 179 + src/loader/Cache.js line 179 @@ -419,7 +419,7 @@
Type:
Source:
- src/loader/Cache.js line 185 + src/loader/Cache.js line 185 @@ -492,7 +492,7 @@
Type:
Source:
- src/loader/Cache.js line 191 + src/loader/Cache.js line 191 @@ -565,7 +565,7 @@
Type:
Source:
- src/loader/Cache.js line 137 + src/loader/Cache.js line 137 @@ -642,7 +642,7 @@
Type:
Source:
- src/loader/Cache.js line 228 + src/loader/Cache.js line 228 @@ -719,7 +719,7 @@
Type:
Source:
- src/loader/Cache.js line 235 + src/loader/Cache.js line 235 @@ -796,7 +796,7 @@
Type:
Source:
- src/loader/Cache.js line 242 + src/loader/Cache.js line 242 @@ -869,7 +869,7 @@
Type:
Source:
- src/loader/Cache.js line 143 + src/loader/Cache.js line 143 @@ -942,7 +942,7 @@
Type:
Source:
- src/loader/Cache.js line 197 + src/loader/Cache.js line 197 @@ -1019,7 +1019,7 @@
Type:
Source:
- src/loader/Cache.js line 249 + src/loader/Cache.js line 249 @@ -1096,7 +1096,7 @@
Type:
Source:
- src/loader/Cache.js line 256 + src/loader/Cache.js line 256 @@ -1173,7 +1173,7 @@
Type:
Source:
- src/loader/Cache.js line 263 + src/loader/Cache.js line 263 @@ -1246,7 +1246,7 @@
Type:
Source:
- src/loader/Cache.js line 167 + src/loader/Cache.js line 167 @@ -1330,7 +1330,7 @@
Type:
Source:
- src/loader/Cache.js line 271 + src/loader/Cache.js line 271 @@ -1403,7 +1403,7 @@
Type:
Source:
- src/loader/Cache.js line 221 + src/loader/Cache.js line 221 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/loader/Cache.js line 215 + src/loader/Cache.js line 215 @@ -1549,7 +1549,7 @@
Type:
Source:
- src/loader/Cache.js line 155 + src/loader/Cache.js line 155 @@ -1622,7 +1622,7 @@
Type:
Source:
- src/loader/Cache.js line 161 + src/loader/Cache.js line 161 @@ -1695,7 +1695,7 @@
Type:
Source:
- src/loader/Cache.js line 149 + src/loader/Cache.js line 149 @@ -1768,7 +1768,7 @@
Type:
Source:
- src/loader/Cache.js line 173 + src/loader/Cache.js line 173 @@ -1841,7 +1841,7 @@
Type:
Source:
- src/loader/Cache.js line 209 + src/loader/Cache.js line 209 @@ -1914,7 +1914,7 @@
Type:
Source:
- src/loader/Cache.js line 203 + src/loader/Cache.js line 203 @@ -1991,7 +1991,7 @@
Type:
Source:
- src/loader/Cache.js line 45 + src/loader/Cache.js line 45 @@ -2068,7 +2068,7 @@
Type:
Source:
- src/loader/Cache.js line 39 + src/loader/Cache.js line 39 @@ -2145,7 +2145,7 @@
Type:
Source:
- src/loader/Cache.js line 127 + src/loader/Cache.js line 127 @@ -2222,7 +2222,7 @@
Type:
Source:
- src/loader/Cache.js line 92 + src/loader/Cache.js line 92 @@ -2374,7 +2374,7 @@
Parameters:
Source:
- src/loader/Cache.js line 532 + src/loader/Cache.js line 532 @@ -2603,7 +2603,7 @@
Parameters:
Source:
- src/loader/Cache.js line 545 + src/loader/Cache.js line 545 @@ -3005,7 +3005,7 @@
Parameters:
Source:
- src/loader/Cache.js line 570 + src/loader/Cache.js line 570 @@ -3388,7 +3388,7 @@
Parameters:
Source:
- src/loader/Cache.js line 609 + src/loader/Cache.js line 609 @@ -3598,7 +3598,7 @@
Parameters:
Source:
- src/loader/Cache.js line 319 + src/loader/Cache.js line 319 @@ -3685,7 +3685,7 @@

Source:
- src/loader/Cache.js line 407 + src/loader/Cache.js line 407 @@ -3869,7 +3869,7 @@
Parameters:
Source:
- src/loader/Cache.js line 335 + src/loader/Cache.js line 335 @@ -4075,7 +4075,7 @@
Parameters:
Source:
- src/loader/Cache.js line 664 + src/loader/Cache.js line 664 @@ -4162,7 +4162,7 @@

Source:
- src/loader/Cache.js line 428 + src/loader/Cache.js line 428 @@ -4368,7 +4368,7 @@
Parameters:
Source:
- src/loader/Cache.js line 498 + src/loader/Cache.js line 498 @@ -4526,7 +4526,7 @@
Parameters:
Source:
- src/loader/Cache.js line 729 + src/loader/Cache.js line 729 @@ -4708,7 +4708,7 @@
Parameters:
Source:
- src/loader/Cache.js line 713 + src/loader/Cache.js line 713 @@ -4938,7 +4938,7 @@
Parameters:
Source:
- src/loader/Cache.js line 446 + src/loader/Cache.js line 446 @@ -5392,7 +5392,7 @@
Parameters:
Source:
- src/loader/Cache.js line 742 + src/loader/Cache.js line 742 @@ -5574,7 +5574,7 @@
Parameters:
Source:
- src/loader/Cache.js line 482 + src/loader/Cache.js line 482 @@ -5804,7 +5804,7 @@
Parameters:
Source:
- src/loader/Cache.js line 780 + src/loader/Cache.js line 780 @@ -6010,7 +6010,7 @@
Parameters:
Source:
- src/loader/Cache.js line 515 + src/loader/Cache.js line 515 @@ -6216,7 +6216,7 @@
Parameters:
Source:
- src/loader/Cache.js line 696 + src/loader/Cache.js line 696 @@ -6398,7 +6398,7 @@
Parameters:
Source:
- src/loader/Cache.js line 680 + src/loader/Cache.js line 680 @@ -6532,7 +6532,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1079 + src/loader/Cache.js line 1079 @@ -6690,7 +6690,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1092 + src/loader/Cache.js line 1092 @@ -6848,7 +6848,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1105 + src/loader/Cache.js line 1105 @@ -7006,7 +7006,7 @@
Parameters:
Source:
- src/loader/Cache.js line 988 + src/loader/Cache.js line 988 @@ -7164,7 +7164,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1001 + src/loader/Cache.js line 1001 @@ -7322,7 +7322,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1118 + src/loader/Cache.js line 1118 @@ -7504,7 +7504,7 @@
Parameters:
Source:
- src/loader/Cache.js line 948 + src/loader/Cache.js line 948 @@ -7662,7 +7662,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1053 + src/loader/Cache.js line 1053 @@ -7820,7 +7820,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1170 + src/loader/Cache.js line 1170 @@ -7978,7 +7978,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1157 + src/loader/Cache.js line 1157 @@ -8136,7 +8136,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1027 + src/loader/Cache.js line 1027 @@ -8294,7 +8294,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1040 + src/loader/Cache.js line 1040 @@ -8452,7 +8452,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1014 + src/loader/Cache.js line 1014 @@ -8610,7 +8610,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1066 + src/loader/Cache.js line 1066 @@ -8771,7 +8771,7 @@
Parameters:
Source:
- src/loader/Cache.js line 967 + src/loader/Cache.js line 967 @@ -8929,7 +8929,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1144 + src/loader/Cache.js line 1144 @@ -9087,7 +9087,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1131 + src/loader/Cache.js line 1131 @@ -9196,7 +9196,7 @@

Source:
- src/loader/Cache.js line 2061 + src/loader/Cache.js line 2061 @@ -9354,7 +9354,7 @@
Parameters:
Source:
- src/loader/Cache.js line 890 + src/loader/Cache.js line 890 @@ -9441,7 +9441,7 @@

Source:
- src/loader/Cache.js line 2111 + src/loader/Cache.js line 2111 @@ -9571,7 +9571,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2142 + src/loader/Cache.js line 2142 @@ -9761,7 +9761,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1590 + src/loader/Cache.js line 1590 @@ -9921,7 +9921,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1430 + src/loader/Cache.js line 1430 @@ -10081,7 +10081,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1447 + src/loader/Cache.js line 1447 @@ -10241,7 +10241,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1464 + src/loader/Cache.js line 1464 @@ -10401,7 +10401,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1225 + src/loader/Cache.js line 1225 @@ -10615,7 +10615,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1606 + src/loader/Cache.js line 1606 @@ -10865,7 +10865,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1700 + src/loader/Cache.js line 1700 @@ -11115,7 +11115,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1724 + src/loader/Cache.js line 1724 @@ -11329,7 +11329,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1622 + src/loader/Cache.js line 1622 @@ -11545,7 +11545,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1645 + src/loader/Cache.js line 1645 @@ -11765,7 +11765,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1242 + src/loader/Cache.js line 1242 @@ -12035,7 +12035,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1187 + src/loader/Cache.js line 1187 @@ -12253,7 +12253,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1481 + src/loader/Cache.js line 1481 @@ -12431,7 +12431,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1773 + src/loader/Cache.js line 1773 @@ -12684,7 +12684,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1351 + src/loader/Cache.js line 1351 @@ -12844,7 +12844,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1569 + src/loader/Cache.js line 1569 @@ -13004,7 +13004,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1552 + src/loader/Cache.js line 1552 @@ -13164,7 +13164,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1300 + src/loader/Cache.js line 1300 @@ -13324,7 +13324,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1317 + src/loader/Cache.js line 1317 @@ -13484,7 +13484,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1334 + src/loader/Cache.js line 1334 @@ -13643,7 +13643,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1285 + src/loader/Cache.js line 1285 @@ -13803,7 +13803,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1413 + src/loader/Cache.js line 1413 @@ -13963,7 +13963,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1748 + src/loader/Cache.js line 1748 @@ -14123,7 +14123,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1535 + src/loader/Cache.js line 1535 @@ -14283,7 +14283,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1518 + src/loader/Cache.js line 1518 @@ -14497,7 +14497,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1665 + src/loader/Cache.js line 1665 @@ -14655,7 +14655,7 @@
Parameters:
Source:
- src/loader/Cache.js line 907 + src/loader/Cache.js line 907 @@ -14814,7 +14814,7 @@
Parameters:
Source:
- src/loader/Cache.js line 925 + src/loader/Cache.js line 925 @@ -14972,7 +14972,7 @@
Parameters:
Source:
- src/loader/Cache.js line 830 + src/loader/Cache.js line 830 @@ -15106,7 +15106,7 @@
Parameters:
Source:
- src/loader/Cache.js line 855 + src/loader/Cache.js line 855 @@ -15242,7 +15242,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1911 + src/loader/Cache.js line 1911 @@ -15378,7 +15378,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1926 + src/loader/Cache.js line 1926 @@ -15514,7 +15514,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1941 + src/loader/Cache.js line 1941 @@ -15650,7 +15650,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1805 + src/loader/Cache.js line 1805 @@ -15843,7 +15843,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1820 + src/loader/Cache.js line 1820 @@ -15979,7 +15979,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1956 + src/loader/Cache.js line 1956 @@ -16115,7 +16115,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1881 + src/loader/Cache.js line 1881 @@ -16251,7 +16251,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2016 + src/loader/Cache.js line 2016 @@ -16387,7 +16387,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2001 + src/loader/Cache.js line 2001 @@ -16526,7 +16526,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1847 + src/loader/Cache.js line 1847 @@ -16662,7 +16662,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2031 + src/loader/Cache.js line 2031 @@ -16798,7 +16798,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1866 + src/loader/Cache.js line 1866 @@ -16934,7 +16934,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2046 + src/loader/Cache.js line 2046 @@ -17070,7 +17070,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1896 + src/loader/Cache.js line 1896 @@ -17206,7 +17206,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1986 + src/loader/Cache.js line 1986 @@ -17342,7 +17342,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1971 + src/loader/Cache.js line 1971 @@ -17568,7 +17568,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1681 + src/loader/Cache.js line 1681 @@ -17702,7 +17702,7 @@
Parameters:
Source:
- src/loader/Cache.js line 873 + src/loader/Cache.js line 873 @@ -17745,9 +17745,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -17764,7 +17764,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -17793,7 +17793,7 @@
Parameters:
- + diff --git a/docs/Phaser.Camera.html b/docs/Phaser.Camera.html index 15f711200..c3d888262 100644 --- a/docs/Phaser.Camera.html +++ b/docs/Phaser.Camera.html @@ -6,7 +6,7 @@ Phaser CE Class: Camera - + @@ -351,7 +351,7 @@
Parameters:
Source:
- src/core/Camera.js line 20 + src/core/Camera.js line 20 @@ -452,7 +452,7 @@
Type:
Source:
- src/core/Camera.js line 245 + src/core/Camera.js line 245 @@ -529,7 +529,7 @@
Type:
Source:
- src/core/Camera.js line 197 + src/core/Camera.js line 197 @@ -606,7 +606,7 @@
Type:
Source:
- src/core/Camera.js line 205 + src/core/Camera.js line 205 @@ -683,7 +683,7 @@
Type:
Source:
- src/core/Camera.js line 213 + src/core/Camera.js line 213 @@ -760,7 +760,7 @@
Type:
Source:
- src/core/Camera.js line 221 + src/core/Camera.js line 221 @@ -833,7 +833,7 @@
Type:
Source:
- src/core/Camera.js line 227 + src/core/Camera.js line 227 @@ -906,7 +906,7 @@
Type:
Source:
- src/core/Camera.js line 233 + src/core/Camera.js line 233 @@ -979,7 +979,7 @@
Type:
Source:
- src/core/Camera.js line 239 + src/core/Camera.js line 239 @@ -1056,7 +1056,7 @@
Type:
Source:
- src/core/Camera.js line 76 + src/core/Camera.js line 76 @@ -1135,7 +1135,7 @@
Type:
Source:
- src/core/Camera.js line 54 + src/core/Camera.js line 54 @@ -1212,7 +1212,7 @@
Type:
Source:
- src/core/Camera.js line 59 + src/core/Camera.js line 59 @@ -1289,7 +1289,7 @@
Type:
Source:
- src/core/Camera.js line 87 + src/core/Camera.js line 87 @@ -1366,7 +1366,7 @@
Type:
Source:
- src/core/Camera.js line 962 + src/core/Camera.js line 962 @@ -1443,7 +1443,7 @@
Type:
Source:
- src/core/Camera.js line 135 + src/core/Camera.js line 135 @@ -1520,7 +1520,7 @@
Type:
Source:
- src/core/Camera.js line 25 + src/core/Camera.js line 25 @@ -1597,7 +1597,7 @@
Type:
Source:
- src/core/Camera.js line 918 + src/core/Camera.js line 918 @@ -1674,7 +1674,7 @@
Type:
Source:
- src/core/Camera.js line 36 + src/core/Camera.js line 36 @@ -1755,7 +1755,7 @@
Type:
Source:
- src/core/Camera.js line 109 + src/core/Camera.js line 109 @@ -1835,7 +1835,7 @@
Type:
Source:
- src/core/Camera.js line 128 + src/core/Camera.js line 128 @@ -1912,7 +1912,7 @@
Type:
Source:
- src/core/Camera.js line 119 + src/core/Camera.js line 119 @@ -1989,7 +1989,7 @@
Type:
Source:
- src/core/Camera.js line 114 + src/core/Camera.js line 114 @@ -2066,7 +2066,7 @@
Type:
Source:
- src/core/Camera.js line 869 + src/core/Camera.js line 869 @@ -2150,7 +2150,7 @@
Type:
Source:
- src/core/Camera.js line 71 + src/core/Camera.js line 71 @@ -2227,7 +2227,7 @@
Type:
Source:
- src/core/Camera.js line 92 + src/core/Camera.js line 92 @@ -2304,7 +2304,7 @@
Type:
Source:
- src/core/Camera.js line 940 + src/core/Camera.js line 940 @@ -2381,7 +2381,7 @@
Type:
Source:
- src/core/Camera.js line 82 + src/core/Camera.js line 82 @@ -2458,7 +2458,7 @@
Type:
Source:
- src/core/Camera.js line 98 + src/core/Camera.js line 98 @@ -2538,7 +2538,7 @@
Type:
Source:
- src/core/Camera.js line 45 + src/core/Camera.js line 45 @@ -2622,7 +2622,7 @@
Type:
Source:
- src/core/Camera.js line 65 + src/core/Camera.js line 65 @@ -2699,7 +2699,7 @@
Type:
Source:
- src/core/Camera.js line 897 + src/core/Camera.js line 897 @@ -2776,7 +2776,7 @@
Type:
Source:
- src/core/Camera.js line 30 + src/core/Camera.js line 30 @@ -2853,7 +2853,7 @@
Type:
Source:
- src/core/Camera.js line 819 + src/core/Camera.js line 819 @@ -2930,7 +2930,7 @@
Type:
Source:
- src/core/Camera.js line 844 + src/core/Camera.js line 844 @@ -3009,7 +3009,7 @@

Source:
- src/core/Camera.js line 675 + src/core/Camera.js line 675 @@ -3290,7 +3290,7 @@
Parameters:
Source:
- src/core/Camera.js line 457 + src/core/Camera.js line 457 @@ -3591,7 +3591,7 @@
Parameters:
Source:
- src/core/Camera.js line 415 + src/core/Camera.js line 415 @@ -3749,7 +3749,7 @@
Parameters:
Source:
- src/core/Camera.js line 349 + src/core/Camera.js line 349 @@ -3907,7 +3907,7 @@
Parameters:
Source:
- src/core/Camera.js line 360 + src/core/Camera.js line 360 @@ -4185,7 +4185,7 @@
Parameters:
Source:
- src/core/Camera.js line 283 + src/core/Camera.js line 283 @@ -4269,7 +4269,7 @@

Source:
- src/core/Camera.js line 272 + src/core/Camera.js line 272 @@ -4355,7 +4355,7 @@

Source:
- src/core/Camera.js line 775 + src/core/Camera.js line 775 @@ -4440,7 +4440,7 @@

Source:
- src/core/Camera.js line 797 + src/core/Camera.js line 797 @@ -4524,7 +4524,7 @@

Source:
- src/core/Camera.js line 661 + src/core/Camera.js line 661 @@ -4683,7 +4683,7 @@
Parameters:
Source:
- src/core/Camera.js line 741 + src/core/Camera.js line 741 @@ -4841,7 +4841,7 @@
Parameters:
Source:
- src/core/Camera.js line 761 + src/core/Camera.js line 761 @@ -5158,7 +5158,7 @@
Parameters:
Source:
- src/core/Camera.js line 372 + src/core/Camera.js line 372 @@ -5266,7 +5266,7 @@

Source:
- src/core/Camera.js line 338 + src/core/Camera.js line 338 @@ -5350,7 +5350,7 @@

Source:
- src/core/Camera.js line 504 + src/core/Camera.js line 504 @@ -5393,9 +5393,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -5412,7 +5412,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -5441,7 +5441,7 @@

- + diff --git a/docs/Phaser.Canvas.html b/docs/Phaser.Canvas.html index 1d19f45e3..eb79419fe 100644 --- a/docs/Phaser.Canvas.html +++ b/docs/Phaser.Canvas.html @@ -6,7 +6,7 @@ Phaser CE Class: Canvas - + @@ -181,7 +181,7 @@

Source:
- src/utils/Canvas.js line 14 + src/utils/Canvas.js line 14 @@ -429,7 +429,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 109 + src/utils/Canvas.js line 109 @@ -763,7 +763,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 16 + src/utils/Canvas.js line 16 @@ -921,7 +921,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 242 + src/utils/Canvas.js line 242 @@ -1079,7 +1079,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 217 + src/utils/Canvas.js line 217 @@ -1240,7 +1240,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 156 + src/utils/Canvas.js line 156 @@ -1430,7 +1430,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 47 + src/utils/Canvas.js line 47 @@ -1589,7 +1589,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 283 + src/utils/Canvas.js line 283 @@ -1748,7 +1748,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 260 + src/utils/Canvas.js line 260 @@ -1934,7 +1934,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 192 + src/utils/Canvas.js line 192 @@ -2136,7 +2136,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 65 + src/utils/Canvas.js line 65 @@ -2438,7 +2438,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 171 + src/utils/Canvas.js line 171 @@ -2640,7 +2640,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 85 + src/utils/Canvas.js line 85 @@ -2707,9 +2707,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2726,7 +2726,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2755,7 +2755,7 @@
Returns:
- + diff --git a/docs/Phaser.CanvasPool.html b/docs/Phaser.CanvasPool.html index 9edefd4dd..89f91fd34 100644 --- a/docs/Phaser.CanvasPool.html +++ b/docs/Phaser.CanvasPool.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasPool - + @@ -180,7 +180,7 @@

Source:
- src/utils/CanvasPool.js line 13 + src/utils/CanvasPool.js line 13 @@ -285,7 +285,7 @@
Type:
Source:
- src/utils/CanvasPool.js line 199 + src/utils/CanvasPool.js line 199 @@ -461,7 +461,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 15 + src/utils/CanvasPool.js line 15 @@ -569,7 +569,7 @@

Source:
- src/utils/CanvasPool.js line 58 + src/utils/CanvasPool.js line 58 @@ -673,7 +673,7 @@

Source:
- src/utils/CanvasPool.js line 153 + src/utils/CanvasPool.js line 153 @@ -781,7 +781,7 @@

Source:
- src/utils/CanvasPool.js line 129 + src/utils/CanvasPool.js line 129 @@ -889,7 +889,7 @@

Source:
- src/utils/CanvasPool.js line 178 + src/utils/CanvasPool.js line 178 @@ -1024,7 +1024,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 81 + src/utils/CanvasPool.js line 81 @@ -1159,7 +1159,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 105 + src/utils/CanvasPool.js line 105 @@ -1202,9 +1202,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1221,7 +1221,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1250,7 +1250,7 @@
Parameters:
- + diff --git a/docs/Phaser.Circle.html b/docs/Phaser.Circle.html index 3ba3e071e..933de060f 100644 --- a/docs/Phaser.Circle.html +++ b/docs/Phaser.Circle.html @@ -6,7 +6,7 @@ Phaser CE Class: Circle - + @@ -331,7 +331,7 @@
Parameters:
Source:
- src/geom/Circle.js line 17 + src/geom/Circle.js line 17 @@ -436,7 +436,7 @@
Type:
Source:
- src/geom/Circle.js line 451 + src/geom/Circle.js line 451 @@ -513,7 +513,7 @@
Type:
Source:
- src/geom/Circle.js line 424 + src/geom/Circle.js line 424 @@ -590,7 +590,7 @@
Type:
Source:
- src/geom/Circle.js line 297 + src/geom/Circle.js line 297 @@ -668,7 +668,7 @@
Type:
Source:
- src/geom/Circle.js line 474 + src/geom/Circle.js line 474 @@ -734,7 +734,7 @@

Source:
- src/geom/Circle.js line 343 + src/geom/Circle.js line 343 @@ -811,7 +811,7 @@
Type:
Source:
- src/geom/Circle.js line 320 + src/geom/Circle.js line 320 @@ -888,7 +888,7 @@
Type:
Source:
- src/geom/Circle.js line 370 + src/geom/Circle.js line 370 @@ -965,7 +965,7 @@
Type:
Source:
- src/geom/Circle.js line 397 + src/geom/Circle.js line 397 @@ -1042,7 +1042,7 @@
Type:
Source:
- src/geom/Circle.js line 54 + src/geom/Circle.js line 54 @@ -1119,7 +1119,7 @@
Type:
Source:
- src/geom/Circle.js line 26 + src/geom/Circle.js line 26 @@ -1196,7 +1196,7 @@
Type:
Source:
- src/geom/Circle.js line 31 + src/geom/Circle.js line 31 @@ -1454,7 +1454,7 @@
Parameters:
Source:
- src/geom/Circle.js line 549 + src/geom/Circle.js line 549 @@ -1660,7 +1660,7 @@
Parameters:
Source:
- src/geom/Circle.js line 497 + src/geom/Circle.js line 497 @@ -1842,7 +1842,7 @@
Parameters:
Source:
- src/geom/Circle.js line 522 + src/geom/Circle.js line 522 @@ -2025,7 +2025,7 @@
Parameters:
Source:
- src/geom/Circle.js line 535 + src/geom/Circle.js line 535 @@ -2259,7 +2259,7 @@
Parameters:
Source:
- src/geom/Circle.js line 615 + src/geom/Circle.js line 615 @@ -2441,7 +2441,7 @@
Parameters:
Source:
- src/geom/Circle.js line 575 + src/geom/Circle.js line 575 @@ -2549,7 +2549,7 @@

Source:
- src/geom/Circle.js line 60 + src/geom/Circle.js line 60 @@ -2801,7 +2801,7 @@
Parameters:
Source:
- src/geom/Circle.js line 205 + src/geom/Circle.js line 205 @@ -2959,7 +2959,7 @@
Parameters:
Source:
- src/geom/Circle.js line 171 + src/geom/Circle.js line 171 @@ -3141,7 +3141,7 @@
Parameters:
Source:
- src/geom/Circle.js line 192 + src/geom/Circle.js line 192 @@ -3299,7 +3299,7 @@
Parameters:
Source:
- src/geom/Circle.js line 128 + src/geom/Circle.js line 128 @@ -3457,7 +3457,7 @@
Parameters:
Source:
- src/geom/Circle.js line 140 + src/geom/Circle.js line 140 @@ -3672,7 +3672,7 @@
Parameters:
Source:
- src/geom/Circle.js line 156 + src/geom/Circle.js line 156 @@ -3780,7 +3780,7 @@

Source:
- src/geom/Circle.js line 97 + src/geom/Circle.js line 97 @@ -3962,7 +3962,7 @@
Parameters:
Source:
- src/geom/Circle.js line 258 + src/geom/Circle.js line 258 @@ -4120,7 +4120,7 @@
Parameters:
Source:
- src/geom/Circle.js line 274 + src/geom/Circle.js line 274 @@ -4294,7 +4294,7 @@
Parameters:
Source:
- src/geom/Circle.js line 72 + src/geom/Circle.js line 72 @@ -4632,7 +4632,7 @@
Parameters:
Source:
- src/geom/Circle.js line 234 + src/geom/Circle.js line 234 @@ -4840,7 +4840,7 @@
Parameters:
Source:
- src/geom/Circle.js line 109 + src/geom/Circle.js line 109 @@ -4948,7 +4948,7 @@

Source:
- src/geom/Circle.js line 284 + src/geom/Circle.js line 284 @@ -5015,9 +5015,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -5034,7 +5034,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -5063,7 +5063,7 @@
Returns:
- + diff --git a/docs/Phaser.Color.html b/docs/Phaser.Color.html index 87c7d6d45..1af3d38d1 100644 --- a/docs/Phaser.Color.html +++ b/docs/Phaser.Color.html @@ -6,7 +6,7 @@ Phaser CE Class: Color - + @@ -180,7 +180,7 @@

Source:
- src/utils/Color.js line 12 + src/utils/Color.js line 12 @@ -356,7 +356,7 @@
Parameters:
Source:
- src/utils/Color.js line 1174 + src/utils/Color.js line 1174 @@ -538,7 +538,7 @@
Parameters:
Source:
- src/utils/Color.js line 1161 + src/utils/Color.js line 1161 @@ -721,7 +721,7 @@
Parameters:
Source:
- src/utils/Color.js line 1333 + src/utils/Color.js line 1333 @@ -904,7 +904,7 @@
Parameters:
Source:
- src/utils/Color.js line 1319 + src/utils/Color.js line 1319 @@ -1086,7 +1086,7 @@
Parameters:
Source:
- src/utils/Color.js line 1132 + src/utils/Color.js line 1132 @@ -1269,7 +1269,7 @@
Parameters:
Source:
- src/utils/Color.js line 1200 + src/utils/Color.js line 1200 @@ -1452,7 +1452,7 @@
Parameters:
Source:
- src/utils/Color.js line 1243 + src/utils/Color.js line 1243 @@ -1634,7 +1634,7 @@
Parameters:
Source:
- src/utils/Color.js line 1447 + src/utils/Color.js line 1447 @@ -1823,7 +1823,7 @@
Parameters:
Source:
- src/utils/Color.js line 1295 + src/utils/Color.js line 1295 @@ -2008,7 +2008,7 @@
Parameters:
Source:
- src/utils/Color.js line 1418 + src/utils/Color.js line 1418 @@ -2190,7 +2190,7 @@
Parameters:
Source:
- src/utils/Color.js line 1119 + src/utils/Color.js line 1119 @@ -2372,7 +2372,7 @@
Parameters:
Source:
- src/utils/Color.js line 1360 + src/utils/Color.js line 1360 @@ -2554,7 +2554,7 @@
Parameters:
Source:
- src/utils/Color.js line 1347 + src/utils/Color.js line 1347 @@ -2738,7 +2738,7 @@
Parameters:
Source:
- src/utils/Color.js line 1373 + src/utils/Color.js line 1373 @@ -2923,7 +2923,7 @@
Parameters:
Source:
- src/utils/Color.js line 1145 + src/utils/Color.js line 1145 @@ -3105,7 +3105,7 @@
Parameters:
Source:
- src/utils/Color.js line 1215 + src/utils/Color.js line 1215 @@ -3287,7 +3287,7 @@
Parameters:
Source:
- src/utils/Color.js line 1106 + src/utils/Color.js line 1106 @@ -3471,7 +3471,7 @@
Parameters:
Source:
- src/utils/Color.js line 1257 + src/utils/Color.js line 1257 @@ -3653,7 +3653,7 @@
Parameters:
Source:
- src/utils/Color.js line 1460 + src/utils/Color.js line 1460 @@ -3836,7 +3836,7 @@
Parameters:
Source:
- src/utils/Color.js line 1404 + src/utils/Color.js line 1404 @@ -4018,7 +4018,7 @@
Parameters:
Source:
- src/utils/Color.js line 1434 + src/utils/Color.js line 1434 @@ -4202,7 +4202,7 @@
Parameters:
Source:
- src/utils/Color.js line 1228 + src/utils/Color.js line 1228 @@ -4391,7 +4391,7 @@
Parameters:
Source:
- src/utils/Color.js line 1272 + src/utils/Color.js line 1272 @@ -4573,7 +4573,7 @@
Parameters:
Source:
- src/utils/Color.js line 1187 + src/utils/Color.js line 1187 @@ -4758,7 +4758,7 @@
Parameters:
Source:
- src/utils/Color.js line 1388 + src/utils/Color.js line 1388 @@ -4916,7 +4916,7 @@
Parameters:
Source:
- src/utils/Color.js line 726 + src/utils/Color.js line 726 @@ -5383,7 +5383,7 @@
Parameters:
Source:
- src/utils/Color.js line 470 + src/utils/Color.js line 470 @@ -5593,7 +5593,7 @@
Parameters:
Source:
- src/utils/Color.js line 97 + src/utils/Color.js line 97 @@ -5751,7 +5751,7 @@
Parameters:
Source:
- src/utils/Color.js line 1046 + src/utils/Color.js line 1046 @@ -5909,7 +5909,7 @@
Parameters:
Source:
- src/utils/Color.js line 1058 + src/utils/Color.js line 1058 @@ -6067,7 +6067,7 @@
Parameters:
Source:
- src/utils/Color.js line 1094 + src/utils/Color.js line 1094 @@ -6273,7 +6273,7 @@
Parameters:
Source:
- src/utils/Color.js line 532 + src/utils/Color.js line 532 @@ -6503,7 +6503,7 @@
Parameters:
Source:
- src/utils/Color.js line 515 + src/utils/Color.js line 515 @@ -6661,7 +6661,7 @@
Parameters:
Source:
- src/utils/Color.js line 1082 + src/utils/Color.js line 1082 @@ -6921,7 +6921,7 @@
Parameters:
Source:
- src/utils/Color.js line 950 + src/utils/Color.js line 950 @@ -7079,7 +7079,7 @@
Parameters:
Source:
- src/utils/Color.js line 1070 + src/utils/Color.js line 1070 @@ -7238,7 +7238,7 @@
Parameters:
Source:
- src/utils/Color.js line 982 + src/utils/Color.js line 982 @@ -7399,7 +7399,7 @@
Parameters:
Source:
- src/utils/Color.js line 1024 + src/utils/Color.js line 1024 @@ -7603,7 +7603,7 @@
Parameters:
Source:
- src/utils/Color.js line 596 + src/utils/Color.js line 596 @@ -7761,7 +7761,7 @@
Parameters:
Source:
- src/utils/Color.js line 577 + src/utils/Color.js line 577 @@ -7919,7 +7919,7 @@
Parameters:
Source:
- src/utils/Color.js line 161 + src/utils/Color.js line 161 @@ -8137,7 +8137,7 @@
Parameters:
Source:
- src/utils/Color.js line 767 + src/utils/Color.js line 767 @@ -8406,7 +8406,7 @@
Parameters:
Source:
- src/utils/Color.js line 252 + src/utils/Color.js line 252 @@ -8624,7 +8624,7 @@
Parameters:
Source:
- src/utils/Color.js line 742 + src/utils/Color.js line 742 @@ -8893,7 +8893,7 @@
Parameters:
Source:
- src/utils/Color.js line 359 + src/utils/Color.js line 359 @@ -9100,7 +9100,7 @@
Parameters:
Source:
- src/utils/Color.js line 428 + src/utils/Color.js line 428 @@ -9460,7 +9460,7 @@
Parameters:
Source:
- src/utils/Color.js line 792 + src/utils/Color.js line 792 @@ -9738,7 +9738,7 @@
Parameters:
Source:
- src/utils/Color.js line 860 + src/utils/Color.js line 860 @@ -10064,7 +10064,7 @@
Parameters:
Source:
- src/utils/Color.js line 884 + src/utils/Color.js line 884 @@ -10272,7 +10272,7 @@
Parameters:
Source:
- src/utils/Color.js line 909 + src/utils/Color.js line 909 @@ -10456,7 +10456,7 @@
Parameters:
Source:
- src/utils/Color.js line 928 + src/utils/Color.js line 928 @@ -10694,7 +10694,7 @@
Parameters:
Source:
- src/utils/Color.js line 14 + src/utils/Color.js line 14 @@ -10852,7 +10852,7 @@
Parameters:
Source:
- src/utils/Color.js line 179 + src/utils/Color.js line 179 @@ -11121,7 +11121,7 @@
Parameters:
Source:
- src/utils/Color.js line 193 + src/utils/Color.js line 193 @@ -11390,7 +11390,7 @@
Parameters:
Source:
- src/utils/Color.js line 303 + src/utils/Color.js line 303 @@ -11717,7 +11717,7 @@
Parameters:
Source:
- src/utils/Color.js line 548 + src/utils/Color.js line 548 @@ -11947,7 +11947,7 @@
Parameters:
Source:
- src/utils/Color.js line 144 + src/utils/Color.js line 144 @@ -12184,7 +12184,7 @@
Parameters:
Source:
- src/utils/Color.js line 126 + src/utils/Color.js line 126 @@ -12489,7 +12489,7 @@
Parameters:
Source:
- src/utils/Color.js line 40 + src/utils/Color.js line 40 @@ -12647,7 +12647,7 @@
Parameters:
Source:
- src/utils/Color.js line 497 + src/utils/Color.js line 497 @@ -12854,7 +12854,7 @@
Parameters:
Source:
- src/utils/Color.js line 673 + src/utils/Color.js line 673 @@ -13057,7 +13057,7 @@
Parameters:
Source:
- src/utils/Color.js line 640 + src/utils/Color.js line 640 @@ -13124,9 +13124,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -13143,7 +13143,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -13172,7 +13172,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.Angle.html b/docs/Phaser.Component.Angle.html index cce87a753..b44bda32f 100644 --- a/docs/Phaser.Component.Angle.html +++ b/docs/Phaser.Component.Angle.html @@ -6,7 +6,7 @@ Phaser CE Class: Angle - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Angle.js line 12 + src/gameobjects/components/Angle.js line 12 @@ -290,7 +290,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -323,9 +323,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -342,7 +342,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -371,7 +371,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Animation.html b/docs/Phaser.Component.Animation.html index 5a8e5f91c..03d253b38 100644 --- a/docs/Phaser.Component.Animation.html +++ b/docs/Phaser.Component.Animation.html @@ -6,7 +6,7 @@ Phaser CE Class: Animation - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Animation.js line 12 + src/gameobjects/components/Animation.js line 12 @@ -471,7 +471,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -538,9 +538,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -557,7 +557,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -586,7 +586,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.AutoCull.html b/docs/Phaser.Component.AutoCull.html index 5388304d5..1b49469c7 100644 --- a/docs/Phaser.Component.AutoCull.html +++ b/docs/Phaser.Component.AutoCull.html @@ -6,7 +6,7 @@ Phaser CE Class: AutoCull - + @@ -181,7 +181,7 @@

Source:
- src/gameobjects/components/AutoCull.js line 13 + src/gameobjects/components/AutoCull.js line 13 @@ -290,7 +290,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -368,7 +368,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -401,9 +401,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -420,7 +420,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -449,7 +449,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Bounds.html b/docs/Phaser.Component.Bounds.html index bafcdefaf..f7bc8458c 100644 --- a/docs/Phaser.Component.Bounds.html +++ b/docs/Phaser.Component.Bounds.html @@ -6,7 +6,7 @@ Phaser CE Class: Bounds - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Bounds.js line 12 + src/gameobjects/components/Bounds.js line 12 @@ -286,7 +286,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -364,7 +364,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -442,7 +442,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -520,7 +520,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -599,7 +599,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -678,7 +678,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -756,7 +756,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -834,7 +834,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -1138,7 +1138,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -1473,7 +1473,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -1540,9 +1540,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1559,7 +1559,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1588,7 +1588,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.BringToTop.html b/docs/Phaser.Component.BringToTop.html index 90e97575e..f53421635 100644 --- a/docs/Phaser.Component.BringToTop.html +++ b/docs/Phaser.Component.BringToTop.html @@ -6,7 +6,7 @@ Phaser CE Class: BringToTop - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 12 + src/gameobjects/components/BringToTop.js line 12 @@ -285,7 +285,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -396,7 +396,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -507,7 +507,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -618,7 +618,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -685,9 +685,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -704,7 +704,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -733,7 +733,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.Core.html b/docs/Phaser.Component.Core.html index b838ac7d9..0936200d3 100644 --- a/docs/Phaser.Component.Core.html +++ b/docs/Phaser.Component.Core.html @@ -6,7 +6,7 @@ Phaser CE Class: Core - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Core.js line 12 + src/gameobjects/components/Core.js line 12 @@ -285,7 +285,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 19 + src/gameobjects/components/Core.js line 19 @@ -363,7 +363,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -447,7 +447,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -534,7 +534,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -611,7 +611,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -689,7 +689,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -778,7 +778,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -856,7 +856,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -933,7 +933,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -1026,7 +1026,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -1104,7 +1104,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -1184,7 +1184,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -1261,7 +1261,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -1338,7 +1338,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -1416,7 +1416,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -1495,7 +1495,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -1575,7 +1575,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -1654,7 +1654,7 @@

Source:
- src/gameobjects/components/Core.js line 61 + src/gameobjects/components/Core.js line 61 @@ -1739,7 +1739,7 @@

Source:
- src/gameobjects/components/Core.js line 29 + src/gameobjects/components/Core.js line 29 @@ -1823,7 +1823,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -1907,7 +1907,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -1993,7 +1993,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -2036,9 +2036,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2055,7 +2055,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2084,7 +2084,7 @@

- + diff --git a/docs/Phaser.Component.Crop.html b/docs/Phaser.Component.Crop.html index 044720f6c..76a9383d9 100644 --- a/docs/Phaser.Component.Crop.html +++ b/docs/Phaser.Component.Crop.html @@ -6,7 +6,7 @@ Phaser CE Class: Crop - + @@ -181,7 +181,7 @@

Source:
- src/gameobjects/components/Crop.js line 13 + src/gameobjects/components/Crop.js line 13 @@ -288,7 +288,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -479,7 +479,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -564,7 +564,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -607,9 +607,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -626,7 +626,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -655,7 +655,7 @@

- + diff --git a/docs/Phaser.Component.Delta.html b/docs/Phaser.Component.Delta.html index dd5fe4bac..def70b3d7 100644 --- a/docs/Phaser.Component.Delta.html +++ b/docs/Phaser.Component.Delta.html @@ -6,7 +6,7 @@ Phaser CE Class: Delta - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Delta.js line 12 + src/gameobjects/components/Delta.js line 12 @@ -286,7 +286,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -364,7 +364,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -441,7 +441,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -474,9 +474,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -493,7 +493,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -522,7 +522,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Destroy.html b/docs/Phaser.Component.Destroy.html index 81d87ca50..a118fa093 100644 --- a/docs/Phaser.Component.Destroy.html +++ b/docs/Phaser.Component.Destroy.html @@ -6,7 +6,7 @@ Phaser CE Class: Destroy - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Destroy.js line 12 + src/gameobjects/components/Destroy.js line 12 @@ -286,7 +286,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -478,7 +478,7 @@
Parameters:
Source:
- src/gameobjects/components/Destroy.js line 37 + src/gameobjects/components/Destroy.js line 37 @@ -521,9 +521,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -540,7 +540,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -569,7 +569,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.FixedToCamera.html b/docs/Phaser.Component.FixedToCamera.html index b4006d8a8..cb40dc035 100644 --- a/docs/Phaser.Component.FixedToCamera.html +++ b/docs/Phaser.Component.FixedToCamera.html @@ -6,7 +6,7 @@ Phaser CE Class: FixedToCamera - + @@ -181,7 +181,7 @@

Source:
- src/gameobjects/components/FixedToCamera.js line 13 + src/gameobjects/components/FixedToCamera.js line 13 @@ -287,7 +287,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -371,7 +371,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -450,7 +450,7 @@

Source:
- src/gameobjects/components/FixedToCamera.js line 21 + src/gameobjects/components/FixedToCamera.js line 21 @@ -493,9 +493,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -512,7 +512,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -541,7 +541,7 @@

- + diff --git a/docs/Phaser.Component.Health.html b/docs/Phaser.Component.Health.html index 1f073560c..6e8b74af9 100644 --- a/docs/Phaser.Component.Health.html +++ b/docs/Phaser.Component.Health.html @@ -6,7 +6,7 @@ Phaser CE Class: Health - + @@ -182,7 +182,7 @@

Source:
- src/gameobjects/components/Health.js line 14 + src/gameobjects/components/Health.js line 14 @@ -295,7 +295,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -380,7 +380,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -509,7 +509,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -667,7 +667,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -826,7 +826,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -893,9 +893,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -912,7 +912,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -941,7 +941,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.InCamera.html b/docs/Phaser.Component.InCamera.html index e2ab78900..d61941513 100644 --- a/docs/Phaser.Component.InCamera.html +++ b/docs/Phaser.Component.InCamera.html @@ -6,7 +6,7 @@ Phaser CE Class: InCamera - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/InCamera.js line 12 + src/gameobjects/components/InCamera.js line 12 @@ -287,7 +287,7 @@
Type:
Source:
- src/gameobjects/components/InCamera.js line 26 + src/gameobjects/components/InCamera.js line 26 @@ -320,9 +320,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -339,7 +339,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -368,7 +368,7 @@
Type:
- + diff --git a/docs/Phaser.Component.InWorld.html b/docs/Phaser.Component.InWorld.html index 8de688650..1e9a0b692 100644 --- a/docs/Phaser.Component.InWorld.html +++ b/docs/Phaser.Component.InWorld.html @@ -6,7 +6,7 @@ Phaser CE Class: InWorld - + @@ -182,7 +182,7 @@

Source:
- src/gameobjects/components/InWorld.js line 14 + src/gameobjects/components/InWorld.js line 14 @@ -293,7 +293,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 98 + src/gameobjects/components/InWorld.js line 98 @@ -370,7 +370,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 129 + src/gameobjects/components/InWorld.js line 129 @@ -447,7 +447,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 106 + src/gameobjects/components/InWorld.js line 106 @@ -525,7 +525,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 115 + src/gameobjects/components/InWorld.js line 115 @@ -604,7 +604,7 @@

Source:
- src/gameobjects/components/InWorld.js line 22 + src/gameobjects/components/InWorld.js line 22 @@ -647,9 +647,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -666,7 +666,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -695,7 +695,7 @@

- + diff --git a/docs/Phaser.Component.InputEnabled.html b/docs/Phaser.Component.InputEnabled.html index 35d40232d..f12d5fdb5 100644 --- a/docs/Phaser.Component.InputEnabled.html +++ b/docs/Phaser.Component.InputEnabled.html @@ -6,7 +6,7 @@ Phaser CE Class: InputEnabled - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/InputEnabled.js line 12 + src/gameobjects/components/InputEnabled.js line 12 @@ -290,7 +290,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -374,7 +374,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -407,9 +407,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -426,7 +426,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -455,7 +455,7 @@
Type:
- + diff --git a/docs/Phaser.Component.LifeSpan.html b/docs/Phaser.Component.LifeSpan.html index c2fee4dd0..567fb3808 100644 --- a/docs/Phaser.Component.LifeSpan.html +++ b/docs/Phaser.Component.LifeSpan.html @@ -6,7 +6,7 @@ Phaser CE Class: LifeSpan - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 12 + src/gameobjects/components/LifeSpan.js line 12 @@ -296,7 +296,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -377,7 +377,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -456,7 +456,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 20 + src/gameobjects/components/LifeSpan.js line 20 @@ -544,7 +544,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -724,7 +724,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -791,9 +791,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -810,7 +810,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -839,7 +839,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.LoadTexture.html b/docs/Phaser.Component.LoadTexture.html index 05240086f..eabc6b4f8 100644 --- a/docs/Phaser.Component.LoadTexture.html +++ b/docs/Phaser.Component.LoadTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: LoadTexture - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 12 + src/gameobjects/components/LoadTexture.js line 12 @@ -290,7 +290,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -372,7 +372,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -618,7 +618,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -702,7 +702,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -886,7 +886,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -1021,7 +1021,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -1064,9 +1064,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1083,7 +1083,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1112,7 +1112,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.Overlap.html b/docs/Phaser.Component.Overlap.html index 9ad2af3c9..be0a6bf02 100644 --- a/docs/Phaser.Component.Overlap.html +++ b/docs/Phaser.Component.Overlap.html @@ -6,7 +6,7 @@ Phaser CE Class: Overlap - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Overlap.js line 12 + src/gameobjects/components/Overlap.js line 12 @@ -348,7 +348,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -415,9 +415,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -434,7 +434,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -463,7 +463,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.PhysicsBody.html b/docs/Phaser.Component.PhysicsBody.html index 801889753..fdb935704 100644 --- a/docs/Phaser.Component.PhysicsBody.html +++ b/docs/Phaser.Component.PhysicsBody.html @@ -6,7 +6,7 @@ Phaser CE Class: PhysicsBody - + @@ -181,7 +181,7 @@

Source:
- src/gameobjects/components/PhysicsBody.js line 13 + src/gameobjects/components/PhysicsBody.js line 13 @@ -303,7 +303,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 93 + src/gameobjects/components/PhysicsBody.js line 93 @@ -380,7 +380,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 100 + src/gameobjects/components/PhysicsBody.js line 100 @@ -457,7 +457,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 126 + src/gameobjects/components/PhysicsBody.js line 126 @@ -536,7 +536,7 @@

Source:
- src/gameobjects/components/PhysicsBody.js line 63 + src/gameobjects/components/PhysicsBody.js line 63 @@ -621,7 +621,7 @@

Source:
- src/gameobjects/components/PhysicsBody.js line 21 + src/gameobjects/components/PhysicsBody.js line 21 @@ -664,9 +664,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -683,7 +683,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -712,7 +712,7 @@

- + diff --git a/docs/Phaser.Component.Reset.html b/docs/Phaser.Component.Reset.html index fe790f71d..f7842382c 100644 --- a/docs/Phaser.Component.Reset.html +++ b/docs/Phaser.Component.Reset.html @@ -6,7 +6,7 @@ Phaser CE Class: Reset - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Reset.js line 12 + src/gameobjects/components/Reset.js line 12 @@ -428,7 +428,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -495,9 +495,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -514,7 +514,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -543,7 +543,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.ScaleMinMax.html b/docs/Phaser.Component.ScaleMinMax.html index cf2fa1344..2be9ff854 100644 --- a/docs/Phaser.Component.ScaleMinMax.html +++ b/docs/Phaser.Component.ScaleMinMax.html @@ -6,7 +6,7 @@ Phaser CE Class: ScaleMinMax - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/ScaleMinMax.js line 12 + src/gameobjects/components/ScaleMinMax.js line 12 @@ -287,7 +287,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -366,7 +366,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -443,7 +443,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -520,7 +520,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -742,7 +742,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -785,9 +785,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -804,7 +804,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -833,7 +833,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.Smoothed.html b/docs/Phaser.Component.Smoothed.html index 98ff52c63..4e119b102 100644 --- a/docs/Phaser.Component.Smoothed.html +++ b/docs/Phaser.Component.Smoothed.html @@ -6,7 +6,7 @@ Phaser CE Class: Smoothed - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Smoothed.js line 12 + src/gameobjects/components/Smoothed.js line 12 @@ -287,7 +287,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -320,9 +320,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -339,7 +339,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -368,7 +368,7 @@
Type:
- + diff --git a/docs/Phaser.Create.html b/docs/Phaser.Create.html index a014b8e04..146659060 100644 --- a/docs/Phaser.Create.html +++ b/docs/Phaser.Create.html @@ -6,7 +6,7 @@ Phaser CE Class: Create - + @@ -233,7 +233,7 @@
Parameters:
Source:
- src/core/Create.js line 18 + src/core/Create.js line 18 @@ -338,7 +338,7 @@
Type:
Source:
- src/core/Create.js line 58 + src/core/Create.js line 58 @@ -415,7 +415,7 @@
Type:
Source:
- src/core/Create.js line 79 + src/core/Create.js line 79 @@ -492,7 +492,7 @@
Type:
Source:
- src/core/Create.js line 72 + src/core/Create.js line 72 @@ -569,7 +569,7 @@
Type:
Source:
- src/core/Create.js line 86 + src/core/Create.js line 86 @@ -646,7 +646,7 @@
Type:
Source:
- src/core/Create.js line 65 + src/core/Create.js line 65 @@ -723,7 +723,7 @@
Type:
Source:
- src/core/Create.js line 28 + src/core/Create.js line 28 @@ -800,7 +800,7 @@
Type:
Source:
- src/core/Create.js line 33 + src/core/Create.js line 33 @@ -915,7 +915,7 @@
Properties:
Source:
- src/core/Create.js line 38 + src/core/Create.js line 38 @@ -992,7 +992,7 @@
Type:
Source:
- src/core/Create.js line 23 + src/core/Create.js line 23 @@ -1069,7 +1069,7 @@
Type:
Source:
- src/core/Create.js line 43 + src/core/Create.js line 43 @@ -1451,7 +1451,7 @@
Parameters:
Source:
- src/core/Create.js line 227 + src/core/Create.js line 227 @@ -1923,7 +1923,7 @@
Parameters:
Source:
- src/core/Create.js line 168 + src/core/Create.js line 168 @@ -2386,7 +2386,7 @@
Parameters:
Source:
- src/core/Create.js line 90 + src/core/Create.js line 90 @@ -2456,9 +2456,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2475,7 +2475,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2504,7 +2504,7 @@
Returns:
- + diff --git a/docs/Phaser.Creature.html b/docs/Phaser.Creature.html index a81870231..fffc41f29 100644 --- a/docs/Phaser.Creature.html +++ b/docs/Phaser.Creature.html @@ -6,7 +6,7 @@ Phaser CE Class: Creature - + @@ -440,7 +440,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 176 + src/gameobjects/Creature.js line 176 @@ -594,7 +594,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -676,7 +676,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 823 + src/gameobjects/Creature.js line 823 @@ -753,7 +753,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 710 + src/gameobjects/Creature.js line 710 @@ -830,7 +830,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 757 + src/gameobjects/Creature.js line 757 @@ -921,7 +921,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -998,7 +998,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 208 + src/gameobjects/Creature.js line 208 @@ -1085,7 +1085,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1182,7 +1182,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1275,7 +1275,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1448,7 +1448,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1525,7 +1525,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 281 + src/gameobjects/Creature.js line 281 @@ -1611,7 +1611,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1688,7 +1688,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 250 + src/gameobjects/Creature.js line 250 @@ -1765,7 +1765,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 244 + src/gameobjects/Creature.js line 244 @@ -1861,7 +1861,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -1947,7 +1947,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2034,7 +2034,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2121,7 +2121,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2219,7 +2219,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -2305,7 +2305,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2396,7 +2396,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2489,7 +2489,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2576,7 +2576,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -2658,7 +2658,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 181 + src/gameobjects/Creature.js line 181 @@ -2735,7 +2735,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 657 + src/gameobjects/Creature.js line 657 @@ -2831,7 +2831,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2919,7 +2919,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3006,7 +3006,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3079,7 +3079,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 270 + src/gameobjects/Creature.js line 270 @@ -3170,7 +3170,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3263,7 +3263,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3340,7 +3340,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 617 + src/gameobjects/Creature.js line 617 @@ -3442,7 +3442,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3532,7 +3532,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -3609,7 +3609,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 637 + src/gameobjects/Creature.js line 637 @@ -3686,7 +3686,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 213 + src/gameobjects/Creature.js line 213 @@ -3775,7 +3775,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -3862,7 +3862,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -3951,7 +3951,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4040,7 +4040,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4127,7 +4127,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4215,7 +4215,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4301,7 +4301,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -4387,7 +4387,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -4474,7 +4474,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4561,7 +4561,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -4650,7 +4650,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -4739,7 +4739,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4816,7 +4816,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 233 + src/gameobjects/Creature.js line 233 @@ -4900,7 +4900,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 219 + src/gameobjects/Creature.js line 219 @@ -4977,7 +4977,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 804 + src/gameobjects/Creature.js line 804 @@ -5054,7 +5054,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 189 + src/gameobjects/Creature.js line 189 @@ -5131,7 +5131,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 264 + src/gameobjects/Creature.js line 264 @@ -5208,7 +5208,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 258 + src/gameobjects/Creature.js line 258 @@ -5306,7 +5306,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -5383,7 +5383,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 683 + src/gameobjects/Creature.js line 683 @@ -5471,7 +5471,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -5563,7 +5563,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -5654,7 +5654,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -5745,7 +5745,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -5836,7 +5836,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -5927,7 +5927,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -6013,7 +6013,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -6100,7 +6100,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -6187,7 +6187,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -6276,7 +6276,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -6413,7 +6413,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -6604,7 +6604,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -6724,7 +6724,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -6891,7 +6891,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -6991,7 +6991,7 @@

Source:
- src/gameobjects/Creature.js line 853 + src/gameobjects/Creature.js line 853 @@ -7091,7 +7091,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -7336,7 +7336,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -7520,7 +7520,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -7687,7 +7687,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -7854,7 +7854,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -7971,7 +7971,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -8092,7 +8092,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -8212,7 +8212,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -8332,7 +8332,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -8510,7 +8510,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 587 + src/gameobjects/Creature.js line 587 @@ -8603,7 +8603,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -8692,7 +8692,7 @@

Source:
- src/gameobjects/Creature.js line 323 + src/gameobjects/Creature.js line 323 @@ -8785,7 +8785,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -8928,7 +8928,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -9095,7 +9095,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -9286,7 +9286,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -9525,7 +9525,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -9714,7 +9714,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -9834,7 +9834,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -9942,7 +9942,7 @@

Source:
- src/gameobjects/Creature.js line 842 + src/gameobjects/Creature.js line 842 @@ -10076,7 +10076,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 556 + src/gameobjects/Creature.js line 556 @@ -10210,7 +10210,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 572 + src/gameobjects/Creature.js line 572 @@ -10377,7 +10377,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -10461,7 +10461,7 @@

Source:
- src/gameobjects/Creature.js line 605 + src/gameobjects/Creature.js line 605 @@ -10628,7 +10628,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -10771,7 +10771,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -10984,7 +10984,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -11105,7 +11105,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -11198,7 +11198,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -11387,7 +11387,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -11456,9 +11456,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -11475,7 +11475,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -11504,7 +11504,7 @@
Returns:
- + diff --git a/docs/Phaser.DOM.html b/docs/Phaser.DOM.html index 65480e944..c65b4dc53 100644 --- a/docs/Phaser.DOM.html +++ b/docs/Phaser.DOM.html @@ -6,7 +6,7 @@ Phaser CE Class: DOM - + @@ -183,7 +183,7 @@

Source:
- src/utils/DOM.js line 18 + src/utils/DOM.js line 18 @@ -367,7 +367,7 @@
Properties:
Source:
- src/utils/DOM.js line 274 + src/utils/DOM.js line 274 @@ -529,7 +529,7 @@
Properties:
Source:
- src/utils/DOM.js line 260 + src/utils/DOM.js line 260 @@ -606,7 +606,7 @@
Type:
Source:
- src/utils/DOM.js line 289 + src/utils/DOM.js line 289 @@ -683,7 +683,7 @@
Type:
Source:
- src/utils/DOM.js line 301 + src/utils/DOM.js line 301 @@ -890,7 +890,7 @@
Properties:
Source:
- src/utils/DOM.js line 239 + src/utils/DOM.js line 239 @@ -1041,7 +1041,7 @@
Parameters:
Source:
- src/utils/DOM.js line 100 + src/utils/DOM.js line 100 @@ -1250,7 +1250,7 @@
Parameters:
Source:
- src/utils/DOM.js line 48 + src/utils/DOM.js line 48 @@ -1456,7 +1456,7 @@
Parameters:
Source:
- src/utils/DOM.js line 20 + src/utils/DOM.js line 20 @@ -1655,7 +1655,7 @@
Parameters:
Source:
- src/utils/DOM.js line 149 + src/utils/DOM.js line 149 @@ -1839,7 +1839,7 @@
Parameters:
Source:
- src/utils/DOM.js line 128 + src/utils/DOM.js line 128 @@ -1906,9 +1906,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1925,7 +1925,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1954,7 +1954,7 @@
Returns:
- + diff --git a/docs/Phaser.Device.html b/docs/Phaser.Device.html index b21d69c87..83d236218 100644 --- a/docs/Phaser.Device.html +++ b/docs/Phaser.Device.html @@ -6,7 +6,7 @@ Phaser CE Class: Device - + @@ -191,7 +191,7 @@

Source:
- src/utils/Device.js line 30 + src/utils/Device.js line 30 @@ -300,7 +300,7 @@
Type:
Source:
- src/utils/Device.js line 561 + src/utils/Device.js line 561 @@ -377,7 +377,7 @@
Type:
Source:
- src/utils/Device.js line 118 + src/utils/Device.js line 118 @@ -454,7 +454,7 @@
Type:
Source:
- src/utils/Device.js line 274 + src/utils/Device.js line 274 @@ -531,7 +531,7 @@
Type:
Source:
- src/utils/Device.js line 384 + src/utils/Device.js line 384 @@ -608,7 +608,7 @@
Type:
Source:
- src/utils/Device.js line 535 + src/utils/Device.js line 535 @@ -685,7 +685,7 @@
Type:
Source:
- src/utils/Device.js line 169 + src/utils/Device.js line 169 @@ -763,7 +763,7 @@
Type:
Source:
- src/utils/Device.js line 179 + src/utils/Device.js line 179 @@ -840,7 +840,7 @@
Type:
Source:
- src/utils/Device.js line 156 + src/utils/Device.js line 156 @@ -917,7 +917,7 @@
Type:
Source:
- src/utils/Device.js line 162 + src/utils/Device.js line 162 @@ -994,7 +994,7 @@
Type:
Source:
- src/utils/Device.js line 280 + src/utils/Device.js line 280 @@ -1071,7 +1071,7 @@
Type:
Source:
- src/utils/Device.js line 124 + src/utils/Device.js line 124 @@ -1148,7 +1148,7 @@
Type:
Source:
- src/utils/Device.js line 286 + src/utils/Device.js line 286 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/utils/Device.js line 70 + src/utils/Device.js line 70 @@ -1302,7 +1302,7 @@
Type:
Source:
- src/utils/Device.js line 76 + src/utils/Device.js line 76 @@ -1379,7 +1379,7 @@
Type:
Source:
- src/utils/Device.js line 82 + src/utils/Device.js line 82 @@ -1456,7 +1456,7 @@
Type:
Source:
- src/utils/Device.js line 112 + src/utils/Device.js line 112 @@ -1533,7 +1533,7 @@
Type:
Source:
- src/utils/Device.js line 215 + src/utils/Device.js line 215 @@ -1610,7 +1610,7 @@
Type:
Source:
- src/utils/Device.js line 52 + src/utils/Device.js line 52 @@ -1687,7 +1687,7 @@
Type:
Source:
- src/utils/Device.js line 37 + src/utils/Device.js line 37 @@ -1764,7 +1764,7 @@
Type:
Source:
- src/utils/Device.js line 433 + src/utils/Device.js line 433 @@ -1841,7 +1841,7 @@
Type:
Source:
- src/utils/Device.js line 334 + src/utils/Device.js line 334 @@ -1918,7 +1918,7 @@
Type:
Source:
- src/utils/Device.js line 106 + src/utils/Device.js line 106 @@ -1995,7 +1995,7 @@
Type:
Source:
- src/utils/Device.js line 100 + src/utils/Device.js line 100 @@ -2072,7 +2072,7 @@
Type:
Source:
- src/utils/Device.js line 292 + src/utils/Device.js line 292 @@ -2149,7 +2149,7 @@
Type:
Source:
- src/utils/Device.js line 191 + src/utils/Device.js line 191 @@ -2226,7 +2226,7 @@
Type:
Source:
- src/utils/Device.js line 197 + src/utils/Device.js line 197 @@ -2303,7 +2303,7 @@
Type:
Source:
- src/utils/Device.js line 298 + src/utils/Device.js line 298 @@ -2380,7 +2380,7 @@
Type:
Source:
- src/utils/Device.js line 304 + src/utils/Device.js line 304 @@ -2457,7 +2457,7 @@
Type:
Source:
- src/utils/Device.js line 523 + src/utils/Device.js line 523 @@ -2534,7 +2534,7 @@
Type:
Source:
- src/utils/Device.js line 541 + src/utils/Device.js line 541 @@ -2618,7 +2618,7 @@
Type:
Source:
- src/utils/Device.js line 239 + src/utils/Device.js line 239 @@ -2695,7 +2695,7 @@
Type:
Source:
- src/utils/Device.js line 447 + src/utils/Device.js line 447 @@ -2772,7 +2772,7 @@
Type:
Source:
- src/utils/Device.js line 471 + src/utils/Device.js line 471 @@ -2849,7 +2849,7 @@
Type:
Source:
- src/utils/Device.js line 310 + src/utils/Device.js line 310 @@ -2926,7 +2926,7 @@
Type:
Source:
- src/utils/Device.js line 316 + src/utils/Device.js line 316 @@ -3003,7 +3003,7 @@
Type:
Source:
- src/utils/Device.js line 44 + src/utils/Device.js line 44 @@ -3080,7 +3080,7 @@
Type:
Source:
- src/utils/Device.js line 58 + src/utils/Device.js line 58 @@ -3157,7 +3157,7 @@
Type:
Source:
- src/utils/Device.js line 64 + src/utils/Device.js line 64 @@ -3234,7 +3234,7 @@
Type:
Source:
- src/utils/Device.js line 491 + src/utils/Device.js line 491 @@ -3311,7 +3311,7 @@
Type:
Source:
- src/utils/Device.js line 479 + src/utils/Device.js line 479 @@ -3388,7 +3388,7 @@
Type:
Source:
- src/utils/Device.js line 485 + src/utils/Device.js line 485 @@ -3465,7 +3465,7 @@
Type:
Source:
- src/utils/Device.js line 130 + src/utils/Device.js line 130 @@ -3542,7 +3542,7 @@
Type:
Source:
- src/utils/Device.js line 511 + src/utils/Device.js line 511 @@ -3619,7 +3619,7 @@
Type:
Source:
- src/utils/Device.js line 505 + src/utils/Device.js line 505 @@ -3696,7 +3696,7 @@
Type:
Source:
- src/utils/Device.js line 203 + src/utils/Device.js line 203 @@ -3773,7 +3773,7 @@
Type:
Source:
- src/utils/Device.js line 421 + src/utils/Device.js line 421 @@ -3850,7 +3850,7 @@
Type:
Source:
- src/utils/Device.js line 136 + src/utils/Device.js line 136 @@ -3927,7 +3927,7 @@
Type:
Source:
- src/utils/Device.js line 346 + src/utils/Device.js line 346 @@ -4004,7 +4004,7 @@
Type:
Source:
- src/utils/Device.js line 340 + src/utils/Device.js line 340 @@ -4081,7 +4081,7 @@
Type:
Source:
- src/utils/Device.js line 408 + src/utils/Device.js line 408 @@ -4158,7 +4158,7 @@
Type:
Source:
- src/utils/Device.js line 453 + src/utils/Device.js line 453 @@ -4235,7 +4235,7 @@
Type:
Source:
- src/utils/Device.js line 259 + src/utils/Device.js line 259 @@ -4312,7 +4312,7 @@
Type:
Source:
- src/utils/Device.js line 88 + src/utils/Device.js line 88 @@ -4389,7 +4389,7 @@
Type:
Source:
- src/utils/Device.js line 94 + src/utils/Device.js line 94 @@ -4466,7 +4466,7 @@
Type:
Source:
- src/utils/Device.js line 396 + src/utils/Device.js line 396 @@ -4543,7 +4543,7 @@
Type:
Source:
- src/utils/Device.js line 441 + src/utils/Device.js line 441 @@ -4620,7 +4620,7 @@
Type:
Source:
- src/utils/Device.js line 352 + src/utils/Device.js line 352 @@ -4697,7 +4697,7 @@
Type:
Source:
- src/utils/Device.js line 402 + src/utils/Device.js line 402 @@ -4774,7 +4774,7 @@
Type:
Source:
- src/utils/Device.js line 499 + src/utils/Device.js line 499 @@ -4851,7 +4851,7 @@
Type:
Source:
- src/utils/Device.js line 221 + src/utils/Device.js line 221 @@ -4928,7 +4928,7 @@
Type:
Source:
- src/utils/Device.js line 245 + src/utils/Device.js line 245 @@ -5005,7 +5005,7 @@
Type:
Source:
- src/utils/Device.js line 529 + src/utils/Device.js line 529 @@ -5082,7 +5082,7 @@
Type:
Source:
- src/utils/Device.js line 358 + src/utils/Device.js line 358 @@ -5159,7 +5159,7 @@
Type:
Source:
- src/utils/Device.js line 364 + src/utils/Device.js line 364 @@ -5236,7 +5236,7 @@
Type:
Source:
- src/utils/Device.js line 376 + src/utils/Device.js line 376 @@ -5313,7 +5313,7 @@
Type:
Source:
- src/utils/Device.js line 517 + src/utils/Device.js line 517 @@ -5390,7 +5390,7 @@
Type:
Source:
- src/utils/Device.js line 253 + src/utils/Device.js line 253 @@ -5467,7 +5467,7 @@
Type:
Source:
- src/utils/Device.js line 322 + src/utils/Device.js line 322 @@ -5544,7 +5544,7 @@
Type:
Source:
- src/utils/Device.js line 328 + src/utils/Device.js line 328 @@ -5621,7 +5621,7 @@
Type:
Source:
- src/utils/Device.js line 227 + src/utils/Device.js line 227 @@ -5698,7 +5698,7 @@
Type:
Source:
- src/utils/Device.js line 233 + src/utils/Device.js line 233 @@ -5775,7 +5775,7 @@
Type:
Source:
- src/utils/Device.js line 465 + src/utils/Device.js line 465 @@ -5852,7 +5852,7 @@
Type:
Source:
- src/utils/Device.js line 414 + src/utils/Device.js line 414 @@ -5929,7 +5929,7 @@
Type:
Source:
- src/utils/Device.js line 370 + src/utils/Device.js line 370 @@ -6006,7 +6006,7 @@
Type:
Source:
- src/utils/Device.js line 390 + src/utils/Device.js line 390 @@ -6083,7 +6083,7 @@
Type:
Source:
- src/utils/Device.js line 185 + src/utils/Device.js line 185 @@ -6160,7 +6160,7 @@
Type:
Source:
- src/utils/Device.js line 427 + src/utils/Device.js line 427 @@ -6237,7 +6237,7 @@
Type:
Source:
- src/utils/Device.js line 459 + src/utils/Device.js line 459 @@ -6362,7 +6362,7 @@
Properties:
Source:
- src/utils/Device.js line 266 + src/utils/Device.js line 266 @@ -6439,7 +6439,7 @@
Type:
Source:
- src/utils/Device.js line 142 + src/utils/Device.js line 142 @@ -6516,7 +6516,7 @@
Type:
Source:
- src/utils/Device.js line 148 + src/utils/Device.js line 148 @@ -6593,7 +6593,7 @@
Type:
Source:
- src/utils/Device.js line 209 + src/utils/Device.js line 209 @@ -6819,7 +6819,7 @@
Parameters:
Source:
- src/utils/Device.js line 577 + src/utils/Device.js line 577 @@ -6953,7 +6953,7 @@
Parameters:
Source:
- src/utils/Device.js line 1313 + src/utils/Device.js line 1313 @@ -7111,7 +7111,7 @@
Parameters:
Source:
- src/utils/Device.js line 1356 + src/utils/Device.js line 1356 @@ -7221,7 +7221,7 @@

Source:
- src/utils/Device.js line 1414 + src/utils/Device.js line 1414 @@ -7320,7 +7320,7 @@

Source:
- src/utils/Device.js line 1398 + src/utils/Device.js line 1398 @@ -7415,7 +7415,7 @@

Source:
- src/utils/Device.js line 1387 + src/utils/Device.js line 1387 @@ -7478,9 +7478,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -7497,7 +7497,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -7526,7 +7526,7 @@
Returns:
- + diff --git a/docs/Phaser.DeviceButton.html b/docs/Phaser.DeviceButton.html index 02d188320..fb0556de3 100644 --- a/docs/Phaser.DeviceButton.html +++ b/docs/Phaser.DeviceButton.html @@ -6,7 +6,7 @@ Phaser CE Class: DeviceButton - + @@ -269,7 +269,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 31 + src/input/DeviceButton.js line 31 @@ -375,7 +375,7 @@
Type:
Source:
- src/input/DeviceButton.js line 87 + src/input/DeviceButton.js line 87 @@ -452,7 +452,7 @@
Type:
Source:
- src/input/DeviceButton.js line 114 + src/input/DeviceButton.js line 114 @@ -530,7 +530,7 @@
Type:
Source:
- src/input/DeviceButton.js line 103 + src/input/DeviceButton.js line 103 @@ -608,7 +608,7 @@
Type:
Source:
- src/input/DeviceButton.js line 326 + src/input/DeviceButton.js line 326 @@ -685,7 +685,7 @@
Type:
Source:
- src/input/DeviceButton.js line 47 + src/input/DeviceButton.js line 47 @@ -762,7 +762,7 @@
Type:
Source:
- src/input/DeviceButton.js line 41 + src/input/DeviceButton.js line 41 @@ -839,7 +839,7 @@
Type:
Source:
- src/input/DeviceButton.js line 53 + src/input/DeviceButton.js line 53 @@ -923,7 +923,7 @@
Type:
Source:
- src/input/DeviceButton.js line 59 + src/input/DeviceButton.js line 59 @@ -1002,7 +1002,7 @@
Type:
Source:
- src/input/DeviceButton.js line 122 + src/input/DeviceButton.js line 122 @@ -1081,7 +1081,7 @@
Type:
Source:
- src/input/DeviceButton.js line 138 + src/input/DeviceButton.js line 138 @@ -1160,7 +1160,7 @@
Type:
Source:
- src/input/DeviceButton.js line 130 + src/input/DeviceButton.js line 130 @@ -1240,7 +1240,7 @@
Type:
Source:
- src/input/DeviceButton.js line 36 + src/input/DeviceButton.js line 36 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/input/DeviceButton.js line 79 + src/input/DeviceButton.js line 79 @@ -1396,7 +1396,7 @@
Type:
Source:
- src/input/DeviceButton.js line 95 + src/input/DeviceButton.js line 95 @@ -1473,7 +1473,7 @@
Type:
Source:
- src/input/DeviceButton.js line 65 + src/input/DeviceButton.js line 65 @@ -1550,7 +1550,7 @@
Type:
Source:
- src/input/DeviceButton.js line 71 + src/input/DeviceButton.js line 71 @@ -1627,7 +1627,7 @@
Type:
Source:
- src/input/DeviceButton.js line 109 + src/input/DeviceButton.js line 109 @@ -1706,7 +1706,7 @@

Source:
- src/input/DeviceButton.js line 305 + src/input/DeviceButton.js line 305 @@ -1861,7 +1861,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 254 + src/input/DeviceButton.js line 254 @@ -2040,7 +2040,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 270 + src/input/DeviceButton.js line 270 @@ -2198,7 +2198,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 236 + src/input/DeviceButton.js line 236 @@ -2282,7 +2282,7 @@

Source:
- src/input/DeviceButton.js line 286 + src/input/DeviceButton.js line 286 @@ -2463,7 +2463,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 144 + src/input/DeviceButton.js line 144 @@ -2678,7 +2678,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 213 + src/input/DeviceButton.js line 213 @@ -2859,7 +2859,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 179 + src/input/DeviceButton.js line 179 @@ -2902,9 +2902,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2921,7 +2921,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2950,7 +2950,7 @@
Parameters:
- + diff --git a/docs/Phaser.Easing.Back.html b/docs/Phaser.Easing.Back.html index 13797a098..b21b45f95 100644 --- a/docs/Phaser.Easing.Back.html +++ b/docs/Phaser.Easing.Back.html @@ -6,7 +6,7 @@ Phaser CE Class: Back - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 457 + src/tween/Easing.js line 457 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 459 + src/tween/Easing.js line 459 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 487 + src/tween/Easing.js line 487 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 473 + src/tween/Easing.js line 473 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Bounce.html b/docs/Phaser.Easing.Bounce.html index b2c315e71..36d3eacc1 100644 --- a/docs/Phaser.Easing.Bounce.html +++ b/docs/Phaser.Easing.Bounce.html @@ -6,7 +6,7 @@ Phaser CE Class: Bounce - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 509 + src/tween/Easing.js line 509 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 511 + src/tween/Easing.js line 511 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 553 + src/tween/Easing.js line 553 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 524 + src/tween/Easing.js line 524 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Circular.html b/docs/Phaser.Easing.Circular.html index 28dc76d03..9265e343a 100644 --- a/docs/Phaser.Easing.Circular.html +++ b/docs/Phaser.Easing.Circular.html @@ -6,7 +6,7 @@ Phaser CE Class: Circular - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 344 + src/tween/Easing.js line 344 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 346 + src/tween/Easing.js line 346 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 372 + src/tween/Easing.js line 372 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 359 + src/tween/Easing.js line 359 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Cubic.html b/docs/Phaser.Easing.Cubic.html index 958504710..222eb5038 100644 --- a/docs/Phaser.Easing.Cubic.html +++ b/docs/Phaser.Easing.Cubic.html @@ -6,7 +6,7 @@ Phaser CE Class: Cubic - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 92 + src/tween/Easing.js line 92 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 94 + src/tween/Easing.js line 94 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 120 + src/tween/Easing.js line 120 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 107 + src/tween/Easing.js line 107 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Elastic.html b/docs/Phaser.Easing.Elastic.html index 6bf49a797..796d240cb 100644 --- a/docs/Phaser.Easing.Elastic.html +++ b/docs/Phaser.Easing.Elastic.html @@ -6,7 +6,7 @@ Phaser CE Class: Elastic - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 393 + src/tween/Easing.js line 393 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 395 + src/tween/Easing.js line 395 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 431 + src/tween/Easing.js line 431 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 413 + src/tween/Easing.js line 413 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Exponential.html b/docs/Phaser.Easing.Exponential.html index 4f57e1b64..4fd3d004c 100644 --- a/docs/Phaser.Easing.Exponential.html +++ b/docs/Phaser.Easing.Exponential.html @@ -6,7 +6,7 @@ Phaser CE Class: Exponential - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 293 + src/tween/Easing.js line 293 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 295 + src/tween/Easing.js line 295 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 321 + src/tween/Easing.js line 321 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 308 + src/tween/Easing.js line 308 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Linear.html b/docs/Phaser.Easing.Linear.html index 8bd748d8d..aa513676f 100644 --- a/docs/Phaser.Easing.Linear.html +++ b/docs/Phaser.Easing.Linear.html @@ -6,7 +6,7 @@ Phaser CE Class: Linear - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 21 + src/tween/Easing.js line 21 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 23 + src/tween/Easing.js line 23 @@ -399,9 +399,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -418,7 +418,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -447,7 +447,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quadratic.html b/docs/Phaser.Easing.Quadratic.html index 3b09972fa..db6672f70 100644 --- a/docs/Phaser.Easing.Quadratic.html +++ b/docs/Phaser.Easing.Quadratic.html @@ -6,7 +6,7 @@ Phaser CE Class: Quadratic - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 43 + src/tween/Easing.js line 43 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 45 + src/tween/Easing.js line 45 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 71 + src/tween/Easing.js line 71 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 58 + src/tween/Easing.js line 58 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quartic.html b/docs/Phaser.Easing.Quartic.html index 7c7e2dab5..47d2e2cdf 100644 --- a/docs/Phaser.Easing.Quartic.html +++ b/docs/Phaser.Easing.Quartic.html @@ -6,7 +6,7 @@ Phaser CE Class: Quartic - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 141 + src/tween/Easing.js line 141 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 143 + src/tween/Easing.js line 143 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 169 + src/tween/Easing.js line 169 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 156 + src/tween/Easing.js line 156 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quintic.html b/docs/Phaser.Easing.Quintic.html index 354a1c573..8f29de799 100644 --- a/docs/Phaser.Easing.Quintic.html +++ b/docs/Phaser.Easing.Quintic.html @@ -6,7 +6,7 @@ Phaser CE Class: Quintic - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 190 + src/tween/Easing.js line 190 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 192 + src/tween/Easing.js line 192 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 218 + src/tween/Easing.js line 218 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 205 + src/tween/Easing.js line 205 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Sinusoidal.html b/docs/Phaser.Easing.Sinusoidal.html index 804817c14..ce53aca8d 100644 --- a/docs/Phaser.Easing.Sinusoidal.html +++ b/docs/Phaser.Easing.Sinusoidal.html @@ -6,7 +6,7 @@ Phaser CE Class: Sinusoidal - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 239 + src/tween/Easing.js line 239 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 241 + src/tween/Easing.js line 241 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 271 + src/tween/Easing.js line 271 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 256 + src/tween/Easing.js line 256 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.html b/docs/Phaser.Easing.html index 2837d3454..89ea19344 100644 --- a/docs/Phaser.Easing.html +++ b/docs/Phaser.Easing.html @@ -6,7 +6,7 @@ Phaser CE Class: Easing - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 14 + src/tween/Easing.js line 14 @@ -274,9 +274,9 @@

Classes

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -293,7 +293,7 @@

Classes

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -322,7 +322,7 @@

Classes

- + diff --git a/docs/Phaser.Ellipse.html b/docs/Phaser.Ellipse.html index be4a51f54..d59ed7673 100644 --- a/docs/Phaser.Ellipse.html +++ b/docs/Phaser.Ellipse.html @@ -6,7 +6,7 @@ Phaser CE Class: Ellipse - + @@ -370,7 +370,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 18 + src/geom/Ellipse.js line 18 @@ -475,7 +475,7 @@
Type:
Source:
- src/geom/Ellipse.js line 251 + src/geom/Ellipse.js line 251 @@ -553,7 +553,7 @@
Type:
Source:
- src/geom/Ellipse.js line 276 + src/geom/Ellipse.js line 276 @@ -630,7 +630,7 @@
Type:
Source:
- src/geom/Ellipse.js line 43 + src/geom/Ellipse.js line 43 @@ -696,7 +696,7 @@

Source:
- src/geom/Ellipse.js line 190 + src/geom/Ellipse.js line 190 @@ -773,7 +773,7 @@
Type:
Source:
- src/geom/Ellipse.js line 209 + src/geom/Ellipse.js line 209 @@ -850,7 +850,7 @@
Type:
Source:
- src/geom/Ellipse.js line 234 + src/geom/Ellipse.js line 234 @@ -927,7 +927,7 @@
Type:
Source:
- src/geom/Ellipse.js line 49 + src/geom/Ellipse.js line 49 @@ -1004,7 +1004,7 @@
Type:
Source:
- src/geom/Ellipse.js line 38 + src/geom/Ellipse.js line 38 @@ -1081,7 +1081,7 @@
Type:
Source:
- src/geom/Ellipse.js line 28 + src/geom/Ellipse.js line 28 @@ -1158,7 +1158,7 @@
Type:
Source:
- src/geom/Ellipse.js line 33 + src/geom/Ellipse.js line 33 @@ -1334,7 +1334,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 299 + src/geom/Ellipse.js line 299 @@ -1568,7 +1568,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 325 + src/geom/Ellipse.js line 325 @@ -1726,7 +1726,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 117 + src/geom/Ellipse.js line 117 @@ -1908,7 +1908,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 138 + src/geom/Ellipse.js line 138 @@ -2066,7 +2066,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 87 + src/geom/Ellipse.js line 87 @@ -2224,7 +2224,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 100 + src/geom/Ellipse.js line 100 @@ -2332,7 +2332,7 @@

Source:
- src/geom/Ellipse.js line 75 + src/geom/Ellipse.js line 75 @@ -2506,7 +2506,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 152 + src/geom/Ellipse.js line 152 @@ -2736,7 +2736,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 55 + src/geom/Ellipse.js line 55 @@ -2844,7 +2844,7 @@

Source:
- src/geom/Ellipse.js line 177 + src/geom/Ellipse.js line 177 @@ -2911,9 +2911,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2930,7 +2930,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2959,7 +2959,7 @@
Returns:
- + diff --git a/docs/Phaser.Events.html b/docs/Phaser.Events.html index 7fd89580e..d1d3b4162 100644 --- a/docs/Phaser.Events.html +++ b/docs/Phaser.Events.html @@ -6,7 +6,7 @@ Phaser CE Class: Events - + @@ -240,7 +240,7 @@
Parameters:
Source:
- src/gameobjects/components/Events.js line 30 + src/gameobjects/components/Events.js line 30 @@ -350,7 +350,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 85 + src/gameobjects/components/Events.js line 85 @@ -434,7 +434,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 273 + src/gameobjects/components/Events.js line 273 @@ -518,7 +518,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 286 + src/gameobjects/components/Events.js line 286 @@ -602,7 +602,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 260 + src/gameobjects/components/Events.js line 260 @@ -684,7 +684,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 107 + src/gameobjects/components/Events.js line 107 @@ -770,7 +770,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 218 + src/gameobjects/components/Events.js line 218 @@ -853,7 +853,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 247 + src/gameobjects/components/Events.js line 247 @@ -941,7 +941,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 235 + src/gameobjects/components/Events.js line 235 @@ -1023,7 +1023,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 152 + src/gameobjects/components/Events.js line 152 @@ -1107,7 +1107,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 189 + src/gameobjects/components/Events.js line 189 @@ -1190,7 +1190,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 176 + src/gameobjects/components/Events.js line 176 @@ -1273,7 +1273,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 164 + src/gameobjects/components/Events.js line 164 @@ -1358,7 +1358,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 203 + src/gameobjects/components/Events.js line 203 @@ -1441,7 +1441,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 119 + src/gameobjects/components/Events.js line 119 @@ -1523,7 +1523,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 141 + src/gameobjects/components/Events.js line 141 @@ -1605,7 +1605,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 96 + src/gameobjects/components/Events.js line 96 @@ -1687,7 +1687,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 130 + src/gameobjects/components/Events.js line 130 @@ -1764,7 +1764,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 35 + src/gameobjects/components/Events.js line 35 @@ -1842,7 +1842,7 @@

Source:
- src/gameobjects/components/Events.js line 43 + src/gameobjects/components/Events.js line 43 @@ -1885,9 +1885,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1904,7 +1904,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1933,7 +1933,7 @@

- + diff --git a/docs/Phaser.Filter.html b/docs/Phaser.Filter.html index 93301b317..7e92deadb 100644 --- a/docs/Phaser.Filter.html +++ b/docs/Phaser.Filter.html @@ -6,7 +6,7 @@ Phaser CE Class: Filter - + @@ -323,7 +323,7 @@

Parameters:
Source:
- src/core/Filter.js line 35 + src/core/Filter.js line 35 @@ -435,7 +435,7 @@
Type:
Source:
- src/core/Filter.js line 66 + src/core/Filter.js line 66 @@ -515,7 +515,7 @@
Type:
Source:
- src/core/Filter.js line 120 + src/core/Filter.js line 120 @@ -592,7 +592,7 @@
Type:
Source:
- src/core/Filter.js line 40 + src/core/Filter.js line 40 @@ -669,7 +669,7 @@
Type:
Source:
- src/core/Filter.js line 285 + src/core/Filter.js line 285 @@ -746,7 +746,7 @@
Type:
Source:
- src/core/Filter.js line 72 + src/core/Filter.js line 72 @@ -823,7 +823,7 @@
Type:
Source:
- src/core/Filter.js line 77 + src/core/Filter.js line 77 @@ -900,7 +900,7 @@
Type:
Source:
- src/core/Filter.js line 46 + src/core/Filter.js line 46 @@ -977,7 +977,7 @@
Type:
Source:
- src/core/Filter.js line 88 + src/core/Filter.js line 88 @@ -1054,7 +1054,7 @@
Type:
Source:
- src/core/Filter.js line 265 + src/core/Filter.js line 265 @@ -1402,7 +1402,7 @@
Parameters:
Source:
- src/core/Filter.js line 176 + src/core/Filter.js line 176 @@ -1510,7 +1510,7 @@

Source:
- src/core/Filter.js line 244 + src/core/Filter.js line 244 @@ -1594,7 +1594,7 @@

Source:
- src/core/Filter.js line 126 + src/core/Filter.js line 126 @@ -1752,7 +1752,7 @@
Parameters:
Source:
- src/core/Filter.js line 137 + src/core/Filter.js line 137 @@ -1836,7 +1836,7 @@

Source:
- src/core/Filter.js line 230 + src/core/Filter.js line 230 @@ -1982,7 +1982,7 @@
Parameters:
Source:
- src/core/Filter.js line 151 + src/core/Filter.js line 151 @@ -2025,9 +2025,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2044,7 +2044,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2073,7 +2073,7 @@
Parameters:
- + diff --git a/docs/Phaser.FlexGrid.html b/docs/Phaser.FlexGrid.html index 22ca0a196..e3f812de2 100644 --- a/docs/Phaser.FlexGrid.html +++ b/docs/Phaser.FlexGrid.html @@ -6,7 +6,7 @@ Phaser CE Class: FlexGrid - + @@ -282,7 +282,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 21 + src/core/FlexGrid.js line 21 @@ -387,7 +387,7 @@
Type:
Source:
- src/core/FlexGrid.js line 26 + src/core/FlexGrid.js line 26 @@ -464,7 +464,7 @@
Type:
Source:
- src/core/FlexGrid.js line 31 + src/core/FlexGrid.js line 31 @@ -579,7 +579,7 @@
Properties:
Source:
- src/core/FlexGrid.js line 46 + src/core/FlexGrid.js line 46 @@ -694,7 +694,7 @@
Properties:
Source:
- src/core/FlexGrid.js line 55 + src/core/FlexGrid.js line 55 @@ -898,7 +898,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 104 + src/core/FlexGrid.js line 104 @@ -1068,7 +1068,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 194 + src/core/FlexGrid.js line 194 @@ -1238,7 +1238,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 141 + src/core/FlexGrid.js line 141 @@ -1408,7 +1408,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 170 + src/core/FlexGrid.js line 170 @@ -1516,7 +1516,7 @@

Source:
- src/core/FlexGrid.js line 299 + src/core/FlexGrid.js line 299 @@ -1650,7 +1650,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 284 + src/core/FlexGrid.js line 284 @@ -1808,7 +1808,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 240 + src/core/FlexGrid.js line 240 @@ -1892,7 +1892,7 @@

Source:
- src/core/FlexGrid.js line 256 + src/core/FlexGrid.js line 256 @@ -1976,7 +1976,7 @@

Source:
- src/core/FlexGrid.js line 218 + src/core/FlexGrid.js line 218 @@ -2134,7 +2134,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 77 + src/core/FlexGrid.js line 77 @@ -2177,9 +2177,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2196,7 +2196,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2225,7 +2225,7 @@
Parameters:
- + diff --git a/docs/Phaser.FlexLayer.html b/docs/Phaser.FlexLayer.html index 3e58f2bd4..d00314580 100644 --- a/docs/Phaser.FlexLayer.html +++ b/docs/Phaser.FlexLayer.html @@ -6,7 +6,7 @@ Phaser CE Class: FlexLayer - + @@ -305,7 +305,7 @@
Parameters:
Source:
- src/core/FlexLayer.js line 22 + src/core/FlexLayer.js line 22 @@ -437,7 +437,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -523,7 +523,7 @@
Type:
Source:
- src/core/Group.js line 3227 + src/core/Group.js line 3227 @@ -612,7 +612,7 @@
Type:
Source:
- src/core/Group.js line 2887 + src/core/Group.js line 2887 @@ -700,7 +700,7 @@
Type:
Source:
- src/core/Group.js line 3050 + src/core/Group.js line 3050 @@ -773,7 +773,7 @@
Type:
Source:
- src/core/FlexLayer.js line 76 + src/core/FlexLayer.js line 76 @@ -846,7 +846,7 @@
Type:
Source:
- src/core/FlexLayer.js line 81 + src/core/FlexLayer.js line 81 @@ -919,7 +919,7 @@
Type:
Source:
- src/core/FlexLayer.js line 86 + src/core/FlexLayer.js line 86 @@ -992,7 +992,7 @@
Type:
Source:
- src/core/FlexLayer.js line 51 + src/core/FlexLayer.js line 51 @@ -1085,7 +1085,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1172,7 +1172,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1260,7 +1260,7 @@
Type:
Source:
- src/core/Group.js line 2910 + src/core/Group.js line 2910 @@ -1348,7 +1348,7 @@
Type:
Source:
- src/core/Group.js line 2938 + src/core/Group.js line 2938 @@ -1434,7 +1434,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1528,7 +1528,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -1615,7 +1615,7 @@
Type:
Source:
- src/core/Group.js line 137 + src/core/Group.js line 137 @@ -1701,7 +1701,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -1789,7 +1789,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -1876,7 +1876,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -1969,7 +1969,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -2055,7 +2055,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2146,7 +2146,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2234,7 +2234,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -2320,7 +2320,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -2397,7 +2397,7 @@
Type:
Source:
- src/core/FlexLayer.js line 34 + src/core/FlexLayer.js line 34 @@ -2487,7 +2487,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -2583,7 +2583,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2671,7 +2671,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2757,7 +2757,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -2845,7 +2845,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -2933,7 +2933,7 @@
Type:
Source:
- src/core/Group.js line 2966 + src/core/Group.js line 2966 @@ -3019,7 +3019,7 @@
Type:
Source:
- src/core/Group.js line 2870 + src/core/Group.js line 2870 @@ -3134,7 +3134,7 @@
Properties:
Source:
- src/core/FlexLayer.js line 29 + src/core/FlexLayer.js line 29 @@ -3223,7 +3223,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -3309,7 +3309,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3399,7 +3399,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -3489,7 +3489,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -3579,7 +3579,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -3670,7 +3670,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -3756,7 +3756,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -3845,7 +3845,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -3935,7 +3935,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -4012,7 +4012,7 @@
Type:
Source:
- src/core/FlexLayer.js line 41 + src/core/FlexLayer.js line 41 @@ -4099,7 +4099,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -4192,7 +4192,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -4278,7 +4278,7 @@
Type:
Source:
- src/core/Group.js line 86 + src/core/Group.js line 86 @@ -4365,7 +4365,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4443,7 +4443,7 @@
Type:
Source:
- src/core/FlexLayer.js line 46 + src/core/FlexLayer.js line 46 @@ -4530,7 +4530,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4618,7 +4618,7 @@
Type:
Source:
- src/core/Group.js line 2994 + src/core/Group.js line 2994 @@ -4706,7 +4706,7 @@
Type:
Source:
- src/core/Group.js line 3211 + src/core/Group.js line 3211 @@ -4784,7 +4784,7 @@
Type:
Source:
- src/core/FlexLayer.js line 56 + src/core/FlexLayer.js line 56 @@ -4872,7 +4872,7 @@
Type:
Source:
- src/core/Group.js line 3022 + src/core/Group.js line 3022 @@ -4945,7 +4945,7 @@
Type:
Source:
- src/core/FlexLayer.js line 61 + src/core/FlexLayer.js line 61 @@ -5018,7 +5018,7 @@
Type:
Source:
- src/core/FlexLayer.js line 66 + src/core/FlexLayer.js line 66 @@ -5091,7 +5091,7 @@
Type:
Source:
- src/core/FlexLayer.js line 71 + src/core/FlexLayer.js line 71 @@ -5177,7 +5177,7 @@
Type:
Source:
- src/core/Group.js line 2853 + src/core/Group.js line 2853 @@ -5263,7 +5263,7 @@
Type:
Source:
- src/core/Group.js line 80 + src/core/Group.js line 80 @@ -5349,7 +5349,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -5435,7 +5435,7 @@
Type:
Source:
- src/core/Group.js line 3220 + src/core/Group.js line 3220 @@ -5527,7 +5527,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -5618,7 +5618,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -5709,7 +5709,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -5800,7 +5800,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -5891,7 +5891,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -5977,7 +5977,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -6065,7 +6065,7 @@
Type:
Source:
- src/core/Group.js line 3193 + src/core/Group.js line 3193 @@ -6153,7 +6153,7 @@
Type:
Source:
- src/core/Group.js line 3202 + src/core/Group.js line 3202 @@ -6240,7 +6240,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -6478,7 +6478,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -6756,7 +6756,7 @@
Parameters:
Source:
- src/core/Group.js line 1437 + src/core/Group.js line 1437 @@ -6998,7 +6998,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -7165,7 +7165,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7356,7 +7356,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7587,7 +7587,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -7758,7 +7758,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -8153,7 +8153,7 @@
Parameters:
Source:
- src/core/Group.js line 695 + src/core/Group.js line 695 @@ -8496,7 +8496,7 @@
Parameters:
Source:
- src/core/Group.js line 3078 + src/core/Group.js line 3078 @@ -8840,7 +8840,7 @@
Parameters:
Source:
- src/core/Group.js line 3120 + src/core/Group.js line 3120 @@ -9031,7 +9031,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -9174,7 +9174,7 @@
Parameters:
Source:
- src/core/Group.js line 920 + src/core/Group.js line 920 @@ -9437,7 +9437,7 @@
Parameters:
Source:
- src/core/Group.js line 1653 + src/core/Group.js line 1653 @@ -9657,7 +9657,7 @@
Parameters:
Source:
- src/core/Group.js line 1569 + src/core/Group.js line 1569 @@ -9848,7 +9848,7 @@
Parameters:
Source:
- src/core/Group.js line 1603 + src/core/Group.js line 1603 @@ -10164,7 +10164,7 @@
Parameters:
Source:
- src/core/Group.js line 1367 + src/core/Group.js line 1367 @@ -10466,7 +10466,7 @@
Parameters:
Source:
- src/core/Group.js line 1403 + src/core/Group.js line 1403 @@ -10763,7 +10763,7 @@
Parameters:
Source:
- src/core/Group.js line 1230 + src/core/Group.js line 1230 @@ -10930,7 +10930,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -11117,7 +11117,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -11234,7 +11234,7 @@

Source:
- src/core/Group.js line 2503 + src/core/Group.js line 2503 @@ -11351,7 +11351,7 @@

Source:
- src/core/Group.js line 2491 + src/core/Group.js line 2491 @@ -11745,7 +11745,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -12152,7 +12152,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -12365,7 +12365,7 @@
Parameters:
Source:
- src/core/Group.js line 2032 + src/core/Group.js line 2032 @@ -12449,7 +12449,7 @@

Source:
- src/core/FlexLayer.js line 101 + src/core/FlexLayer.js line 101 @@ -12616,7 +12616,7 @@
Parameters:
Source:
- src/core/Group.js line 2088 + src/core/Group.js line 2088 @@ -12820,7 +12820,7 @@
Parameters:
Source:
- src/core/Group.js line 2816 + src/core/Group.js line 2816 @@ -13036,7 +13036,7 @@
Parameters:
Source:
- src/core/Group.js line 1488 + src/core/Group.js line 1488 @@ -13240,7 +13240,7 @@
Parameters:
Source:
- src/core/Group.js line 1814 + src/core/Group.js line 1814 @@ -13544,7 +13544,7 @@
Parameters:
Source:
- src/core/Group.js line 1854 + src/core/Group.js line 1854 @@ -13782,7 +13782,7 @@
Parameters:
Source:
- src/core/Group.js line 1936 + src/core/Group.js line 1936 @@ -14020,7 +14020,7 @@
Parameters:
Source:
- src/core/Group.js line 1964 + src/core/Group.js line 1964 @@ -14258,7 +14258,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -14503,7 +14503,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -14811,7 +14811,7 @@
Parameters:
Source:
- src/core/Group.js line 2557 + src/core/Group.js line 2557 @@ -14980,7 +14980,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -15101,7 +15101,7 @@

Source:
- src/core/Group.js line 2372 + src/core/Group.js line 2372 @@ -15283,7 +15283,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -15452,7 +15452,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -15619,7 +15619,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -15786,7 +15786,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -16037,7 +16037,7 @@
Parameters:
Source:
- src/core/Group.js line 2389 + src/core/Group.js line 2389 @@ -16228,7 +16228,7 @@
Parameters:
Source:
- src/core/Group.js line 2208 + src/core/Group.js line 2208 @@ -16587,7 +16587,7 @@
Parameters:
Source:
- src/core/Group.js line 2256 + src/core/Group.js line 2256 @@ -16946,7 +16946,7 @@
Parameters:
Source:
- src/core/Group.js line 2286 + src/core/Group.js line 2286 @@ -17344,7 +17344,7 @@
Parameters:
Source:
- src/core/Group.js line 2222 + src/core/Group.js line 2222 @@ -17595,7 +17595,7 @@
Parameters:
Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -17762,7 +17762,7 @@
Parameters:
Source:
- src/core/Group.js line 1042 + src/core/Group.js line 1042 @@ -17879,7 +17879,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -18106,7 +18106,7 @@
Parameters:
Source:
- src/core/Group.js line 2515 + src/core/Group.js line 2515 @@ -18334,7 +18334,7 @@
Parameters:
Source:
- src/core/Group.js line 2537 + src/core/Group.js line 2537 @@ -18452,7 +18452,7 @@

Source:
- src/core/Group.js line 2355 + src/core/Group.js line 2355 @@ -18644,7 +18644,7 @@
Parameters:
Source:
- src/core/Group.js line 1117 + src/core/Group.js line 1117 @@ -19031,7 +19031,7 @@
Parameters:
Source:
- src/core/Group.js line 2113 + src/core/Group.js line 2113 @@ -19148,7 +19148,7 @@

Source:
- src/core/Group.js line 1505 + src/core/Group.js line 1505 @@ -19241,7 +19241,7 @@

Source:
- src/core/Group.js line 1518 + src/core/Group.js line 1518 @@ -19440,7 +19440,7 @@
Parameters:
Source:
- src/core/Group.js line 2651 + src/core/Group.js line 2651 @@ -19607,7 +19607,7 @@
Parameters:
Source:
- src/core/Group.js line 982 + src/core/Group.js line 982 @@ -19774,7 +19774,7 @@
Parameters:
Source:
- src/core/Group.js line 958 + src/core/Group.js line 958 @@ -20014,7 +20014,7 @@
Parameters:
Source:
- src/core/Group.js line 1471 + src/core/Group.js line 1471 @@ -20108,7 +20108,7 @@

Source:
- src/core/Group.js line 846 + src/core/Group.js line 846 @@ -20225,7 +20225,7 @@

Source:
- src/core/Group.js line 1793 + src/core/Group.js line 1793 @@ -20318,7 +20318,7 @@

Source:
- src/core/Group.js line 1726 + src/core/Group.js line 1726 @@ -20412,7 +20412,7 @@

Source:
- src/core/Group.js line 875 + src/core/Group.js line 875 @@ -20677,7 +20677,7 @@
Parameters:
Source:
- src/core/Group.js line 2603 + src/core/Group.js line 2603 @@ -20947,7 +20947,7 @@
Parameters:
Source:
- src/core/Group.js line 2680 + src/core/Group.js line 2680 @@ -21224,7 +21224,7 @@
Parameters:
Source:
- src/core/Group.js line 2728 + src/core/Group.js line 2728 @@ -21367,7 +21367,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -21534,7 +21534,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -21725,7 +21725,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -21869,7 +21869,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -22062,7 +22062,7 @@
Parameters:
Source:
- src/core/Group.js line 1078 + src/core/Group.js line 1078 @@ -22416,7 +22416,7 @@
Parameters:
Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -22722,7 +22722,7 @@
Parameters:
Source:
- src/core/Group.js line 2316 + src/core/Group.js line 2316 @@ -22910,7 +22910,7 @@
Parameters:
Source:
- src/core/Group.js line 819 + src/core/Group.js line 819 @@ -23018,7 +23018,7 @@

Source:
- src/core/FlexLayer.js line 93 + src/core/FlexLayer.js line 93 @@ -23112,7 +23112,7 @@

Source:
- src/core/Group.js line 1028 + src/core/Group.js line 1028 @@ -23205,7 +23205,7 @@

Source:
- src/core/Group.js line 1529 + src/core/Group.js line 1529 @@ -23298,7 +23298,7 @@

Source:
- src/core/Group.js line 1542 + src/core/Group.js line 1542 @@ -23501,7 +23501,7 @@
Parameters:
Source:
- src/core/Group.js line 2783 + src/core/Group.js line 2783 @@ -23644,7 +23644,7 @@
Parameters:
Source:
- src/core/Group.js line 939 + src/core/Group.js line 939 @@ -24060,7 +24060,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -24442,7 +24442,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -24800,7 +24800,7 @@
Parameters:
Source:
- src/core/Group.js line 1326 + src/core/Group.js line 1326 @@ -24967,7 +24967,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -25286,7 +25286,7 @@
Parameters:
Source:
- src/core/Group.js line 1152 + src/core/Group.js line 1152 @@ -25404,7 +25404,7 @@

Source:
- src/core/Group.js line 2802 + src/core/Group.js line 2802 @@ -25611,7 +25611,7 @@
Parameters:
Source:
- src/core/Group.js line 1992 + src/core/Group.js line 1992 @@ -25827,7 +25827,7 @@
Parameters:
Source:
- src/core/Group.js line 1454 + src/core/Group.js line 1454 @@ -25995,7 +25995,7 @@
Parameters:
Source:
- src/core/Group.js line 904 + src/core/Group.js line 904 @@ -26162,7 +26162,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -26305,7 +26305,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -26518,7 +26518,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -26638,7 +26638,7 @@

Source:
- src/core/Group.js line 1765 + src/core/Group.js line 1765 @@ -26731,7 +26731,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -26920,7 +26920,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -27040,7 +27040,7 @@

Source:
- src/core/Group.js line 676 + src/core/Group.js line 676 @@ -27231,7 +27231,7 @@
Parameters:
Source:
- src/core/Group.js line 1006 + src/core/Group.js line 1006 @@ -27274,9 +27274,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -27293,7 +27293,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -27322,7 +27322,7 @@
Parameters:
- + diff --git a/docs/Phaser.Frame.html b/docs/Phaser.Frame.html index 5c698b136..c6700f568 100644 --- a/docs/Phaser.Frame.html +++ b/docs/Phaser.Frame.html @@ -6,7 +6,7 @@ Phaser CE Class: Frame - + @@ -350,7 +350,7 @@
Parameters:
Source:
- src/animation/Frame.js line 19 + src/animation/Frame.js line 19 @@ -455,7 +455,7 @@
Type:
Source:
- src/animation/Frame.js line 125 + src/animation/Frame.js line 125 @@ -532,7 +532,7 @@
Type:
Source:
- src/animation/Frame.js line 59 + src/animation/Frame.js line 59 @@ -609,7 +609,7 @@
Type:
Source:
- src/animation/Frame.js line 64 + src/animation/Frame.js line 64 @@ -686,7 +686,7 @@
Type:
Source:
- src/animation/Frame.js line 69 + src/animation/Frame.js line 69 @@ -763,7 +763,7 @@
Type:
Source:
- src/animation/Frame.js line 44 + src/animation/Frame.js line 44 @@ -840,7 +840,7 @@
Type:
Source:
- src/animation/Frame.js line 24 + src/animation/Frame.js line 24 @@ -917,7 +917,7 @@
Type:
Source:
- src/animation/Frame.js line 54 + src/animation/Frame.js line 54 @@ -994,7 +994,7 @@
Type:
Source:
- src/animation/Frame.js line 120 + src/animation/Frame.js line 120 @@ -1071,7 +1071,7 @@
Type:
Source:
- src/animation/Frame.js line 75 + src/animation/Frame.js line 75 @@ -1148,7 +1148,7 @@
Type:
Source:
- src/animation/Frame.js line 91 + src/animation/Frame.js line 91 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/animation/Frame.js line 86 + src/animation/Frame.js line 86 @@ -1302,7 +1302,7 @@
Type:
Source:
- src/animation/Frame.js line 115 + src/animation/Frame.js line 115 @@ -1379,7 +1379,7 @@
Type:
Source:
- src/animation/Frame.js line 109 + src/animation/Frame.js line 109 @@ -1456,7 +1456,7 @@
Type:
Source:
- src/animation/Frame.js line 97 + src/animation/Frame.js line 97 @@ -1533,7 +1533,7 @@
Type:
Source:
- src/animation/Frame.js line 103 + src/animation/Frame.js line 103 @@ -1610,7 +1610,7 @@
Type:
Source:
- src/animation/Frame.js line 81 + src/animation/Frame.js line 81 @@ -1687,7 +1687,7 @@
Type:
Source:
- src/animation/Frame.js line 39 + src/animation/Frame.js line 39 @@ -1764,7 +1764,7 @@
Type:
Source:
- src/animation/Frame.js line 29 + src/animation/Frame.js line 29 @@ -1841,7 +1841,7 @@
Type:
Source:
- src/animation/Frame.js line 34 + src/animation/Frame.js line 34 @@ -1920,7 +1920,7 @@

Source:
- src/animation/Frame.js line 182 + src/animation/Frame.js line 182 @@ -2090,7 +2090,7 @@
Parameters:
Source:
- src/animation/Frame.js line 205 + src/animation/Frame.js line 205 @@ -2272,7 +2272,7 @@
Parameters:
Source:
- src/animation/Frame.js line 131 + src/animation/Frame.js line 131 @@ -2550,7 +2550,7 @@
Parameters:
Source:
- src/animation/Frame.js line 152 + src/animation/Frame.js line 152 @@ -2593,9 +2593,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2612,7 +2612,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2641,7 +2641,7 @@
Parameters:
- + diff --git a/docs/Phaser.FrameData.html b/docs/Phaser.FrameData.html index a481dbc1e..c89c23450 100644 --- a/docs/Phaser.FrameData.html +++ b/docs/Phaser.FrameData.html @@ -6,7 +6,7 @@ Phaser CE Class: FrameData - + @@ -180,7 +180,7 @@

Source:
- src/animation/FrameData.js line 13 + src/animation/FrameData.js line 13 @@ -285,7 +285,7 @@
Type:
Source:
- src/animation/FrameData.js line 267 + src/animation/FrameData.js line 267 @@ -413,7 +413,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 31 + src/animation/FrameData.js line 31 @@ -571,7 +571,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 89 + src/animation/FrameData.js line 89 @@ -679,7 +679,7 @@

Source:
- src/animation/FrameData.js line 107 + src/animation/FrameData.js line 107 @@ -787,7 +787,7 @@

Source:
- src/animation/FrameData.js line 251 + src/animation/FrameData.js line 251 @@ -921,7 +921,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 53 + src/animation/FrameData.js line 53 @@ -1079,7 +1079,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 71 + src/animation/FrameData.js line 71 @@ -1334,7 +1334,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 204 + src/animation/FrameData.js line 204 @@ -1568,7 +1568,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 135 + src/animation/FrameData.js line 135 @@ -1823,7 +1823,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 157 + src/animation/FrameData.js line 157 @@ -1890,9 +1890,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1909,7 +1909,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1938,7 +1938,7 @@
Returns:
- + diff --git a/docs/Phaser.Game.html b/docs/Phaser.Game.html index 1577ea00c..90dc581a8 100644 --- a/docs/Phaser.Game.html +++ b/docs/Phaser.Game.html @@ -6,7 +6,7 @@ Phaser CE Class: Game - + @@ -577,7 +577,7 @@
Parameters:
Source:
- src/core/Game.js line 73 + src/core/Game.js line 73 @@ -682,7 +682,7 @@
Type:
Source:
- src/core/Game.js line 220 + src/core/Game.js line 220 @@ -766,7 +766,7 @@
Type:
Source:
- src/core/Game.js line 152 + src/core/Game.js line 152 @@ -843,7 +843,7 @@
Type:
Source:
- src/core/Game.js line 230 + src/core/Game.js line 230 @@ -920,7 +920,7 @@
Type:
Source:
- src/core/Game.js line 305 + src/core/Game.js line 305 @@ -997,7 +997,7 @@
Type:
Source:
- src/core/Game.js line 310 + src/core/Game.js line 310 @@ -1083,7 +1083,7 @@
Type:
Source:
- src/core/Game.js line 180 + src/core/Game.js line 180 @@ -1160,7 +1160,7 @@
Type:
Source:
- src/core/Game.js line 84 + src/core/Game.js line 84 @@ -1237,7 +1237,7 @@
Type:
Source:
- src/core/Game.js line 315 + src/core/Game.js line 315 @@ -1314,7 +1314,7 @@
Type:
Source:
- src/core/Game.js line 330 + src/core/Game.js line 330 @@ -1392,7 +1392,7 @@
Type:
Source:
- src/core/Game.js line 400 + src/core/Game.js line 400 @@ -1469,7 +1469,7 @@
Type:
Source:
- src/core/Game.js line 320 + src/core/Game.js line 320 @@ -1546,7 +1546,7 @@
Type:
Source:
- src/core/Game.js line 300 + src/core/Game.js line 300 @@ -1623,7 +1623,7 @@
Type:
Source:
- src/core/Game.js line 444 + src/core/Game.js line 444 @@ -1701,7 +1701,7 @@
Type:
Source:
- src/core/Game.js line 439 + src/core/Game.js line 439 @@ -1786,7 +1786,7 @@
Type:
Source:
- src/core/Game.js line 118 + src/core/Game.js line 118 @@ -1863,7 +1863,7 @@
Type:
Source:
- src/core/Game.js line 79 + src/core/Game.js line 79 @@ -1940,7 +1940,7 @@
Type:
Source:
- src/core/Game.js line 235 + src/core/Game.js line 235 @@ -2017,7 +2017,7 @@
Type:
Source:
- src/core/Game.js line 203 + src/core/Game.js line 203 @@ -2094,7 +2094,7 @@
Type:
Source:
- src/core/Game.js line 209 + src/core/Game.js line 209 @@ -2171,7 +2171,7 @@
Type:
Source:
- src/core/Game.js line 240 + src/core/Game.js line 240 @@ -2250,7 +2250,7 @@
Type:
Source:
- src/core/Game.js line 339 + src/core/Game.js line 339 @@ -2327,7 +2327,7 @@
Type:
Source:
- src/core/Game.js line 225 + src/core/Game.js line 225 @@ -2404,7 +2404,7 @@
Type:
Source:
- src/core/Game.js line 245 + src/core/Game.js line 245 @@ -2485,7 +2485,7 @@
Type:
Source:
- src/core/Game.js line 165 + src/core/Game.js line 165 @@ -2562,7 +2562,7 @@
Type:
Source:
- src/core/Game.js line 250 + src/core/Game.js line 250 @@ -2639,7 +2639,7 @@
Type:
Source:
- src/core/Game.js line 375 + src/core/Game.js line 375 @@ -2716,7 +2716,7 @@
Type:
Source:
- src/core/Game.js line 380 + src/core/Game.js line 380 @@ -2793,7 +2793,7 @@
Type:
Source:
- src/core/Game.js line 365 + src/core/Game.js line 365 @@ -2870,7 +2870,7 @@
Type:
Source:
- src/core/Game.js line 370 + src/core/Game.js line 370 @@ -2950,7 +2950,7 @@
Type:
Source:
- src/core/Game.js line 96 + src/core/Game.js line 96 @@ -3027,7 +3027,7 @@
Type:
Source:
- src/core/Game.js line 325 + src/core/Game.js line 325 @@ -3105,7 +3105,7 @@
Type:
Source:
- src/core/Game.js line 1271 + src/core/Game.js line 1271 @@ -3182,7 +3182,7 @@
Type:
Source:
- src/core/Game.js line 353 + src/core/Game.js line 353 @@ -3259,7 +3259,7 @@
Type:
Source:
- src/core/Game.js line 285 + src/core/Game.js line 285 @@ -3336,7 +3336,7 @@
Type:
Source:
- src/core/Game.js line 89 + src/core/Game.js line 89 @@ -3413,7 +3413,7 @@
Type:
Source:
- src/core/Game.js line 290 + src/core/Game.js line 290 @@ -3490,7 +3490,7 @@
Type:
Source:
- src/core/Game.js line 171 + src/core/Game.js line 171 @@ -3567,7 +3567,7 @@
Type:
Source:
- src/core/Game.js line 215 + src/core/Game.js line 215 @@ -3647,7 +3647,7 @@
Type:
Source:
- src/core/Game.js line 186 + src/core/Game.js line 186 @@ -3724,7 +3724,7 @@
Type:
Source:
- src/core/Game.js line 192 + src/core/Game.js line 192 @@ -3808,7 +3808,7 @@
Type:
Source:
- src/core/Game.js line 127 + src/core/Game.js line 127 @@ -3885,7 +3885,7 @@
Type:
Source:
- src/core/Game.js line 295 + src/core/Game.js line 295 @@ -3962,7 +3962,7 @@
Type:
Source:
- src/core/Game.js line 255 + src/core/Game.js line 255 @@ -4039,7 +4039,7 @@
Type:
Source:
- src/core/Game.js line 260 + src/core/Game.js line 260 @@ -4116,7 +4116,7 @@
Type:
Source:
- src/core/Game.js line 265 + src/core/Game.js line 265 @@ -4193,7 +4193,7 @@
Type:
Source:
- src/core/Game.js line 197 + src/core/Game.js line 197 @@ -4270,7 +4270,7 @@
Type:
Source:
- src/core/Game.js line 360 + src/core/Game.js line 360 @@ -4347,7 +4347,7 @@
Type:
Source:
- src/core/Game.js line 346 + src/core/Game.js line 346 @@ -4424,7 +4424,7 @@
Type:
Source:
- src/core/Game.js line 270 + src/core/Game.js line 270 @@ -4501,7 +4501,7 @@
Type:
Source:
- src/core/Game.js line 145 + src/core/Game.js line 145 @@ -4578,7 +4578,7 @@
Type:
Source:
- src/core/Game.js line 275 + src/core/Game.js line 275 @@ -4655,7 +4655,7 @@
Type:
Source:
- src/core/Game.js line 407 + src/core/Game.js line 407 @@ -4740,7 +4740,7 @@
Type:
Source:
- src/core/Game.js line 107 + src/core/Game.js line 107 @@ -4817,7 +4817,7 @@
Type:
Source:
- src/core/Game.js line 280 + src/core/Game.js line 280 @@ -4895,7 +4895,7 @@

Source:
- src/core/Game.js line 614 + src/core/Game.js line 614 @@ -4982,7 +4982,7 @@

Source:
- src/core/Game.js line 1112 + src/core/Game.js line 1112 @@ -5066,7 +5066,7 @@

Source:
- src/core/Game.js line 1087 + src/core/Game.js line 1087 @@ -5151,7 +5151,7 @@

Source:
- src/core/Game.js line 1073 + src/core/Game.js line 1073 @@ -5285,7 +5285,7 @@
Parameters:
Source:
- src/core/Game.js line 1249 + src/core/Game.js line 1249 @@ -5419,7 +5419,7 @@
Parameters:
Source:
- src/core/Game.js line 1231 + src/core/Game.js line 1231 @@ -5553,7 +5553,7 @@
Parameters:
Source:
- src/core/Game.js line 1165 + src/core/Game.js line 1165 @@ -5687,7 +5687,7 @@
Parameters:
Source:
- src/core/Game.js line 1197 + src/core/Game.js line 1197 @@ -5771,7 +5771,7 @@

Source:
- src/core/Game.js line 529 + src/core/Game.js line 529 @@ -5855,7 +5855,7 @@

Source:
- src/core/Game.js line 779 + src/core/Game.js line 779 @@ -5939,7 +5939,7 @@

Source:
- src/core/Game.js line 712 + src/core/Game.js line 712 @@ -6024,7 +6024,7 @@

Source:
- src/core/Game.js line 1099 + src/core/Game.js line 1099 @@ -6158,7 +6158,7 @@
Parameters:
Source:
- src/core/Game.js line 889 + src/core/Game.js line 889 @@ -6292,7 +6292,7 @@
Parameters:
Source:
- src/core/Game.js line 989 + src/core/Game.js line 989 @@ -6434,7 +6434,7 @@
Parameters:
Source:
- src/core/Game.js line 1036 + src/core/Game.js line 1036 @@ -6477,9 +6477,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -6496,7 +6496,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -6525,7 +6525,7 @@
Parameters:
- + diff --git a/docs/Phaser.GameObjectCreator.html b/docs/Phaser.GameObjectCreator.html index 586d58fe4..66a64e06c 100644 --- a/docs/Phaser.GameObjectCreator.html +++ b/docs/Phaser.GameObjectCreator.html @@ -6,7 +6,7 @@ Phaser CE Class: GameObjectCreator - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 15 + src/gameobjects/GameObjectCreator.js line 15 @@ -336,7 +336,7 @@
Type:
Source:
- src/gameobjects/GameObjectCreator.js line 21 + src/gameobjects/GameObjectCreator.js line 21 @@ -413,7 +413,7 @@
Type:
Source:
- src/gameobjects/GameObjectCreator.js line 27 + src/gameobjects/GameObjectCreator.js line 27 @@ -677,7 +677,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 118 + src/gameobjects/GameObjectCreator.js line 118 @@ -835,7 +835,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 134 + src/gameobjects/GameObjectCreator.js line 134 @@ -1134,7 +1134,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 379 + src/gameobjects/GameObjectCreator.js line 379 @@ -1511,7 +1511,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 297 + src/gameobjects/GameObjectCreator.js line 297 @@ -1965,7 +1965,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 215 + src/gameobjects/GameObjectCreator.js line 215 @@ -2226,7 +2226,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 250 + src/gameobjects/GameObjectCreator.js line 250 @@ -2408,7 +2408,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 407 + src/gameobjects/GameObjectCreator.js line 407 @@ -2626,7 +2626,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 236 + src/gameobjects/GameObjectCreator.js line 236 @@ -2960,7 +2960,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 83 + src/gameobjects/GameObjectCreator.js line 83 @@ -3237,7 +3237,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 33 + src/gameobjects/GameObjectCreator.js line 33 @@ -3535,7 +3535,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 353 + src/gameobjects/GameObjectCreator.js line 353 @@ -4019,7 +4019,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 269 + src/gameobjects/GameObjectCreator.js line 269 @@ -4309,7 +4309,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 181 + src/gameobjects/GameObjectCreator.js line 181 @@ -4603,7 +4603,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 147 + src/gameobjects/GameObjectCreator.js line 147 @@ -4878,7 +4878,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 52 + src/gameobjects/GameObjectCreator.js line 52 @@ -5132,7 +5132,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 100 + src/gameobjects/GameObjectCreator.js line 100 @@ -5362,7 +5362,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 199 + src/gameobjects/GameObjectCreator.js line 199 @@ -5703,7 +5703,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 331 + src/gameobjects/GameObjectCreator.js line 331 @@ -5966,7 +5966,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 163 + src/gameobjects/GameObjectCreator.js line 163 @@ -6125,7 +6125,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 68 + src/gameobjects/GameObjectCreator.js line 68 @@ -6192,9 +6192,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -6211,7 +6211,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -6240,7 +6240,7 @@
Returns:
- + diff --git a/docs/Phaser.GameObjectFactory.html b/docs/Phaser.GameObjectFactory.html index 666c5868a..146ff8dbd 100644 --- a/docs/Phaser.GameObjectFactory.html +++ b/docs/Phaser.GameObjectFactory.html @@ -6,7 +6,7 @@ Phaser CE Class: GameObjectFactory - + @@ -232,7 +232,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 17 + src/gameobjects/GameObjectFactory.js line 17 @@ -337,7 +337,7 @@
Type:
Source:
- src/gameobjects/GameObjectFactory.js line 23 + src/gameobjects/GameObjectFactory.js line 23 @@ -414,7 +414,7 @@
Type:
Source:
- src/gameobjects/GameObjectFactory.js line 29 + src/gameobjects/GameObjectFactory.js line 29 @@ -678,7 +678,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 236 + src/gameobjects/GameObjectFactory.js line 236 @@ -836,7 +836,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 268 + src/gameobjects/GameObjectFactory.js line 268 @@ -1135,7 +1135,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 532 + src/gameobjects/GameObjectFactory.js line 532 @@ -1510,7 +1510,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 431 + src/gameobjects/GameObjectFactory.js line 431 @@ -2044,7 +2044,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 343 + src/gameobjects/GameObjectFactory.js line 343 @@ -2347,7 +2347,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 131 + src/gameobjects/GameObjectFactory.js line 131 @@ -2608,7 +2608,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 384 + src/gameobjects/GameObjectFactory.js line 384 @@ -2766,7 +2766,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 35 + src/gameobjects/GameObjectFactory.js line 35 @@ -2948,7 +2948,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 560 + src/gameobjects/GameObjectFactory.js line 560 @@ -3204,7 +3204,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 367 + src/gameobjects/GameObjectFactory.js line 367 @@ -3540,7 +3540,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 179 + src/gameobjects/GameObjectFactory.js line 179 @@ -3890,7 +3890,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 84 + src/gameobjects/GameObjectFactory.js line 84 @@ -4188,7 +4188,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 196 + src/gameobjects/GameObjectFactory.js line 196 @@ -4394,7 +4394,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 580 + src/gameobjects/GameObjectFactory.js line 580 @@ -4692,7 +4692,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 490 + src/gameobjects/GameObjectFactory.js line 490 @@ -5176,7 +5176,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 403 + src/gameobjects/GameObjectFactory.js line 403 @@ -5560,7 +5560,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 302 + src/gameobjects/GameObjectFactory.js line 302 @@ -5854,7 +5854,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 252 + src/gameobjects/GameObjectFactory.js line 252 @@ -6204,7 +6204,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 108 + src/gameobjects/GameObjectFactory.js line 108 @@ -6463,7 +6463,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 215 + src/gameobjects/GameObjectFactory.js line 215 @@ -6797,7 +6797,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 324 + src/gameobjects/GameObjectFactory.js line 324 @@ -7138,7 +7138,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 467 + src/gameobjects/GameObjectFactory.js line 467 @@ -7511,7 +7511,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 281 + src/gameobjects/GameObjectFactory.js line 281 @@ -7670,7 +7670,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 164 + src/gameobjects/GameObjectFactory.js line 164 @@ -7895,7 +7895,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 516 + src/gameobjects/GameObjectFactory.js line 516 @@ -8247,7 +8247,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 48 + src/gameobjects/GameObjectFactory.js line 48 @@ -8314,9 +8314,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -8333,7 +8333,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -8362,7 +8362,7 @@
Returns:
- + diff --git a/docs/Phaser.Gamepad.html b/docs/Phaser.Gamepad.html index 901816d72..1d95c1e0c 100644 --- a/docs/Phaser.Gamepad.html +++ b/docs/Phaser.Gamepad.html @@ -6,7 +6,7 @@ Phaser CE Class: Gamepad - + @@ -235,7 +235,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 21 + src/input/Gamepad.js line 21 @@ -340,7 +340,7 @@
Type:
Source:
- src/input/Gamepad.js line 496 + src/input/Gamepad.js line 496 @@ -417,7 +417,7 @@
Type:
Source:
- src/input/Gamepad.js line 80 + src/input/Gamepad.js line 80 @@ -501,7 +501,7 @@
Type:
Source:
- src/input/Gamepad.js line 52 + src/input/Gamepad.js line 52 @@ -578,7 +578,7 @@
Type:
Source:
- src/input/Gamepad.js line 26 + src/input/Gamepad.js line 26 @@ -655,7 +655,7 @@
Type:
Source:
- src/input/Gamepad.js line 105 + src/input/Gamepad.js line 105 @@ -732,7 +732,7 @@
Type:
Source:
- src/input/Gamepad.js line 85 + src/input/Gamepad.js line 85 @@ -809,7 +809,7 @@
Type:
Source:
- src/input/Gamepad.js line 90 + src/input/Gamepad.js line 90 @@ -886,7 +886,7 @@
Type:
Source:
- src/input/Gamepad.js line 95 + src/input/Gamepad.js line 95 @@ -963,7 +963,7 @@
Type:
Source:
- src/input/Gamepad.js line 110 + src/input/Gamepad.js line 110 @@ -1040,7 +1040,7 @@
Type:
Source:
- src/input/Gamepad.js line 100 + src/input/Gamepad.js line 100 @@ -1117,7 +1117,7 @@
Type:
Source:
- src/input/Gamepad.js line 538 + src/input/Gamepad.js line 538 @@ -1194,7 +1194,7 @@
Type:
Source:
- src/input/Gamepad.js line 552 + src/input/Gamepad.js line 552 @@ -1271,7 +1271,7 @@
Type:
Source:
- src/input/Gamepad.js line 566 + src/input/Gamepad.js line 566 @@ -1348,7 +1348,7 @@
Type:
Source:
- src/input/Gamepad.js line 580 + src/input/Gamepad.js line 580 @@ -1425,7 +1425,7 @@
Type:
Source:
- src/input/Gamepad.js line 524 + src/input/Gamepad.js line 524 @@ -1502,7 +1502,7 @@
Type:
Source:
- src/input/Gamepad.js line 510 + src/input/Gamepad.js line 510 @@ -1655,7 +1655,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 139 + src/input/Gamepad.js line 139 @@ -1739,7 +1739,7 @@

Source:
- src/input/Gamepad.js line 476 + src/input/Gamepad.js line 476 @@ -1873,7 +1873,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 457 + src/input/Gamepad.js line 457 @@ -2087,7 +2087,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 415 + src/input/Gamepad.js line 415 @@ -2301,7 +2301,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 436 + src/input/Gamepad.js line 436 @@ -2409,7 +2409,7 @@

Source:
- src/input/Gamepad.js line 400 + src/input/Gamepad.js line 400 @@ -2493,7 +2493,7 @@

Source:
- src/input/Gamepad.js line 373 + src/input/Gamepad.js line 373 @@ -2578,7 +2578,7 @@

Source:
- src/input/Gamepad.js line 162 + src/input/Gamepad.js line 162 @@ -2662,7 +2662,7 @@

Source:
- src/input/Gamepad.js line 386 + src/input/Gamepad.js line 386 @@ -2746,7 +2746,7 @@

Source:
- src/input/Gamepad.js line 231 + src/input/Gamepad.js line 231 @@ -2789,9 +2789,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2808,7 +2808,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2837,7 +2837,7 @@

- + diff --git a/docs/Phaser.Graphics.html b/docs/Phaser.Graphics.html index 1abefaa02..72c795ce5 100644 --- a/docs/Phaser.Graphics.html +++ b/docs/Phaser.Graphics.html @@ -6,7 +6,7 @@ Phaser CE Class: Graphics - + @@ -340,7 +340,7 @@

Parameters:
Source:
- src/gameobjects/Graphics.js line 50 + src/gameobjects/Graphics.js line 50 @@ -498,7 +498,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -594,7 +594,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -685,7 +685,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -772,7 +772,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -869,7 +869,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -953,7 +953,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 127 + src/gameobjects/Graphics.js line 127 @@ -1056,7 +1056,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 93 + src/gameobjects/components/PhysicsBody.js line 93 @@ -1143,7 +1143,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1220,7 +1220,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 161 + src/gameobjects/Graphics.js line 161 @@ -1313,7 +1313,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1400,7 +1400,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1487,7 +1487,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1574,7 +1574,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1666,7 +1666,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 98 + src/gameobjects/components/InWorld.js line 98 @@ -1752,7 +1752,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1838,7 +1838,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1934,7 +1934,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2020,7 +2020,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2107,7 +2107,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2194,7 +2194,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2292,7 +2292,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -2369,7 +2369,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 83 + src/gameobjects/Graphics.js line 83 @@ -2455,7 +2455,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2546,7 +2546,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2639,7 +2639,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2726,7 +2726,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -2812,7 +2812,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -2908,7 +2908,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2996,7 +2996,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3083,7 +3083,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3174,7 +3174,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3267,7 +3267,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3353,7 +3353,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 129 + src/gameobjects/components/InWorld.js line 129 @@ -3430,7 +3430,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 153 + src/gameobjects/Graphics.js line 153 @@ -3532,7 +3532,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3619,7 +3619,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -3709,7 +3709,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -3793,7 +3793,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 100 + src/gameobjects/Graphics.js line 100 @@ -3870,7 +3870,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 91 + src/gameobjects/Graphics.js line 91 @@ -3959,7 +3959,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4046,7 +4046,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4134,7 +4134,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4222,7 +4222,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4308,7 +4308,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 106 + src/gameobjects/components/InWorld.js line 106 @@ -4395,7 +4395,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 115 + src/gameobjects/components/InWorld.js line 115 @@ -4484,7 +4484,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4573,7 +4573,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4650,7 +4650,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 65 + src/gameobjects/Graphics.js line 65 @@ -4737,7 +4737,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4825,7 +4825,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4911,7 +4911,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -4997,7 +4997,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5089,7 +5089,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -5176,7 +5176,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5263,7 +5263,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5352,7 +5352,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5441,7 +5441,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5525,7 +5525,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 118 + src/gameobjects/Graphics.js line 118 @@ -5612,7 +5612,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -5689,7 +5689,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 59 + src/gameobjects/Graphics.js line 59 @@ -5787,7 +5787,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -5875,7 +5875,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -5972,7 +5972,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -6063,7 +6063,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -6154,7 +6154,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -6245,7 +6245,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -6341,7 +6341,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -6427,7 +6427,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -6519,7 +6519,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -6611,7 +6611,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -6700,7 +6700,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -6837,7 +6837,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7028,7 +7028,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7371,7 +7371,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -7715,7 +7715,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8017,7 +8017,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 650 + src/gameobjects/Graphics.js line 650 @@ -8268,7 +8268,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 579 + src/gameobjects/Graphics.js line 579 @@ -8447,7 +8447,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 737 + src/gameobjects/Graphics.js line 737 @@ -8721,7 +8721,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 519 + src/gameobjects/Graphics.js line 519 @@ -8825,7 +8825,7 @@

Source:
- src/gameobjects/Graphics.js line 886 + src/gameobjects/Graphics.js line 886 @@ -8988,7 +8988,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -9142,7 +9142,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 1254 + src/gameobjects/Graphics.js line 1254 @@ -9325,7 +9325,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 266 + src/gameobjects/Graphics.js line 266 @@ -9409,7 +9409,7 @@

Source:
- src/gameobjects/Graphics.js line 1464 + src/gameobjects/Graphics.js line 1464 @@ -9591,7 +9591,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 815 + src/gameobjects/Graphics.js line 815 @@ -9817,7 +9817,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 832 + src/gameobjects/Graphics.js line 832 @@ -9974,7 +9974,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 850 + src/gameobjects/Graphics.js line 850 @@ -10196,7 +10196,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 782 + src/gameobjects/Graphics.js line 782 @@ -10442,7 +10442,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 799 + src/gameobjects/Graphics.js line 799 @@ -10588,7 +10588,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 1476 + src/gameobjects/Graphics.js line 1476 @@ -10802,7 +10802,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 280 + src/gameobjects/Graphics.js line 280 @@ -11035,7 +11035,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 312 + src/gameobjects/Graphics.js line 312 @@ -11119,7 +11119,7 @@

Source:
- src/gameobjects/Graphics.js line 766 + src/gameobjects/Graphics.js line 766 @@ -11380,7 +11380,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 908 + src/gameobjects/Graphics.js line 908 @@ -11493,7 +11493,7 @@

Source:
- src/gameobjects/Graphics.js line 1128 + src/gameobjects/Graphics.js line 1128 @@ -11660,7 +11660,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -11827,7 +11827,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -11940,7 +11940,7 @@

Source:
- src/gameobjects/Graphics.js line 1218 + src/gameobjects/Graphics.js line 1218 @@ -12061,7 +12061,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -12267,7 +12267,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 388 + src/gameobjects/Graphics.js line 388 @@ -12446,7 +12446,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 439 + src/gameobjects/Graphics.js line 439 @@ -12624,7 +12624,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 423 + src/gameobjects/Graphics.js line 423 @@ -12733,7 +12733,7 @@

Source:
- src/gameobjects/Graphics.js line 243 + src/gameobjects/Graphics.js line 243 @@ -12822,7 +12822,7 @@

Source:
- src/gameobjects/Graphics.js line 227 + src/gameobjects/Graphics.js line 227 @@ -12915,7 +12915,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -13122,7 +13122,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 463 + src/gameobjects/Graphics.js line 463 @@ -13285,7 +13285,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -13452,7 +13452,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -13643,7 +13643,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -13882,7 +13882,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -14071,7 +14071,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -14262,7 +14262,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -14429,7 +14429,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -14572,7 +14572,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -14785,7 +14785,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -14906,7 +14906,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -14999,7 +14999,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -15109,7 +15109,7 @@

Source:
- src/gameobjects/Graphics.js line 1285 + src/gameobjects/Graphics.js line 1285 @@ -15272,7 +15272,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -15341,9 +15341,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -15360,7 +15360,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -15389,7 +15389,7 @@
Returns:
- + diff --git a/docs/Phaser.Group.html b/docs/Phaser.Group.html index 133e5de9d..8f233d950 100644 --- a/docs/Phaser.Group.html +++ b/docs/Phaser.Group.html @@ -6,7 +6,7 @@ Phaser CE Class: Group - + @@ -454,7 +454,7 @@
Parameters:
Source:
- src/core/Group.js line 27 + src/core/Group.js line 27 @@ -570,7 +570,7 @@
Type:
Source:
- src/core/Group.js line 332 + src/core/Group.js line 332 @@ -647,7 +647,7 @@
Type:
Source:
- src/core/Group.js line 325 + src/core/Group.js line 325 @@ -724,7 +724,7 @@
Type:
Source:
- src/core/Group.js line 311 + src/core/Group.js line 311 @@ -801,7 +801,7 @@
Type:
Source:
- src/core/Group.js line 318 + src/core/Group.js line 318 @@ -878,7 +878,7 @@
Type:
Source:
- src/core/Group.js line 339 + src/core/Group.js line 339 @@ -955,7 +955,7 @@
Type:
Source:
- src/core/Group.js line 346 + src/core/Group.js line 346 @@ -1039,7 +1039,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -1121,7 +1121,7 @@
Type:
Source:
- src/core/Group.js line 3227 + src/core/Group.js line 3227 @@ -1201,7 +1201,7 @@
Type:
Source:
- src/core/Group.js line 2887 + src/core/Group.js line 2887 @@ -1280,7 +1280,7 @@
Type:
Source:
- src/core/Group.js line 3050 + src/core/Group.js line 3050 @@ -1373,7 +1373,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1451,7 +1451,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1530,7 +1530,7 @@
Type:
Source:
- src/core/Group.js line 2910 + src/core/Group.js line 2910 @@ -1609,7 +1609,7 @@
Type:
Source:
- src/core/Group.js line 2938 + src/core/Group.js line 2938 @@ -1695,7 +1695,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1780,7 +1780,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -1858,7 +1858,7 @@
Type:
Source:
- src/core/Group.js line 137 + src/core/Group.js line 137 @@ -1935,7 +1935,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -2014,7 +2014,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -2092,7 +2092,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -2176,7 +2176,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -2262,7 +2262,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2358,7 +2358,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2437,7 +2437,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -2514,7 +2514,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -2595,7 +2595,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -2691,7 +2691,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2779,7 +2779,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2856,7 +2856,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -2935,7 +2935,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -3014,7 +3014,7 @@
Type:
Source:
- src/core/Group.js line 2966 + src/core/Group.js line 2966 @@ -3091,7 +3091,7 @@
Type:
Source:
- src/core/Group.js line 2870 + src/core/Group.js line 2870 @@ -3180,7 +3180,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -3257,7 +3257,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3338,7 +3338,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -3419,7 +3419,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -3500,7 +3500,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -3582,7 +3582,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -3659,7 +3659,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -3748,7 +3748,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -3829,7 +3829,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -3907,7 +3907,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -3991,7 +3991,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -4068,7 +4068,7 @@
Type:
Source:
- src/core/Group.js line 86 + src/core/Group.js line 86 @@ -4155,7 +4155,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4243,7 +4243,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4330,7 +4330,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4409,7 +4409,7 @@
Type:
Source:
- src/core/Group.js line 2994 + src/core/Group.js line 2994 @@ -4493,7 +4493,7 @@
Type:
Source:
- src/core/Group.js line 3211 + src/core/Group.js line 3211 @@ -4582,7 +4582,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4661,7 +4661,7 @@
Type:
Source:
- src/core/Group.js line 3022 + src/core/Group.js line 3022 @@ -4738,7 +4738,7 @@
Type:
Source:
- src/core/Group.js line 2853 + src/core/Group.js line 2853 @@ -4815,7 +4815,7 @@
Type:
Source:
- src/core/Group.js line 80 + src/core/Group.js line 80 @@ -4892,7 +4892,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -4974,7 +4974,7 @@
Type:
Source:
- src/core/Group.js line 3220 + src/core/Group.js line 3220 @@ -5066,7 +5066,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -5157,7 +5157,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -5248,7 +5248,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -5339,7 +5339,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -5430,7 +5430,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -5516,7 +5516,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -5600,7 +5600,7 @@
Type:
Source:
- src/core/Group.js line 3193 + src/core/Group.js line 3193 @@ -5684,7 +5684,7 @@
Type:
Source:
- src/core/Group.js line 3202 + src/core/Group.js line 3202 @@ -5762,7 +5762,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -5991,7 +5991,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -6260,7 +6260,7 @@
Parameters:
Source:
- src/core/Group.js line 1437 + src/core/Group.js line 1437 @@ -6493,7 +6493,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -6660,7 +6660,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -6851,7 +6851,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7073,7 +7073,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -7235,7 +7235,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -7621,7 +7621,7 @@
Parameters:
Source:
- src/core/Group.js line 695 + src/core/Group.js line 695 @@ -7955,7 +7955,7 @@
Parameters:
Source:
- src/core/Group.js line 3078 + src/core/Group.js line 3078 @@ -8290,7 +8290,7 @@
Parameters:
Source:
- src/core/Group.js line 3120 + src/core/Group.js line 3120 @@ -8472,7 +8472,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -8606,7 +8606,7 @@
Parameters:
Source:
- src/core/Group.js line 920 + src/core/Group.js line 920 @@ -8860,7 +8860,7 @@
Parameters:
Source:
- src/core/Group.js line 1653 + src/core/Group.js line 1653 @@ -9071,7 +9071,7 @@
Parameters:
Source:
- src/core/Group.js line 1569 + src/core/Group.js line 1569 @@ -9253,7 +9253,7 @@
Parameters:
Source:
- src/core/Group.js line 1603 + src/core/Group.js line 1603 @@ -9560,7 +9560,7 @@
Parameters:
Source:
- src/core/Group.js line 1367 + src/core/Group.js line 1367 @@ -9853,7 +9853,7 @@
Parameters:
Source:
- src/core/Group.js line 1403 + src/core/Group.js line 1403 @@ -10141,7 +10141,7 @@
Parameters:
Source:
- src/core/Group.js line 1230 + src/core/Group.js line 1230 @@ -10308,7 +10308,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -10486,7 +10486,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -10594,7 +10594,7 @@

Source:
- src/core/Group.js line 2503 + src/core/Group.js line 2503 @@ -10702,7 +10702,7 @@

Source:
- src/core/Group.js line 2491 + src/core/Group.js line 2491 @@ -11087,7 +11087,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -11485,7 +11485,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -11689,7 +11689,7 @@
Parameters:
Source:
- src/core/Group.js line 2032 + src/core/Group.js line 2032 @@ -11847,7 +11847,7 @@
Parameters:
Source:
- src/core/Group.js line 2088 + src/core/Group.js line 2088 @@ -12047,7 +12047,7 @@
Parameters:
Source:
- src/core/Group.js line 2816 + src/core/Group.js line 2816 @@ -12254,7 +12254,7 @@
Parameters:
Source:
- src/core/Group.js line 1488 + src/core/Group.js line 1488 @@ -12449,7 +12449,7 @@
Parameters:
Source:
- src/core/Group.js line 1814 + src/core/Group.js line 1814 @@ -12744,7 +12744,7 @@
Parameters:
Source:
- src/core/Group.js line 1854 + src/core/Group.js line 1854 @@ -12973,7 +12973,7 @@
Parameters:
Source:
- src/core/Group.js line 1936 + src/core/Group.js line 1936 @@ -13202,7 +13202,7 @@
Parameters:
Source:
- src/core/Group.js line 1964 + src/core/Group.js line 1964 @@ -13431,7 +13431,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -13676,7 +13676,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -13975,7 +13975,7 @@
Parameters:
Source:
- src/core/Group.js line 2557 + src/core/Group.js line 2557 @@ -14135,7 +14135,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -14247,7 +14247,7 @@

Source:
- src/core/Group.js line 2372 + src/core/Group.js line 2372 @@ -14429,7 +14429,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -14589,7 +14589,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -14756,7 +14756,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -14923,7 +14923,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -15165,7 +15165,7 @@
Parameters:
Source:
- src/core/Group.js line 2389 + src/core/Group.js line 2389 @@ -15347,7 +15347,7 @@
Parameters:
Source:
- src/core/Group.js line 2208 + src/core/Group.js line 2208 @@ -15697,7 +15697,7 @@
Parameters:
Source:
- src/core/Group.js line 2256 + src/core/Group.js line 2256 @@ -16047,7 +16047,7 @@
Parameters:
Source:
- src/core/Group.js line 2286 + src/core/Group.js line 2286 @@ -16436,7 +16436,7 @@
Parameters:
Source:
- src/core/Group.js line 2222 + src/core/Group.js line 2222 @@ -16678,7 +16678,7 @@
Parameters:
Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -16836,7 +16836,7 @@
Parameters:
Source:
- src/core/Group.js line 1042 + src/core/Group.js line 1042 @@ -16953,7 +16953,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -17171,7 +17171,7 @@
Parameters:
Source:
- src/core/Group.js line 2515 + src/core/Group.js line 2515 @@ -17390,7 +17390,7 @@
Parameters:
Source:
- src/core/Group.js line 2537 + src/core/Group.js line 2537 @@ -17499,7 +17499,7 @@

Source:
- src/core/Group.js line 2355 + src/core/Group.js line 2355 @@ -17682,7 +17682,7 @@
Parameters:
Source:
- src/core/Group.js line 1117 + src/core/Group.js line 1117 @@ -18060,7 +18060,7 @@
Parameters:
Source:
- src/core/Group.js line 2113 + src/core/Group.js line 2113 @@ -18168,7 +18168,7 @@

Source:
- src/core/Group.js line 1505 + src/core/Group.js line 1505 @@ -18252,7 +18252,7 @@

Source:
- src/core/Group.js line 1518 + src/core/Group.js line 1518 @@ -18442,7 +18442,7 @@
Parameters:
Source:
- src/core/Group.js line 2651 + src/core/Group.js line 2651 @@ -18600,7 +18600,7 @@
Parameters:
Source:
- src/core/Group.js line 982 + src/core/Group.js line 982 @@ -18758,7 +18758,7 @@
Parameters:
Source:
- src/core/Group.js line 958 + src/core/Group.js line 958 @@ -18989,7 +18989,7 @@
Parameters:
Source:
- src/core/Group.js line 1471 + src/core/Group.js line 1471 @@ -19074,7 +19074,7 @@

Source:
- src/core/Group.js line 846 + src/core/Group.js line 846 @@ -19182,7 +19182,7 @@

Source:
- src/core/Group.js line 1793 + src/core/Group.js line 1793 @@ -19271,7 +19271,7 @@

Source:
- src/core/Group.js line 1726 + src/core/Group.js line 1726 @@ -19356,7 +19356,7 @@

Source:
- src/core/Group.js line 875 + src/core/Group.js line 875 @@ -19612,7 +19612,7 @@
Parameters:
Source:
- src/core/Group.js line 2603 + src/core/Group.js line 2603 @@ -19873,7 +19873,7 @@
Parameters:
Source:
- src/core/Group.js line 2680 + src/core/Group.js line 2680 @@ -20141,7 +20141,7 @@
Parameters:
Source:
- src/core/Group.js line 2728 + src/core/Group.js line 2728 @@ -20284,7 +20284,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -20451,7 +20451,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -20642,7 +20642,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -20777,7 +20777,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -20961,7 +20961,7 @@
Parameters:
Source:
- src/core/Group.js line 1078 + src/core/Group.js line 1078 @@ -21306,7 +21306,7 @@
Parameters:
Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -21603,7 +21603,7 @@
Parameters:
Source:
- src/core/Group.js line 2316 + src/core/Group.js line 2316 @@ -21782,7 +21782,7 @@
Parameters:
Source:
- src/core/Group.js line 819 + src/core/Group.js line 819 @@ -21891,7 +21891,7 @@

Source:
- src/core/Group.js line 1028 + src/core/Group.js line 1028 @@ -21975,7 +21975,7 @@

Source:
- src/core/Group.js line 1529 + src/core/Group.js line 1529 @@ -22059,7 +22059,7 @@

Source:
- src/core/Group.js line 1542 + src/core/Group.js line 1542 @@ -22253,7 +22253,7 @@
Parameters:
Source:
- src/core/Group.js line 2783 + src/core/Group.js line 2783 @@ -22387,7 +22387,7 @@
Parameters:
Source:
- src/core/Group.js line 939 + src/core/Group.js line 939 @@ -22794,7 +22794,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -23167,7 +23167,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -23516,7 +23516,7 @@
Parameters:
Source:
- src/core/Group.js line 1326 + src/core/Group.js line 1326 @@ -23683,7 +23683,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -23993,7 +23993,7 @@
Parameters:
Source:
- src/core/Group.js line 1152 + src/core/Group.js line 1152 @@ -24102,7 +24102,7 @@

Source:
- src/core/Group.js line 2802 + src/core/Group.js line 2802 @@ -24300,7 +24300,7 @@
Parameters:
Source:
- src/core/Group.js line 1992 + src/core/Group.js line 1992 @@ -24507,7 +24507,7 @@
Parameters:
Source:
- src/core/Group.js line 1454 + src/core/Group.js line 1454 @@ -24666,7 +24666,7 @@
Parameters:
Source:
- src/core/Group.js line 904 + src/core/Group.js line 904 @@ -24833,7 +24833,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -24976,7 +24976,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -25189,7 +25189,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -25300,7 +25300,7 @@

Source:
- src/core/Group.js line 1765 + src/core/Group.js line 1765 @@ -25393,7 +25393,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -25582,7 +25582,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -25693,7 +25693,7 @@

Source:
- src/core/Group.js line 676 + src/core/Group.js line 676 @@ -25875,7 +25875,7 @@
Parameters:
Source:
- src/core/Group.js line 1006 + src/core/Group.js line 1006 @@ -25918,9 +25918,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -25937,7 +25937,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -25966,7 +25966,7 @@
Parameters:
- + diff --git a/docs/Phaser.Hermite.html b/docs/Phaser.Hermite.html index da0b2e8e9..5dad847e6 100644 --- a/docs/Phaser.Hermite.html +++ b/docs/Phaser.Hermite.html @@ -6,7 +6,7 @@ Phaser CE Class: Hermite - + @@ -551,7 +551,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 39 + src/geom/Hermite.js line 39 @@ -656,7 +656,7 @@
Type:
Source:
- src/geom/Hermite.js line 396 + src/geom/Hermite.js line 396 @@ -733,7 +733,7 @@
Type:
Source:
- src/geom/Hermite.js line 420 + src/geom/Hermite.js line 420 @@ -810,7 +810,7 @@
Type:
Source:
- src/geom/Hermite.js line 444 + src/geom/Hermite.js line 444 @@ -887,7 +887,7 @@
Type:
Source:
- src/geom/Hermite.js line 468 + src/geom/Hermite.js line 468 @@ -964,7 +964,7 @@
Type:
Source:
- src/geom/Hermite.js line 492 + src/geom/Hermite.js line 492 @@ -1041,7 +1041,7 @@
Type:
Source:
- src/geom/Hermite.js line 516 + src/geom/Hermite.js line 516 @@ -1118,7 +1118,7 @@
Type:
Source:
- src/geom/Hermite.js line 540 + src/geom/Hermite.js line 540 @@ -1195,7 +1195,7 @@
Type:
Source:
- src/geom/Hermite.js line 564 + src/geom/Hermite.js line 564 @@ -1272,7 +1272,7 @@
Type:
Source:
- src/geom/Hermite.js line 588 + src/geom/Hermite.js line 588 @@ -1350,7 +1350,7 @@

Source:
- src/geom/Hermite.js line 146 + src/geom/Hermite.js line 146 @@ -1509,7 +1509,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 173 + src/geom/Hermite.js line 173 @@ -1687,7 +1687,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 336 + src/geom/Hermite.js line 336 @@ -1865,7 +1865,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 354 + src/geom/Hermite.js line 354 @@ -2026,7 +2026,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 376 + src/geom/Hermite.js line 376 @@ -2245,7 +2245,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 276 + src/geom/Hermite.js line 276 @@ -2464,7 +2464,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 309 + src/geom/Hermite.js line 309 @@ -2642,7 +2642,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 210 + src/geom/Hermite.js line 210 @@ -2820,7 +2820,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 243 + src/geom/Hermite.js line 243 @@ -2930,7 +2930,7 @@

Source:
- src/geom/Hermite.js line 123 + src/geom/Hermite.js line 123 @@ -2997,9 +2997,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -3016,7 +3016,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -3045,7 +3045,7 @@
Returns:
- + diff --git a/docs/Phaser.Image.html b/docs/Phaser.Image.html index 067ad9eab..a08fcf15e 100644 --- a/docs/Phaser.Image.html +++ b/docs/Phaser.Image.html @@ -6,7 +6,7 @@ Phaser CE Class: Image - + @@ -415,7 +415,7 @@
Parameters:
Source:
- src/gameobjects/Image.js line 37 + src/gameobjects/Image.js line 37 @@ -583,7 +583,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -679,7 +679,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -769,7 +769,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -860,7 +860,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -947,7 +947,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1044,7 +1044,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1138,7 +1138,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1405,7 +1405,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1492,7 +1492,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1579,7 +1579,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1665,7 +1665,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1751,7 +1751,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1839,7 +1839,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -1935,7 +1935,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2021,7 +2021,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2108,7 +2108,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2195,7 +2195,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2300,7 +2300,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2386,7 +2386,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2477,7 +2477,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2570,7 +2570,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2661,7 +2661,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -2752,7 +2752,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -2839,7 +2839,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -2925,7 +2925,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3021,7 +3021,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3109,7 +3109,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3196,7 +3196,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3287,7 +3287,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3380,7 +3380,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3482,7 +3482,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3569,7 +3569,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -3659,7 +3659,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -3748,7 +3748,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -3835,7 +3835,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -3923,7 +3923,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4011,7 +4011,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4100,7 +4100,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4189,7 +4189,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4276,7 +4276,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4364,7 +4364,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4450,7 +4450,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -4536,7 +4536,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -4623,7 +4623,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4710,7 +4710,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -4797,7 +4797,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -4886,7 +4886,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -4975,7 +4975,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5063,7 +5063,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -5151,7 +5151,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -5245,7 +5245,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -5333,7 +5333,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -5419,7 +5419,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -5512,7 +5512,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -5605,7 +5605,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -5692,7 +5692,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -5778,7 +5778,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -5864,7 +5864,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -5941,7 +5941,7 @@
Type:
Source:
- src/gameobjects/Image.js line 48 + src/gameobjects/Image.js line 48 @@ -6039,7 +6039,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -6127,7 +6127,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -6219,7 +6219,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -6310,7 +6310,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -6401,7 +6401,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -6492,7 +6492,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -6583,7 +6583,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -6669,7 +6669,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -6756,7 +6756,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -6843,7 +6843,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -6932,7 +6932,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -7069,7 +7069,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7260,7 +7260,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7603,7 +7603,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -7947,7 +7947,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8067,7 +8067,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -8234,7 +8234,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -8460,7 +8460,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -8560,7 +8560,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -8805,7 +8805,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -8981,7 +8981,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -9148,7 +9148,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -9315,7 +9315,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -9432,7 +9432,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -9553,7 +9553,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -9838,7 +9838,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -9934,7 +9934,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -10054,7 +10054,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -10237,7 +10237,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -10543,7 +10543,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -10660,7 +10660,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -10749,7 +10749,7 @@

Source:
- src/gameobjects/Image.js line 81 + src/gameobjects/Image.js line 81 @@ -10842,7 +10842,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -10985,7 +10985,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -11152,7 +11152,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -11343,7 +11343,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -11582,7 +11582,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -11699,7 +11699,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -11892,7 +11892,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -12057,7 +12057,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -12177,7 +12177,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -12368,7 +12368,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -12512,7 +12512,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -12749,7 +12749,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -12949,7 +12949,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -13116,7 +13116,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -13259,7 +13259,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -13472,7 +13472,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -13593,7 +13593,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -13686,7 +13686,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -13806,7 +13806,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -13969,7 +13969,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -14038,9 +14038,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -14057,7 +14057,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -14086,7 +14086,7 @@
Returns:
- + diff --git a/docs/Phaser.ImageCollection.html b/docs/Phaser.ImageCollection.html index 3dff52803..97a5943b6 100644 --- a/docs/Phaser.ImageCollection.html +++ b/docs/Phaser.ImageCollection.html @@ -6,7 +6,7 @@ Phaser CE Class: ImageCollection - + @@ -483,7 +483,7 @@
Parameters:
Source:
- src/tilemap/ImageCollection.js line 22 + src/tilemap/ImageCollection.js line 22 @@ -589,7 +589,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 40 + src/tilemap/ImageCollection.js line 40 @@ -666,7 +666,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 54 + src/tilemap/ImageCollection.js line 54 @@ -786,7 +786,7 @@
Properties:
Source:
- src/tilemap/ImageCollection.js line 63 + src/tilemap/ImageCollection.js line 63 @@ -863,7 +863,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 85 + src/tilemap/ImageCollection.js line 85 @@ -941,7 +941,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 71 + src/tilemap/ImageCollection.js line 71 @@ -1018,7 +1018,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 47 + src/tilemap/ImageCollection.js line 47 @@ -1095,7 +1095,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 33 + src/tilemap/ImageCollection.js line 33 @@ -1172,7 +1172,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 77 + src/tilemap/ImageCollection.js line 77 @@ -1249,7 +1249,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 93 + src/tilemap/ImageCollection.js line 93 @@ -1401,7 +1401,7 @@
Parameters:
Source:
- src/tilemap/ImageCollection.js line 114 + src/tilemap/ImageCollection.js line 114 @@ -1535,7 +1535,7 @@
Parameters:
Source:
- src/tilemap/ImageCollection.js line 98 + src/tilemap/ImageCollection.js line 98 @@ -1602,9 +1602,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1621,7 +1621,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1650,7 +1650,7 @@
Returns:
- + diff --git a/docs/Phaser.Input.html b/docs/Phaser.Input.html index f713addd2..e74a2b582 100644 --- a/docs/Phaser.Input.html +++ b/docs/Phaser.Input.html @@ -6,7 +6,7 @@ Phaser CE Class: Input - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/input/Input.js line 15 + src/input/Input.js line 15 @@ -336,7 +336,7 @@
Type:
Source:
- src/input/Input.js line 405 + src/input/Input.js line 405 @@ -409,7 +409,7 @@
Type:
Source:
- src/input/Input.js line 386 + src/input/Input.js line 386 @@ -482,7 +482,7 @@
Type:
Source:
- src/input/Input.js line 398 + src/input/Input.js line 398 @@ -555,7 +555,7 @@
Type:
Source:
- src/input/Input.js line 392 + src/input/Input.js line 392 @@ -633,7 +633,7 @@
Type:
Source:
- src/input/Input.js line 232 + src/input/Input.js line 232 @@ -711,7 +711,7 @@
Type:
Source:
- src/input/Input.js line 91 + src/input/Input.js line 91 @@ -795,7 +795,7 @@
Type:
Source:
- src/input/Input.js line 114 + src/input/Input.js line 114 @@ -880,7 +880,7 @@
Type:
Source:
- src/input/Input.js line 67 + src/input/Input.js line 67 @@ -957,7 +957,7 @@
Type:
Source:
- src/input/Input.js line 20 + src/input/Input.js line 20 @@ -1034,7 +1034,7 @@
Type:
Source:
- src/input/Input.js line 283 + src/input/Input.js line 283 @@ -1111,7 +1111,7 @@
Type:
Source:
- src/input/Input.js line 26 + src/input/Input.js line 26 @@ -1188,7 +1188,7 @@
Type:
Source:
- src/input/Input.js line 32 + src/input/Input.js line 32 @@ -1272,7 +1272,7 @@
Type:
Source:
- src/input/Input.js line 120 + src/input/Input.js line 120 @@ -1349,7 +1349,7 @@
Type:
Source:
- src/input/Input.js line 348 + src/input/Input.js line 348 @@ -1433,7 +1433,7 @@
Type:
Source:
- src/input/Input.js line 126 + src/input/Input.js line 126 @@ -1517,7 +1517,7 @@
Type:
Source:
- src/input/Input.js line 132 + src/input/Input.js line 132 @@ -1594,7 +1594,7 @@
Type:
Source:
- src/input/Input.js line 256 + src/input/Input.js line 256 @@ -1678,7 +1678,7 @@
Type:
Source:
- src/input/Input.js line 102 + src/input/Input.js line 102 @@ -1756,7 +1756,7 @@
Type:
Source:
- src/input/Input.js line 342 + src/input/Input.js line 342 @@ -1835,7 +1835,7 @@
Type:
Source:
- src/input/Input.js line 249 + src/input/Input.js line 249 @@ -1912,7 +1912,7 @@
Type:
Source:
- src/input/Input.js line 239 + src/input/Input.js line 239 @@ -1990,7 +1990,7 @@
Type:
Source:
- src/input/Input.js line 40 + src/input/Input.js line 40 @@ -2069,7 +2069,7 @@
Type:
Source:
- src/input/Input.js line 276 + src/input/Input.js line 276 @@ -2146,7 +2146,7 @@
Type:
Source:
- src/input/Input.js line 73 + src/input/Input.js line 73 @@ -2228,7 +2228,7 @@
Type:
Source:
- src/input/Input.js line 302 + src/input/Input.js line 302 @@ -2309,7 +2309,7 @@
Type:
Source:
- src/input/Input.js line 334 + src/input/Input.js line 334 @@ -2391,7 +2391,7 @@
Type:
Source:
- src/input/Input.js line 324 + src/input/Input.js line 324 @@ -2473,7 +2473,7 @@
Type:
Source:
- src/input/Input.js line 313 + src/input/Input.js line 313 @@ -2550,7 +2550,7 @@
Type:
Source:
- src/input/Input.js line 169 + src/input/Input.js line 169 @@ -2627,7 +2627,7 @@
Type:
Source:
- src/input/Input.js line 174 + src/input/Input.js line 174 @@ -2704,7 +2704,7 @@
Type:
Source:
- src/input/Input.js line 179 + src/input/Input.js line 179 @@ -2781,7 +2781,7 @@
Type:
Source:
- src/input/Input.js line 184 + src/input/Input.js line 184 @@ -2858,7 +2858,7 @@
Type:
Source:
- src/input/Input.js line 189 + src/input/Input.js line 189 @@ -2935,7 +2935,7 @@
Type:
Source:
- src/input/Input.js line 194 + src/input/Input.js line 194 @@ -3012,7 +3012,7 @@
Type:
Source:
- src/input/Input.js line 199 + src/input/Input.js line 199 @@ -3089,7 +3089,7 @@
Type:
Source:
- src/input/Input.js line 204 + src/input/Input.js line 204 @@ -3166,7 +3166,7 @@
Type:
Source:
- src/input/Input.js line 209 + src/input/Input.js line 209 @@ -3243,7 +3243,7 @@
Type:
Source:
- src/input/Input.js line 214 + src/input/Input.js line 214 @@ -3321,7 +3321,7 @@
Type:
Source:
- src/input/Input.js line 223 + src/input/Input.js line 223 @@ -3398,7 +3398,7 @@
Type:
Source:
- src/input/Input.js line 1183 + src/input/Input.js line 1183 @@ -3475,7 +3475,7 @@
Type:
Source:
- src/input/Input.js line 58 + src/input/Input.js line 58 @@ -3552,7 +3552,7 @@
Type:
Source:
- src/input/Input.js line 79 + src/input/Input.js line 79 @@ -3637,7 +3637,7 @@
Type:
Source:
- src/input/Input.js line 155 + src/input/Input.js line 155 @@ -3716,7 +3716,7 @@
Type:
Source:
- src/input/Input.js line 141 + src/input/Input.js line 141 @@ -3800,7 +3800,7 @@
Type:
Source:
- src/input/Input.js line 147 + src/input/Input.js line 147 @@ -3878,7 +3878,7 @@
Type:
Source:
- src/input/Input.js line 291 + src/input/Input.js line 291 @@ -3955,7 +3955,7 @@
Type:
Source:
- src/input/Input.js line 96 + src/input/Input.js line 96 @@ -4032,7 +4032,7 @@
Type:
Source:
- src/input/Input.js line 84 + src/input/Input.js line 84 @@ -4116,7 +4116,7 @@
Type:
Source:
- src/input/Input.js line 108 + src/input/Input.js line 108 @@ -4193,7 +4193,7 @@
Type:
Source:
- src/input/Input.js line 1211 + src/input/Input.js line 1211 @@ -4270,7 +4270,7 @@
Type:
Source:
- src/input/Input.js line 1197 + src/input/Input.js line 1197 @@ -4349,7 +4349,7 @@
Type:
Source:
- src/input/Input.js line 266 + src/input/Input.js line 266 @@ -4428,7 +4428,7 @@
Type:
Source:
- src/input/Input.js line 164 + src/input/Input.js line 164 @@ -4505,7 +4505,7 @@
Type:
Source:
- src/input/Input.js line 1225 + src/input/Input.js line 1225 @@ -4582,7 +4582,7 @@
Type:
Source:
- src/input/Input.js line 1239 + src/input/Input.js line 1239 @@ -4660,7 +4660,7 @@
Type:
Source:
- src/input/Input.js line 1147 + src/input/Input.js line 1147 @@ -4738,7 +4738,7 @@
Type:
Source:
- src/input/Input.js line 1165 + src/input/Input.js line 1165 @@ -4898,7 +4898,7 @@
Parameters:
Source:
- src/input/Input.js line 535 + src/input/Input.js line 535 @@ -4984,7 +4984,7 @@

Source:
- src/input/Input.js line 652 + src/input/Input.js line 652 @@ -5240,7 +5240,7 @@
Parameters:
Source:
- src/input/Input.js line 561 + src/input/Input.js line 561 @@ -5324,7 +5324,7 @@

Source:
- src/input/Input.js line 409 + src/input/Input.js line 409 @@ -5482,7 +5482,7 @@
Parameters:
Source:
- src/input/Input.js line 630 + src/input/Input.js line 630 @@ -5566,7 +5566,7 @@

Source:
- src/input/Input.js line 477 + src/input/Input.js line 477 @@ -5727,7 +5727,7 @@
Parameters:
Source:
- src/input/Input.js line 1005 + src/input/Input.js line 1005 @@ -5905,7 +5905,7 @@
Parameters:
Source:
- src/input/Input.js line 927 + src/input/Input.js line 927 @@ -6065,7 +6065,7 @@
Parameters:
Source:
- src/input/Input.js line 979 + src/input/Input.js line 979 @@ -6226,7 +6226,7 @@
Parameters:
Source:
- src/input/Input.js line 952 + src/input/Input.js line 952 @@ -6432,7 +6432,7 @@
Parameters:
Source:
- src/input/Input.js line 1027 + src/input/Input.js line 1027 @@ -6590,7 +6590,7 @@
Parameters:
Source:
- src/input/Input.js line 583 + src/input/Input.js line 583 @@ -6771,7 +6771,7 @@
Parameters:
Source:
- src/input/Input.js line 717 + src/input/Input.js line 717 @@ -6929,7 +6929,7 @@
Parameters:
Source:
- src/input/Input.js line 776 + src/input/Input.js line 776 @@ -7098,7 +7098,7 @@
Parameters:
Source:
- src/input/Input.js line 506 + src/input/Input.js line 506 @@ -7233,7 +7233,7 @@
Parameters:
Source:
- src/input/Input.js line 790 + src/input/Input.js line 790 @@ -7391,7 +7391,7 @@
Parameters:
Source:
- src/input/Input.js line 865 + src/input/Input.js line 865 @@ -7499,7 +7499,7 @@

Source:
- src/input/Input.js line 678 + src/input/Input.js line 678 @@ -7634,7 +7634,7 @@
Parameters:
Source:
- src/input/Input.js line 830 + src/input/Input.js line 830 @@ -7701,9 +7701,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -7720,7 +7720,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -7749,7 +7749,7 @@
Returns:
- + diff --git a/docs/Phaser.InputHandler.html b/docs/Phaser.InputHandler.html index 76d1edc22..6f72ea4b5 100644 --- a/docs/Phaser.InputHandler.html +++ b/docs/Phaser.InputHandler.html @@ -6,7 +6,7 @@ Phaser CE Class: InputHandler - + @@ -230,7 +230,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 14 + src/input/InputHandler.js line 14 @@ -342,7 +342,7 @@
Type:
Source:
- src/input/InputHandler.js line 69 + src/input/InputHandler.js line 69 @@ -426,7 +426,7 @@
Type:
Source:
- src/input/InputHandler.js line 75 + src/input/InputHandler.js line 75 @@ -503,7 +503,7 @@
Type:
Source:
- src/input/InputHandler.js line 161 + src/input/InputHandler.js line 161 @@ -580,7 +580,7 @@
Type:
Source:
- src/input/InputHandler.js line 167 + src/input/InputHandler.js line 167 @@ -657,7 +657,7 @@
Type:
Source:
- src/input/InputHandler.js line 81 + src/input/InputHandler.js line 81 @@ -734,7 +734,7 @@
Type:
Source:
- src/input/InputHandler.js line 36 + src/input/InputHandler.js line 36 @@ -811,7 +811,7 @@
Type:
Source:
- src/input/InputHandler.js line 207 + src/input/InputHandler.js line 207 @@ -888,7 +888,7 @@
Type:
Source:
- src/input/InputHandler.js line 197 + src/input/InputHandler.js line 197 @@ -965,7 +965,7 @@
Type:
Source:
- src/input/InputHandler.js line 182 + src/input/InputHandler.js line 182 @@ -1042,7 +1042,7 @@
Type:
Source:
- src/input/InputHandler.js line 155 + src/input/InputHandler.js line 155 @@ -1119,7 +1119,7 @@
Type:
Source:
- src/input/InputHandler.js line 177 + src/input/InputHandler.js line 177 @@ -1196,7 +1196,7 @@
Type:
Source:
- src/input/InputHandler.js line 192 + src/input/InputHandler.js line 192 @@ -1273,7 +1273,7 @@
Type:
Source:
- src/input/InputHandler.js line 187 + src/input/InputHandler.js line 187 @@ -1350,7 +1350,7 @@
Type:
Source:
- src/input/InputHandler.js line 202 + src/input/InputHandler.js line 202 @@ -1427,7 +1427,7 @@
Type:
Source:
- src/input/InputHandler.js line 30 + src/input/InputHandler.js line 30 @@ -1504,7 +1504,7 @@
Type:
Source:
- src/input/InputHandler.js line 24 + src/input/InputHandler.js line 24 @@ -1581,7 +1581,7 @@
Type:
Source:
- src/input/InputHandler.js line 63 + src/input/InputHandler.js line 63 @@ -1665,7 +1665,7 @@
Type:
Source:
- src/input/InputHandler.js line 149 + src/input/InputHandler.js line 149 @@ -1745,7 +1745,7 @@
Type:
Source:
- src/input/InputHandler.js line 143 + src/input/InputHandler.js line 143 @@ -1825,7 +1825,7 @@
Type:
Source:
- src/input/InputHandler.js line 133 + src/input/InputHandler.js line 133 @@ -1904,7 +1904,7 @@
Type:
Source:
- src/input/InputHandler.js line 45 + src/input/InputHandler.js line 45 @@ -1981,7 +1981,7 @@
Type:
Source:
- src/input/InputHandler.js line 172 + src/input/InputHandler.js line 172 @@ -2058,7 +2058,7 @@
Type:
Source:
- src/input/InputHandler.js line 87 + src/input/InputHandler.js line 87 @@ -2135,7 +2135,7 @@
Type:
Source:
- src/input/InputHandler.js line 117 + src/input/InputHandler.js line 117 @@ -2212,7 +2212,7 @@
Type:
Source:
- src/input/InputHandler.js line 123 + src/input/InputHandler.js line 123 @@ -2289,7 +2289,7 @@
Type:
Source:
- src/input/InputHandler.js line 93 + src/input/InputHandler.js line 93 @@ -2366,7 +2366,7 @@
Type:
Source:
- src/input/InputHandler.js line 99 + src/input/InputHandler.js line 99 @@ -2443,7 +2443,7 @@
Type:
Source:
- src/input/InputHandler.js line 212 + src/input/InputHandler.js line 212 @@ -2520,7 +2520,7 @@
Type:
Source:
- src/input/InputHandler.js line 105 + src/input/InputHandler.js line 105 @@ -2597,7 +2597,7 @@
Type:
Source:
- src/input/InputHandler.js line 111 + src/input/InputHandler.js line 111 @@ -2674,7 +2674,7 @@
Type:
Source:
- src/input/InputHandler.js line 19 + src/input/InputHandler.js line 19 @@ -2751,7 +2751,7 @@
Type:
Source:
- src/input/InputHandler.js line 51 + src/input/InputHandler.js line 51 @@ -2829,7 +2829,7 @@

Source:
- src/input/InputHandler.js line 1678 + src/input/InputHandler.js line 1678 @@ -2913,7 +2913,7 @@

Source:
- src/input/InputHandler.js line 1728 + src/input/InputHandler.js line 1728 @@ -3124,7 +3124,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 799 + src/input/InputHandler.js line 799 @@ -3339,7 +3339,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 710 + src/input/InputHandler.js line 710 @@ -3554,7 +3554,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 755 + src/input/InputHandler.js line 755 @@ -3658,7 +3658,7 @@

Source:
- src/input/InputHandler.js line 430 + src/input/InputHandler.js line 430 @@ -3743,7 +3743,7 @@

Source:
- src/input/InputHandler.js line 1442 + src/input/InputHandler.js line 1442 @@ -3827,7 +3827,7 @@

Source:
- src/input/InputHandler.js line 1666 + src/input/InputHandler.js line 1666 @@ -3981,7 +3981,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1364 + src/input/InputHandler.js line 1364 @@ -4369,7 +4369,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1384 + src/input/InputHandler.js line 1384 @@ -4716,7 +4716,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1638 + src/input/InputHandler.js line 1638 @@ -4850,7 +4850,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1564 + src/input/InputHandler.js line 1564 @@ -5008,7 +5008,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1528 + src/input/InputHandler.js line 1528 @@ -5142,7 +5142,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1546 + src/input/InputHandler.js line 1546 @@ -5226,7 +5226,7 @@

Source:
- src/input/InputHandler.js line 495 + src/input/InputHandler.js line 495 @@ -5440,7 +5440,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1293 + src/input/InputHandler.js line 1293 @@ -5650,7 +5650,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1276 + src/input/InputHandler.js line 1276 @@ -5860,7 +5860,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1310 + src/input/InputHandler.js line 1310 @@ -6070,7 +6070,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1327 + src/input/InputHandler.js line 1327 @@ -6244,7 +6244,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1344 + src/input/InputHandler.js line 1344 @@ -6423,7 +6423,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 539 + src/input/InputHandler.js line 539 @@ -6603,7 +6603,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 695 + src/input/InputHandler.js line 695 @@ -6781,7 +6781,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 634 + src/input/InputHandler.js line 634 @@ -6959,7 +6959,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 601 + src/input/InputHandler.js line 601 @@ -7139,7 +7139,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 571 + src/input/InputHandler.js line 571 @@ -7313,7 +7313,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 680 + src/input/InputHandler.js line 680 @@ -7487,7 +7487,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 665 + src/input/InputHandler.js line 665 @@ -7661,7 +7661,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 586 + src/input/InputHandler.js line 586 @@ -7836,7 +7836,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 555 + src/input/InputHandler.js line 555 @@ -8017,7 +8017,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 507 + src/input/InputHandler.js line 507 @@ -8196,7 +8196,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 523 + src/input/InputHandler.js line 523 @@ -8304,7 +8304,7 @@

Source:
- src/input/InputHandler.js line 382 + src/input/InputHandler.js line 382 @@ -8498,7 +8498,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1621 + src/input/InputHandler.js line 1621 @@ -8692,7 +8692,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 284 + src/input/InputHandler.js line 284 @@ -8850,7 +8850,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1465 + src/input/InputHandler.js line 1465 @@ -8934,7 +8934,7 @@

Source:
- src/input/InputHandler.js line 410 + src/input/InputHandler.js line 410 @@ -9068,7 +9068,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1584 + src/input/InputHandler.js line 1584 @@ -9203,7 +9203,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 868 + src/input/InputHandler.js line 868 @@ -9454,7 +9454,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 456 + src/input/InputHandler.js line 456 @@ -9521,9 +9521,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -9540,7 +9540,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -9569,7 +9569,7 @@
Returns:
- + diff --git a/docs/Phaser.Key.html b/docs/Phaser.Key.html index 20605f55f..6dbecf80d 100644 --- a/docs/Phaser.Key.html +++ b/docs/Phaser.Key.html @@ -6,7 +6,7 @@ Phaser CE Class: Key - + @@ -254,7 +254,7 @@
Parameters:
Source:
- src/input/Key.js line 15 + src/input/Key.js line 15 @@ -359,7 +359,7 @@
Type:
Source:
- src/input/Key.js line 51 + src/input/Key.js line 51 @@ -436,7 +436,7 @@
Type:
Source:
- src/input/Key.js line 57 + src/input/Key.js line 57 @@ -514,7 +514,7 @@
Type:
Source:
- src/input/Key.js line 76 + src/input/Key.js line 76 @@ -634,7 +634,7 @@
Properties:
Source:
- src/input/Key.js line 90 + src/input/Key.js line 90 @@ -719,7 +719,7 @@
Type:
Source:
- src/input/Key.js line 374 + src/input/Key.js line 374 @@ -796,7 +796,7 @@
Type:
Source:
- src/input/Key.js line 33 + src/input/Key.js line 33 @@ -873,7 +873,7 @@
Type:
Source:
- src/input/Key.js line 20 + src/input/Key.js line 20 @@ -950,7 +950,7 @@
Type:
Source:
- src/input/Key.js line 39 + src/input/Key.js line 39 @@ -1034,7 +1034,7 @@
Type:
Source:
- src/input/Key.js line 45 + src/input/Key.js line 45 @@ -1121,7 +1121,7 @@
Type:
Source:
- src/input/Key.js line 328 + src/input/Key.js line 328 @@ -1208,7 +1208,7 @@
Type:
Source:
- src/input/Key.js line 351 + src/input/Key.js line 351 @@ -1285,7 +1285,7 @@
Type:
Source:
- src/input/Key.js line 101 + src/input/Key.js line 101 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/input/Key.js line 106 + src/input/Key.js line 106 @@ -1439,7 +1439,7 @@
Type:
Source:
- src/input/Key.js line 111 + src/input/Key.js line 111 @@ -1516,7 +1516,7 @@
Type:
Source:
- src/input/Key.js line 116 + src/input/Key.js line 116 @@ -1593,7 +1593,7 @@
Type:
Source:
- src/input/Key.js line 121 + src/input/Key.js line 121 @@ -1670,7 +1670,7 @@
Type:
Source:
- src/input/Key.js line 96 + src/input/Key.js line 96 @@ -1747,7 +1747,7 @@
Type:
Source:
- src/input/Key.js line 63 + src/input/Key.js line 63 @@ -1824,7 +1824,7 @@
Type:
Source:
- src/input/Key.js line 68 + src/input/Key.js line 68 @@ -1901,7 +1901,7 @@
Type:
Source:
- src/input/Key.js line 82 + src/input/Key.js line 82 @@ -2050,7 +2050,7 @@
Parameters:
Source:
- src/input/Key.js line 268 + src/input/Key.js line 268 @@ -2159,7 +2159,7 @@

Source:
- src/input/Key.js line 300 + src/input/Key.js line 300 @@ -2268,7 +2268,7 @@

Source:
- src/input/Key.js line 313 + src/input/Key.js line 313 @@ -2426,7 +2426,7 @@
Parameters:
Source:
- src/input/Key.js line 166 + src/input/Key.js line 166 @@ -2560,7 +2560,7 @@
Parameters:
Source:
- src/input/Key.js line 204 + src/input/Key.js line 204 @@ -2716,7 +2716,7 @@
Parameters:
Source:
- src/input/Key.js line 236 + src/input/Key.js line 236 @@ -2800,7 +2800,7 @@

Source:
- src/input/Key.js line 139 + src/input/Key.js line 139 @@ -2955,7 +2955,7 @@
Parameters:
Source:
- src/input/Key.js line 284 + src/input/Key.js line 284 @@ -3022,9 +3022,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -3041,7 +3041,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -3070,7 +3070,7 @@
Returns:
- + diff --git a/docs/Phaser.KeyCode.html b/docs/Phaser.KeyCode.html index 29c14e365..417bbd6c2 100644 --- a/docs/Phaser.KeyCode.html +++ b/docs/Phaser.KeyCode.html @@ -6,7 +6,7 @@ Phaser CE Class: KeyCode - + @@ -187,7 +187,7 @@

Source:
- src/input/Keyboard.js line 639 + src/input/Keyboard.js line 639 @@ -277,7 +277,7 @@

Source:
- src/input/Keyboard.js line 641 + src/input/Keyboard.js line 641 @@ -339,7 +339,7 @@

Source:
- src/input/Keyboard.js line 809 + src/input/Keyboard.js line 809 @@ -401,7 +401,7 @@

Source:
- src/input/Keyboard.js line 643 + src/input/Keyboard.js line 643 @@ -463,7 +463,7 @@

Source:
- src/input/Keyboard.js line 797 + src/input/Keyboard.js line 797 @@ -525,7 +525,7 @@

Source:
- src/input/Keyboard.js line 791 + src/input/Keyboard.js line 791 @@ -587,7 +587,7 @@

Source:
- src/input/Keyboard.js line 645 + src/input/Keyboard.js line 645 @@ -649,7 +649,7 @@

Source:
- src/input/Keyboard.js line 811 + src/input/Keyboard.js line 811 @@ -711,7 +711,7 @@

Source:
- src/input/Keyboard.js line 801 + src/input/Keyboard.js line 801 @@ -773,7 +773,7 @@

Source:
- src/input/Keyboard.js line 793 + src/input/Keyboard.js line 793 @@ -835,7 +835,7 @@

Source:
- src/input/Keyboard.js line 775 + src/input/Keyboard.js line 775 @@ -897,7 +897,7 @@

Source:
- src/input/Keyboard.js line 779 + src/input/Keyboard.js line 779 @@ -959,7 +959,7 @@

Source:
- src/input/Keyboard.js line 807 + src/input/Keyboard.js line 807 @@ -1021,7 +1021,7 @@

Source:
- src/input/Keyboard.js line 647 + src/input/Keyboard.js line 647 @@ -1083,7 +1083,7 @@

Source:
- src/input/Keyboard.js line 839 + src/input/Keyboard.js line 839 @@ -1145,7 +1145,7 @@

Source:
- src/input/Keyboard.js line 831 + src/input/Keyboard.js line 831 @@ -1207,7 +1207,7 @@

Source:
- src/input/Keyboard.js line 649 + src/input/Keyboard.js line 649 @@ -1269,7 +1269,7 @@

Source:
- src/input/Keyboard.js line 709 + src/input/Keyboard.js line 709 @@ -1331,7 +1331,7 @@

Source:
- src/input/Keyboard.js line 821 + src/input/Keyboard.js line 821 @@ -1393,7 +1393,7 @@

Source:
- src/input/Keyboard.js line 803 + src/input/Keyboard.js line 803 @@ -1455,7 +1455,7 @@

Source:
- src/input/Keyboard.js line 777 + src/input/Keyboard.js line 777 @@ -1517,7 +1517,7 @@

Source:
- src/input/Keyboard.js line 813 + src/input/Keyboard.js line 813 @@ -1579,7 +1579,7 @@

Source:
- src/input/Keyboard.js line 651 + src/input/Keyboard.js line 651 @@ -1641,7 +1641,7 @@

Source:
- src/input/Keyboard.js line 745 + src/input/Keyboard.js line 745 @@ -1703,7 +1703,7 @@

Source:
- src/input/Keyboard.js line 747 + src/input/Keyboard.js line 747 @@ -1765,7 +1765,7 @@

Source:
- src/input/Keyboard.js line 749 + src/input/Keyboard.js line 749 @@ -1827,7 +1827,7 @@

Source:
- src/input/Keyboard.js line 751 + src/input/Keyboard.js line 751 @@ -1889,7 +1889,7 @@

Source:
- src/input/Keyboard.js line 753 + src/input/Keyboard.js line 753 @@ -1951,7 +1951,7 @@

Source:
- src/input/Keyboard.js line 755 + src/input/Keyboard.js line 755 @@ -2013,7 +2013,7 @@

Source:
- src/input/Keyboard.js line 757 + src/input/Keyboard.js line 757 @@ -2075,7 +2075,7 @@

Source:
- src/input/Keyboard.js line 759 + src/input/Keyboard.js line 759 @@ -2137,7 +2137,7 @@

Source:
- src/input/Keyboard.js line 761 + src/input/Keyboard.js line 761 @@ -2199,7 +2199,7 @@

Source:
- src/input/Keyboard.js line 763 + src/input/Keyboard.js line 763 @@ -2261,7 +2261,7 @@

Source:
- src/input/Keyboard.js line 765 + src/input/Keyboard.js line 765 @@ -2323,7 +2323,7 @@

Source:
- src/input/Keyboard.js line 767 + src/input/Keyboard.js line 767 @@ -2385,7 +2385,7 @@

Source:
- src/input/Keyboard.js line 769 + src/input/Keyboard.js line 769 @@ -2447,7 +2447,7 @@

Source:
- src/input/Keyboard.js line 771 + src/input/Keyboard.js line 771 @@ -2509,7 +2509,7 @@

Source:
- src/input/Keyboard.js line 773 + src/input/Keyboard.js line 773 @@ -2571,7 +2571,7 @@

Source:
- src/input/Keyboard.js line 703 + src/input/Keyboard.js line 703 @@ -2633,7 +2633,7 @@

Source:
- src/input/Keyboard.js line 701 + src/input/Keyboard.js line 701 @@ -2695,7 +2695,7 @@

Source:
- src/input/Keyboard.js line 653 + src/input/Keyboard.js line 653 @@ -2757,7 +2757,7 @@

Source:
- src/input/Keyboard.js line 655 + src/input/Keyboard.js line 655 @@ -2819,7 +2819,7 @@

Source:
- src/input/Keyboard.js line 841 + src/input/Keyboard.js line 841 @@ -2881,7 +2881,7 @@

Source:
- src/input/Keyboard.js line 823 + src/input/Keyboard.js line 823 @@ -2943,7 +2943,7 @@

Source:
- src/input/Keyboard.js line 657 + src/input/Keyboard.js line 657 @@ -3005,7 +3005,7 @@

Source:
- src/input/Keyboard.js line 837 + src/input/Keyboard.js line 837 @@ -3067,7 +3067,7 @@

Source:
- src/input/Keyboard.js line 659 + src/input/Keyboard.js line 659 @@ -3129,7 +3129,7 @@

Source:
- src/input/Keyboard.js line 661 + src/input/Keyboard.js line 661 @@ -3191,7 +3191,7 @@

Source:
- src/input/Keyboard.js line 663 + src/input/Keyboard.js line 663 @@ -3253,7 +3253,7 @@

Source:
- src/input/Keyboard.js line 825 + src/input/Keyboard.js line 825 @@ -3315,7 +3315,7 @@

Source:
- src/input/Keyboard.js line 665 + src/input/Keyboard.js line 665 @@ -3377,7 +3377,7 @@

Source:
- src/input/Keyboard.js line 835 + src/input/Keyboard.js line 835 @@ -3439,7 +3439,7 @@

Source:
- src/input/Keyboard.js line 667 + src/input/Keyboard.js line 667 @@ -3501,7 +3501,7 @@

Source:
- src/input/Keyboard.js line 711 + src/input/Keyboard.js line 711 @@ -3563,7 +3563,7 @@

Source:
- src/input/Keyboard.js line 843 + src/input/Keyboard.js line 843 @@ -3625,7 +3625,7 @@

Source:
- src/input/Keyboard.js line 713 + src/input/Keyboard.js line 713 @@ -3687,7 +3687,7 @@

Source:
- src/input/Keyboard.js line 715 + src/input/Keyboard.js line 715 @@ -3749,7 +3749,7 @@

Source:
- src/input/Keyboard.js line 717 + src/input/Keyboard.js line 717 @@ -3811,7 +3811,7 @@

Source:
- src/input/Keyboard.js line 719 + src/input/Keyboard.js line 719 @@ -3873,7 +3873,7 @@

Source:
- src/input/Keyboard.js line 721 + src/input/Keyboard.js line 721 @@ -3935,7 +3935,7 @@

Source:
- src/input/Keyboard.js line 723 + src/input/Keyboard.js line 723 @@ -3997,7 +3997,7 @@

Source:
- src/input/Keyboard.js line 725 + src/input/Keyboard.js line 725 @@ -4059,7 +4059,7 @@

Source:
- src/input/Keyboard.js line 727 + src/input/Keyboard.js line 727 @@ -4121,7 +4121,7 @@

Source:
- src/input/Keyboard.js line 729 + src/input/Keyboard.js line 729 @@ -4183,7 +4183,7 @@

Source:
- src/input/Keyboard.js line 731 + src/input/Keyboard.js line 731 @@ -4245,7 +4245,7 @@

Source:
- src/input/Keyboard.js line 735 + src/input/Keyboard.js line 735 @@ -4307,7 +4307,7 @@

Source:
- src/input/Keyboard.js line 741 + src/input/Keyboard.js line 741 @@ -4369,7 +4369,7 @@

Source:
- src/input/Keyboard.js line 743 + src/input/Keyboard.js line 743 @@ -4431,7 +4431,7 @@

Source:
- src/input/Keyboard.js line 737 + src/input/Keyboard.js line 737 @@ -4493,7 +4493,7 @@

Source:
- src/input/Keyboard.js line 733 + src/input/Keyboard.js line 733 @@ -4555,7 +4555,7 @@

Source:
- src/input/Keyboard.js line 739 + src/input/Keyboard.js line 739 @@ -4617,7 +4617,7 @@

Source:
- src/input/Keyboard.js line 669 + src/input/Keyboard.js line 669 @@ -4679,7 +4679,7 @@

Source:
- src/input/Keyboard.js line 695 + src/input/Keyboard.js line 695 @@ -4741,7 +4741,7 @@

Source:
- src/input/Keyboard.js line 789 + src/input/Keyboard.js line 789 @@ -4803,7 +4803,7 @@

Source:
- src/input/Keyboard.js line 671 + src/input/Keyboard.js line 671 @@ -4865,7 +4865,7 @@

Source:
- src/input/Keyboard.js line 819 + src/input/Keyboard.js line 819 @@ -4927,7 +4927,7 @@

Source:
- src/input/Keyboard.js line 817 + src/input/Keyboard.js line 817 @@ -4989,7 +4989,7 @@

Source:
- src/input/Keyboard.js line 783 + src/input/Keyboard.js line 783 @@ -5051,7 +5051,7 @@

Source:
- src/input/Keyboard.js line 833 + src/input/Keyboard.js line 833 @@ -5113,7 +5113,7 @@

Source:
- src/input/Keyboard.js line 673 + src/input/Keyboard.js line 673 @@ -5175,7 +5175,7 @@

Source:
- src/input/Keyboard.js line 785 + src/input/Keyboard.js line 785 @@ -5237,7 +5237,7 @@

Source:
- src/input/Keyboard.js line 795 + src/input/Keyboard.js line 795 @@ -5299,7 +5299,7 @@

Source:
- src/input/Keyboard.js line 675 + src/input/Keyboard.js line 675 @@ -5361,7 +5361,7 @@

Source:
- src/input/Keyboard.js line 829 + src/input/Keyboard.js line 829 @@ -5423,7 +5423,7 @@

Source:
- src/input/Keyboard.js line 677 + src/input/Keyboard.js line 677 @@ -5485,7 +5485,7 @@

Source:
- src/input/Keyboard.js line 707 + src/input/Keyboard.js line 707 @@ -5547,7 +5547,7 @@

Source:
- src/input/Keyboard.js line 805 + src/input/Keyboard.js line 805 @@ -5609,7 +5609,7 @@

Source:
- src/input/Keyboard.js line 705 + src/input/Keyboard.js line 705 @@ -5671,7 +5671,7 @@

Source:
- src/input/Keyboard.js line 815 + src/input/Keyboard.js line 815 @@ -5733,7 +5733,7 @@

Source:
- src/input/Keyboard.js line 679 + src/input/Keyboard.js line 679 @@ -5795,7 +5795,7 @@

Source:
- src/input/Keyboard.js line 799 + src/input/Keyboard.js line 799 @@ -5857,7 +5857,7 @@

Source:
- src/input/Keyboard.js line 699 + src/input/Keyboard.js line 699 @@ -5919,7 +5919,7 @@

Source:
- src/input/Keyboard.js line 787 + src/input/Keyboard.js line 787 @@ -5981,7 +5981,7 @@

Source:
- src/input/Keyboard.js line 697 + src/input/Keyboard.js line 697 @@ -6043,7 +6043,7 @@

Source:
- src/input/Keyboard.js line 681 + src/input/Keyboard.js line 681 @@ -6105,7 +6105,7 @@

Source:
- src/input/Keyboard.js line 781 + src/input/Keyboard.js line 781 @@ -6167,7 +6167,7 @@

Source:
- src/input/Keyboard.js line 827 + src/input/Keyboard.js line 827 @@ -6229,7 +6229,7 @@

Source:
- src/input/Keyboard.js line 683 + src/input/Keyboard.js line 683 @@ -6291,7 +6291,7 @@

Source:
- src/input/Keyboard.js line 685 + src/input/Keyboard.js line 685 @@ -6353,7 +6353,7 @@

Source:
- src/input/Keyboard.js line 687 + src/input/Keyboard.js line 687 @@ -6415,7 +6415,7 @@

Source:
- src/input/Keyboard.js line 689 + src/input/Keyboard.js line 689 @@ -6477,7 +6477,7 @@

Source:
- src/input/Keyboard.js line 691 + src/input/Keyboard.js line 691 @@ -6539,7 +6539,7 @@

Source:
- src/input/Keyboard.js line 693 + src/input/Keyboard.js line 693 @@ -6572,9 +6572,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -6591,7 +6591,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -6620,7 +6620,7 @@

- + diff --git a/docs/Phaser.Keyboard.html b/docs/Phaser.Keyboard.html index ec4baaf9f..391e0c938 100644 --- a/docs/Phaser.Keyboard.html +++ b/docs/Phaser.Keyboard.html @@ -6,7 +6,7 @@ Phaser CE Class: Keyboard - + @@ -235,7 +235,7 @@

Parameters:
Source:
- src/input/Keyboard.js line 21 + src/input/Keyboard.js line 21 @@ -340,7 +340,7 @@
Type:
Source:
- src/input/Keyboard.js line 48 + src/input/Keyboard.js line 48 @@ -424,7 +424,7 @@
Type:
Source:
- src/input/Keyboard.js line 33 + src/input/Keyboard.js line 33 @@ -501,7 +501,7 @@
Type:
Source:
- src/input/Keyboard.js line 38 + src/input/Keyboard.js line 38 @@ -578,7 +578,7 @@
Type:
Source:
- src/input/Keyboard.js line 26 + src/input/Keyboard.js line 26 @@ -655,7 +655,7 @@
Type:
Source:
- src/input/Keyboard.js line 579 + src/input/Keyboard.js line 579 @@ -732,7 +732,7 @@
Type:
Source:
- src/input/Keyboard.js line 606 + src/input/Keyboard.js line 606 @@ -809,7 +809,7 @@
Type:
Source:
- src/input/Keyboard.js line 53 + src/input/Keyboard.js line 53 @@ -886,7 +886,7 @@
Type:
Source:
- src/input/Keyboard.js line 58 + src/input/Keyboard.js line 58 @@ -963,7 +963,7 @@
Type:
Source:
- src/input/Keyboard.js line 63 + src/input/Keyboard.js line 63 @@ -1040,7 +1040,7 @@
Type:
Source:
- src/input/Keyboard.js line 43 + src/input/Keyboard.js line 43 @@ -1304,7 +1304,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 114 + src/input/Keyboard.js line 114 @@ -1439,7 +1439,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 144 + src/input/Keyboard.js line 144 @@ -1607,7 +1607,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 294 + src/input/Keyboard.js line 294 @@ -1743,7 +1743,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 165 + src/input/Keyboard.js line 165 @@ -1851,7 +1851,7 @@

Source:
- src/input/Keyboard.js line 333 + src/input/Keyboard.js line 333 @@ -1935,7 +1935,7 @@

Source:
- src/input/Keyboard.js line 208 + src/input/Keyboard.js line 208 @@ -2044,7 +2044,7 @@

Source:
- src/input/Keyboard.js line 277 + src/input/Keyboard.js line 277 @@ -2235,7 +2235,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 487 + src/input/Keyboard.js line 487 @@ -2393,7 +2393,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 557 + src/input/Keyboard.js line 557 @@ -2551,7 +2551,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 363 + src/input/Keyboard.js line 363 @@ -2685,7 +2685,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 403 + src/input/Keyboard.js line 403 @@ -2819,7 +2819,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 426 + src/input/Keyboard.js line 426 @@ -2953,7 +2953,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 191 + src/input/Keyboard.js line 191 @@ -3087,7 +3087,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 321 + src/input/Keyboard.js line 321 @@ -3241,7 +3241,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 463 + src/input/Keyboard.js line 463 @@ -3326,7 +3326,7 @@

Source:
- src/input/Keyboard.js line 220 + src/input/Keyboard.js line 220 @@ -3410,7 +3410,7 @@

Source:
- src/input/Keyboard.js line 260 + src/input/Keyboard.js line 260 @@ -3494,7 +3494,7 @@

Source:
- src/input/Keyboard.js line 344 + src/input/Keyboard.js line 344 @@ -3688,7 +3688,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 509 + src/input/Keyboard.js line 509 @@ -3755,9 +3755,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -3774,7 +3774,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -3803,7 +3803,7 @@
Returns:
- + diff --git a/docs/Phaser.Line.html b/docs/Phaser.Line.html index dd41055f3..48fbb6a92 100644 --- a/docs/Phaser.Line.html +++ b/docs/Phaser.Line.html @@ -6,7 +6,7 @@ Phaser CE Class: Line - + @@ -370,7 +370,7 @@
Parameters:
Source:
- src/geom/Line.js line 17 + src/geom/Line.js line 17 @@ -475,7 +475,7 @@
Type:
Source:
- src/geom/Line.js line 374 + src/geom/Line.js line 374 @@ -552,7 +552,7 @@
Type:
Source:
- src/geom/Line.js line 478 + src/geom/Line.js line 478 @@ -629,7 +629,7 @@
Type:
Source:
- src/geom/Line.js line 32 + src/geom/Line.js line 32 @@ -706,7 +706,7 @@
Type:
Source:
- src/geom/Line.js line 504 + src/geom/Line.js line 504 @@ -783,7 +783,7 @@
Type:
Source:
- src/geom/Line.js line 439 + src/geom/Line.js line 439 @@ -860,7 +860,7 @@
Type:
Source:
- src/geom/Line.js line 361 + src/geom/Line.js line 361 @@ -937,7 +937,7 @@
Type:
Source:
- src/geom/Line.js line 543 + src/geom/Line.js line 543 @@ -1014,7 +1014,7 @@
Type:
Source:
- src/geom/Line.js line 517 + src/geom/Line.js line 517 @@ -1091,7 +1091,7 @@
Type:
Source:
- src/geom/Line.js line 530 + src/geom/Line.js line 530 @@ -1168,7 +1168,7 @@
Type:
Source:
- src/geom/Line.js line 400 + src/geom/Line.js line 400 @@ -1245,7 +1245,7 @@
Type:
Source:
- src/geom/Line.js line 452 + src/geom/Line.js line 452 @@ -1322,7 +1322,7 @@
Type:
Source:
- src/geom/Line.js line 387 + src/geom/Line.js line 387 @@ -1399,7 +1399,7 @@
Type:
Source:
- src/geom/Line.js line 27 + src/geom/Line.js line 27 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/geom/Line.js line 465 + src/geom/Line.js line 465 @@ -1553,7 +1553,7 @@
Type:
Source:
- src/geom/Line.js line 38 + src/geom/Line.js line 38 @@ -1630,7 +1630,7 @@
Type:
Source:
- src/geom/Line.js line 491 + src/geom/Line.js line 491 @@ -1707,7 +1707,7 @@
Type:
Source:
- src/geom/Line.js line 413 + src/geom/Line.js line 413 @@ -1784,7 +1784,7 @@
Type:
Source:
- src/geom/Line.js line 426 + src/geom/Line.js line 426 @@ -1989,7 +1989,7 @@
Parameters:
Source:
- src/geom/Line.js line 726 + src/geom/Line.js line 726 @@ -2283,7 +2283,7 @@
Parameters:
Source:
- src/geom/Line.js line 612 + src/geom/Line.js line 612 @@ -2649,7 +2649,7 @@
Parameters:
Source:
- src/geom/Line.js line 556 + src/geom/Line.js line 556 @@ -2841,7 +2841,7 @@
Parameters:
Source:
- src/geom/Line.js line 632 + src/geom/Line.js line 632 @@ -3024,7 +3024,7 @@
Parameters:
Source:
- src/geom/Line.js line 792 + src/geom/Line.js line 792 @@ -3208,7 +3208,7 @@
Parameters:
Source:
- src/geom/Line.js line 200 + src/geom/Line.js line 200 @@ -3366,7 +3366,7 @@
Parameters:
Source:
- src/geom/Line.js line 338 + src/geom/Line.js line 338 @@ -3583,7 +3583,7 @@
Parameters:
Source:
- src/geom/Line.js line 280 + src/geom/Line.js line 280 @@ -3813,7 +3813,7 @@
Parameters:
Source:
- src/geom/Line.js line 86 + src/geom/Line.js line 86 @@ -4064,7 +4064,7 @@
Parameters:
Source:
- src/geom/Line.js line 63 + src/geom/Line.js line 63 @@ -4318,7 +4318,7 @@
Parameters:
Source:
- src/geom/Line.js line 151 + src/geom/Line.js line 151 @@ -4488,7 +4488,7 @@
Parameters:
Source:
- src/geom/Line.js line 182 + src/geom/Line.js line 182 @@ -4738,7 +4738,7 @@
Parameters:
Source:
- src/geom/Line.js line 224 + src/geom/Line.js line 224 @@ -4988,7 +4988,7 @@
Parameters:
Source:
- src/geom/Line.js line 239 + src/geom/Line.js line 239 @@ -5162,7 +5162,7 @@
Parameters:
Source:
- src/geom/Line.js line 259 + src/geom/Line.js line 259 @@ -5321,7 +5321,7 @@
Parameters:
Source:
- src/geom/Line.js line 168 + src/geom/Line.js line 168 @@ -5538,7 +5538,7 @@
Parameters:
Source:
- src/geom/Line.js line 105 + src/geom/Line.js line 105 @@ -5825,7 +5825,7 @@
Parameters:
Source:
- src/geom/Line.js line 130 + src/geom/Line.js line 130 @@ -6123,7 +6123,7 @@
Parameters:
Source:
- src/geom/Line.js line 44 + src/geom/Line.js line 44 @@ -6190,9 +6190,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -6209,7 +6209,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -6238,7 +6238,7 @@
Returns:
- + diff --git a/docs/Phaser.LinkedList.html b/docs/Phaser.LinkedList.html index 0c72f49e7..7e771f61e 100644 --- a/docs/Phaser.LinkedList.html +++ b/docs/Phaser.LinkedList.html @@ -6,7 +6,7 @@ Phaser CE Class: LinkedList - + @@ -186,7 +186,7 @@

Source:
- src/utils/LinkedList.js line 18 + src/utils/LinkedList.js line 18 @@ -291,7 +291,7 @@
Type:
Source:
- src/utils/LinkedList.js line 39 + src/utils/LinkedList.js line 39 @@ -368,7 +368,7 @@
Type:
Source:
- src/utils/LinkedList.js line 46 + src/utils/LinkedList.js line 46 @@ -445,7 +445,7 @@
Type:
Source:
- src/utils/LinkedList.js line 25 + src/utils/LinkedList.js line 25 @@ -522,7 +522,7 @@
Type:
Source:
- src/utils/LinkedList.js line 32 + src/utils/LinkedList.js line 32 @@ -599,7 +599,7 @@
Type:
Source:
- src/utils/LinkedList.js line 53 + src/utils/LinkedList.js line 53 @@ -727,7 +727,7 @@
Parameters:
Source:
- src/utils/LinkedList.js line 59 + src/utils/LinkedList.js line 59 @@ -886,7 +886,7 @@
Parameters:
Source:
- src/utils/LinkedList.js line 156 + src/utils/LinkedList.js line 156 @@ -1020,7 +1020,7 @@
Parameters:
Source:
- src/utils/LinkedList.js line 107 + src/utils/LinkedList.js line 107 @@ -1104,7 +1104,7 @@

Source:
- src/utils/LinkedList.js line 92 + src/utils/LinkedList.js line 92 @@ -1147,9 +1147,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1166,7 +1166,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1195,7 +1195,7 @@

- + diff --git a/docs/Phaser.Loader.html b/docs/Phaser.Loader.html index b797bf892..2c337dad9 100644 --- a/docs/Phaser.Loader.html +++ b/docs/Phaser.Loader.html @@ -6,7 +6,7 @@ Phaser CE Class: Loader - + @@ -235,7 +235,7 @@

Parameters:
Source:
- src/loader/Loader.js line 22 + src/loader/Loader.js line 22 @@ -336,7 +336,7 @@
Type:
Source:
- src/loader/Loader.js line 323 + src/loader/Loader.js line 323 @@ -409,7 +409,7 @@
Type:
Source:
- src/loader/Loader.js line 329 + src/loader/Loader.js line 329 @@ -482,7 +482,7 @@
Type:
Source:
- src/loader/Loader.js line 305 + src/loader/Loader.js line 305 @@ -555,7 +555,7 @@
Type:
Source:
- src/loader/Loader.js line 311 + src/loader/Loader.js line 311 @@ -628,7 +628,7 @@
Type:
Source:
- src/loader/Loader.js line 335 + src/loader/Loader.js line 335 @@ -701,7 +701,7 @@
Type:
Source:
- src/loader/Loader.js line 317 + src/loader/Loader.js line 317 @@ -820,7 +820,7 @@
Properties:
Source:
- src/loader/Loader.js line 228 + src/loader/Loader.js line 228 @@ -899,7 +899,7 @@
Type:
Source:
- src/loader/Loader.js line 83 + src/loader/Loader.js line 83 @@ -976,7 +976,7 @@
Type:
Source:
- src/loader/Loader.js line 36 + src/loader/Loader.js line 36 @@ -1056,7 +1056,7 @@
Type:
Source:
- src/loader/Loader.js line 74 + src/loader/Loader.js line 74 @@ -1134,7 +1134,7 @@
Type:
Source:
- src/loader/Loader.js line 211 + src/loader/Loader.js line 211 @@ -1211,7 +1211,7 @@
Type:
Source:
- src/loader/Loader.js line 29 + src/loader/Loader.js line 29 @@ -1288,7 +1288,7 @@
Type:
Source:
- src/loader/Loader.js line 57 + src/loader/Loader.js line 57 @@ -1379,7 +1379,7 @@
Type:
Source:
- src/loader/Loader.js line 122 + src/loader/Loader.js line 122 @@ -1456,7 +1456,7 @@
Type:
Source:
- src/loader/Loader.js line 50 + src/loader/Loader.js line 50 @@ -1535,7 +1535,7 @@
Type:
Source:
- src/loader/Loader.js line 222 + src/loader/Loader.js line 222 @@ -1615,7 +1615,7 @@
Type:
Source:
- src/loader/Loader.js line 175 + src/loader/Loader.js line 175 @@ -1694,7 +1694,7 @@
Type:
Source:
- src/loader/Loader.js line 186 + src/loader/Loader.js line 186 @@ -1773,7 +1773,7 @@
Type:
Source:
- src/loader/Loader.js line 162 + src/loader/Loader.js line 162 @@ -1850,7 +1850,7 @@
Type:
Source:
- src/loader/Loader.js line 141 + src/loader/Loader.js line 141 @@ -1928,7 +1928,7 @@
Type:
Source:
- src/loader/Loader.js line 134 + src/loader/Loader.js line 134 @@ -2007,7 +2007,7 @@
Type:
Source:
- src/loader/Loader.js line 152 + src/loader/Loader.js line 152 @@ -2093,7 +2093,7 @@
Type:
Source:
- src/loader/Loader.js line 103 + src/loader/Loader.js line 103 @@ -2171,7 +2171,7 @@
Type:
Source:
- src/loader/Loader.js line 67 + src/loader/Loader.js line 67 @@ -2286,7 +2286,7 @@
Properties:
Source:
- src/loader/Loader.js line 3208 + src/loader/Loader.js line 3208 @@ -2403,7 +2403,7 @@
Properties:
Source:
- src/loader/Loader.js line 3190 + src/loader/Loader.js line 3190 @@ -2480,7 +2480,7 @@
Type:
Source:
- src/loader/Loader.js line 43 + src/loader/Loader.js line 43 @@ -2567,7 +2567,7 @@
Type:
Source:
- src/loader/Loader.js line 196 + src/loader/Loader.js line 196 @@ -2720,7 +2720,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1798 + src/loader/Loader.js line 1798 @@ -3093,7 +3093,7 @@
Parameters:
Source:
- src/loader/Loader.js line 516 + src/loader/Loader.js line 516 @@ -3415,7 +3415,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1667 + src/loader/Loader.js line 1667 @@ -3704,7 +3704,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1521 + src/loader/Loader.js line 1521 @@ -3993,7 +3993,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1567 + src/loader/Loader.js line 1567 @@ -4282,7 +4282,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1613 + src/loader/Loader.js line 1613 @@ -4549,7 +4549,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1114 + src/loader/Loader.js line 1114 @@ -4892,7 +4892,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1157 + src/loader/Loader.js line 1157 @@ -5229,7 +5229,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1216 + src/loader/Loader.js line 1216 @@ -5529,7 +5529,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1032 + src/loader/Loader.js line 1032 @@ -5908,7 +5908,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1430 + src/loader/Loader.js line 1430 @@ -6091,7 +6091,7 @@
Parameters:
Source:
- src/loader/Loader.js line 391 + src/loader/Loader.js line 391 @@ -6274,7 +6274,7 @@
Parameters:
Source:
- src/loader/Loader.js line 442 + src/loader/Loader.js line 442 @@ -6458,7 +6458,7 @@
Parameters:
Source:
- src/loader/Loader.js line 407 + src/loader/Loader.js line 407 @@ -6738,7 +6738,7 @@
Parameters:
Source:
- src/loader/Loader.js line 694 + src/loader/Loader.js line 694 @@ -6988,7 +6988,7 @@
Parameters:
Source:
- src/loader/Loader.js line 756 + src/loader/Loader.js line 756 @@ -7199,7 +7199,7 @@
Parameters:
Source:
- src/loader/Loader.js line 843 + src/loader/Loader.js line 843 @@ -7459,7 +7459,7 @@
Parameters:
Source:
- src/loader/Loader.js line 915 + src/loader/Loader.js line 915 @@ -7756,7 +7756,7 @@
Parameters:
Source:
- src/loader/Loader.js line 614 + src/loader/Loader.js line 614 @@ -8062,7 +8062,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1369 + src/loader/Loader.js line 1369 @@ -8170,7 +8170,7 @@

Source:
- src/loader/Loader.js line 1845 + src/loader/Loader.js line 1845 @@ -8329,7 +8329,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1821 + src/loader/Loader.js line 1821 @@ -8535,7 +8535,7 @@
Parameters:
Source:
- src/loader/Loader.js line 598 + src/loader/Loader.js line 598 @@ -8731,7 +8731,7 @@
Parameters:
Source:
- src/loader/Loader.js line 466 + src/loader/Loader.js line 466 @@ -8816,7 +8816,7 @@

Source:
- src/loader/Loader.js line 374 + src/loader/Loader.js line 374 @@ -9093,7 +9093,7 @@
Parameters:
Source:
- src/loader/Loader.js line 997 + src/loader/Loader.js line 997 @@ -9313,7 +9313,7 @@
Parameters:
Source:
- src/loader/Loader.js line 339 + src/loader/Loader.js line 339 @@ -9548,7 +9548,7 @@
Parameters:
Source:
- src/loader/Loader.js line 943 + src/loader/Loader.js line 943 @@ -10003,7 +10003,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1070 + src/loader/Loader.js line 1070 @@ -10111,7 +10111,7 @@

Source:
- src/loader/Loader.js line 1858 + src/loader/Loader.js line 1858 @@ -10346,7 +10346,7 @@
Parameters:
Source:
- src/loader/Loader.js line 888 + src/loader/Loader.js line 888 @@ -10617,7 +10617,7 @@
Parameters:
Source:
- src/loader/Loader.js line 771 + src/loader/Loader.js line 771 @@ -10924,7 +10924,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1288 + src/loader/Loader.js line 1288 @@ -11032,7 +11032,7 @@

Source:
- src/loader/Loader.js line 3136 + src/loader/Loader.js line 3136 @@ -11140,7 +11140,7 @@

Source:
- src/loader/Loader.js line 3162 + src/loader/Loader.js line 3162 @@ -11248,7 +11248,7 @@

Source:
- src/loader/Loader.js line 3149 + src/loader/Loader.js line 3149 @@ -11356,7 +11356,7 @@

Source:
- src/loader/Loader.js line 3175 + src/loader/Loader.js line 3175 @@ -11539,7 +11539,7 @@
Parameters:
Source:
- src/loader/Loader.js line 2185 + src/loader/Loader.js line 2185 @@ -11849,7 +11849,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1234 + src/loader/Loader.js line 1234 @@ -12067,7 +12067,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1772 + src/loader/Loader.js line 1772 @@ -12326,7 +12326,7 @@
Parameters:
Source:
- src/loader/Loader.js line 970 + src/loader/Loader.js line 970 @@ -12393,9 +12393,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -12412,7 +12412,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -12441,7 +12441,7 @@
Returns:
- + diff --git a/docs/Phaser.LoaderParser.html b/docs/Phaser.LoaderParser.html index 896ef149c..e9e71be5a 100644 --- a/docs/Phaser.LoaderParser.html +++ b/docs/Phaser.LoaderParser.html @@ -6,7 +6,7 @@ Phaser CE Class: LoaderParser - + @@ -180,7 +180,7 @@

Source:
- src/loader/LoaderParser.js line 12 + src/loader/LoaderParser.js line 12 @@ -542,7 +542,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 14 + src/loader/LoaderParser.js line 14 @@ -700,7 +700,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 288 + src/loader/LoaderParser.js line 288 @@ -1068,7 +1068,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 96 + src/loader/LoaderParser.js line 96 @@ -1226,7 +1226,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 385 + src/loader/LoaderParser.js line 385 @@ -1384,7 +1384,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 484 + src/loader/LoaderParser.js line 484 @@ -1542,7 +1542,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 189 + src/loader/LoaderParser.js line 189 @@ -1910,7 +1910,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 32 + src/loader/LoaderParser.js line 32 @@ -1977,9 +1977,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1996,7 +1996,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2025,7 +2025,7 @@
Returns:
- + diff --git a/docs/Phaser.MSPointer.html b/docs/Phaser.MSPointer.html index 2a8401b9c..fda816912 100644 --- a/docs/Phaser.MSPointer.html +++ b/docs/Phaser.MSPointer.html @@ -6,7 +6,7 @@ Phaser CE Class: MSPointer - + @@ -241,7 +241,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 36 + src/input/MSPointer.js line 36 @@ -348,7 +348,7 @@
Type:
Source:
- src/input/MSPointer.js line 80 + src/input/MSPointer.js line 80 @@ -425,7 +425,7 @@
Type:
Source:
- src/input/MSPointer.js line 52 + src/input/MSPointer.js line 52 @@ -502,7 +502,7 @@
Type:
Source:
- src/input/MSPointer.js line 72 + src/input/MSPointer.js line 72 @@ -586,7 +586,7 @@
Type:
Source:
- src/input/MSPointer.js line 95 + src/input/MSPointer.js line 95 @@ -670,7 +670,7 @@
Type:
Source:
- src/input/MSPointer.js line 88 + src/input/MSPointer.js line 88 @@ -747,7 +747,7 @@
Type:
Source:
- src/input/MSPointer.js line 41 + src/input/MSPointer.js line 41 @@ -824,7 +824,7 @@
Type:
Source:
- src/input/MSPointer.js line 47 + src/input/MSPointer.js line 47 @@ -901,7 +901,7 @@
Type:
Source:
- src/input/MSPointer.js line 57 + src/input/MSPointer.js line 57 @@ -978,7 +978,7 @@
Type:
Source:
- src/input/MSPointer.js line 62 + src/input/MSPointer.js line 62 @@ -1055,7 +1055,7 @@
Type:
Source:
- src/input/MSPointer.js line 67 + src/input/MSPointer.js line 67 @@ -1183,7 +1183,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 206 + src/input/MSPointer.js line 206 @@ -1317,7 +1317,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 246 + src/input/MSPointer.js line 246 @@ -1451,7 +1451,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 401 + src/input/MSPointer.js line 401 @@ -1585,7 +1585,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 346 + src/input/MSPointer.js line 346 @@ -1719,7 +1719,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 283 + src/input/MSPointer.js line 283 @@ -1853,7 +1853,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 322 + src/input/MSPointer.js line 322 @@ -1937,7 +1937,7 @@

Source:
- src/input/MSPointer.js line 137 + src/input/MSPointer.js line 137 @@ -2021,7 +2021,7 @@

Source:
- src/input/MSPointer.js line 437 + src/input/MSPointer.js line 437 @@ -2064,9 +2064,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2083,7 +2083,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2112,7 +2112,7 @@

- + diff --git a/docs/Phaser.Math.html b/docs/Phaser.Math.html index 381f4a6ff..ac3446e27 100644 --- a/docs/Phaser.Math.html +++ b/docs/Phaser.Math.html @@ -6,7 +6,7 @@ Phaser CE Class: Math - + @@ -181,7 +181,7 @@

Source:
- src/math/Math.js line 17 + src/math/Math.js line 17 @@ -337,7 +337,7 @@
Properties:
Source:
- src/math/Math.js line 37 + src/math/Math.js line 37 @@ -463,7 +463,7 @@
Properties:
Source:
- src/math/Math.js line 31 + src/math/Math.js line 31 @@ -589,7 +589,7 @@
Properties:
Source:
- src/math/Math.js line 24 + src/math/Math.js line 24 @@ -708,7 +708,7 @@
Properties:
Source:
- src/math/Math.js line 43 + src/math/Math.js line 43 @@ -908,7 +908,7 @@
Parameters:
Source:
- src/math/Math.js line 541 + src/math/Math.js line 541 @@ -1090,7 +1090,7 @@
Parameters:
Source:
- src/math/Math.js line 576 + src/math/Math.js line 576 @@ -1272,7 +1272,7 @@
Parameters:
Source:
- src/math/Math.js line 590 + src/math/Math.js line 590 @@ -1504,7 +1504,7 @@
Parameters:
Source:
- src/math/Math.js line 557 + src/math/Math.js line 557 @@ -1612,7 +1612,7 @@

Source:
- src/math/Math.js line 260 + src/math/Math.js line 260 @@ -1790,7 +1790,7 @@
Parameters:
Source:
- src/math/Math.js line 983 + src/math/Math.js line 983 @@ -1969,7 +1969,7 @@
Parameters:
Source:
- src/math/Math.js line 144 + src/math/Math.js line 144 @@ -2151,7 +2151,7 @@
Parameters:
Source:
- src/math/Math.js line 906 + src/math/Math.js line 906 @@ -2405,7 +2405,7 @@
Parameters:
Source:
- src/math/Math.js line 1019 + src/math/Math.js line 1019 @@ -2583,7 +2583,7 @@
Parameters:
Source:
- src/math/Math.js line 928 + src/math/Math.js line 928 @@ -2838,7 +2838,7 @@
Parameters:
Source:
- src/math/Math.js line 439 + src/math/Math.js line 439 @@ -3044,7 +3044,7 @@
Parameters:
Source:
- src/math/Math.js line 1179 + src/math/Math.js line 1179 @@ -3227,7 +3227,7 @@
Parameters:
Source:
- src/math/Math.js line 1205 + src/math/Math.js line 1205 @@ -3381,7 +3381,7 @@
Parameters:
Source:
- src/math/Math.js line 45 + src/math/Math.js line 45 @@ -3563,7 +3563,7 @@
Parameters:
Source:
- src/math/Math.js line 1039 + src/math/Math.js line 1039 @@ -3793,7 +3793,7 @@
Parameters:
Source:
- src/math/Math.js line 1121 + src/math/Math.js line 1121 @@ -4115,7 +4115,7 @@
Parameters:
Source:
- src/math/Math.js line 1160 + src/math/Math.js line 1160 @@ -4346,7 +4346,7 @@
Parameters:
Source:
- src/math/Math.js line 1140 + src/math/Math.js line 1140 @@ -4500,7 +4500,7 @@
Parameters:
Source:
- src/math/Math.js line 996 + src/math/Math.js line 996 @@ -4751,7 +4751,7 @@
Parameters:
Source:
- src/math/Math.js line 418 + src/math/Math.js line 418 @@ -4965,7 +4965,7 @@
Parameters:
Source:
- src/math/Math.js line 228 + src/math/Math.js line 228 @@ -5215,7 +5215,7 @@
Parameters:
Source:
- src/math/Math.js line 177 + src/math/Math.js line 177 @@ -5429,7 +5429,7 @@
Parameters:
Source:
- src/math/Math.js line 244 + src/math/Math.js line 244 @@ -5679,7 +5679,7 @@
Parameters:
Source:
- src/math/Math.js line 211 + src/math/Math.js line 211 @@ -5929,7 +5929,7 @@
Parameters:
Source:
- src/math/Math.js line 194 + src/math/Math.js line 194 @@ -6088,7 +6088,7 @@
Parameters:
Source:
- src/math/Math.js line 71 + src/math/Math.js line 71 @@ -6276,7 +6276,7 @@
Parameters:
Source:
- src/math/Math.js line 511 + src/math/Math.js line 511 @@ -6458,7 +6458,7 @@
Parameters:
Source:
- src/math/Math.js line 1107 + src/math/Math.js line 1107 @@ -6616,7 +6616,7 @@
Parameters:
Source:
- src/math/Math.js line 726 + src/math/Math.js line 726 @@ -6774,7 +6774,7 @@
Parameters:
Source:
- src/math/Math.js line 712 + src/math/Math.js line 712 @@ -6956,7 +6956,7 @@
Parameters:
Source:
- src/math/Math.js line 100 + src/math/Math.js line 100 @@ -7162,7 +7162,7 @@
Parameters:
Source:
- src/math/Math.js line 968 + src/math/Math.js line 968 @@ -7340,7 +7340,7 @@
Parameters:
Source:
- src/math/Math.js line 878 + src/math/Math.js line 878 @@ -7594,7 +7594,7 @@
Parameters:
Source:
- src/math/Math.js line 1236 + src/math/Math.js line 1236 @@ -7699,7 +7699,7 @@

Source:
- src/math/Math.js line 772 + src/math/Math.js line 772 @@ -7912,7 +7912,7 @@
Parameters:
Source:
- src/math/Math.js line 628 + src/math/Math.js line 628 @@ -8021,7 +8021,7 @@

Source:
- src/math/Math.js line 834 + src/math/Math.js line 834 @@ -8130,7 +8130,7 @@

Source:
- src/math/Math.js line 740 + src/math/Math.js line 740 @@ -8246,7 +8246,7 @@

Source:
- src/math/Math.js line 804 + src/math/Math.js line 804 @@ -8452,7 +8452,7 @@
Parameters:
Source:
- src/math/Math.js line 643 + src/math/Math.js line 643 @@ -8610,7 +8610,7 @@
Parameters:
Source:
- src/math/Math.js line 615 + src/math/Math.js line 615 @@ -8860,7 +8860,7 @@
Parameters:
Source:
- src/math/Math.js line 1304 + src/math/Math.js line 1304 @@ -9018,7 +9018,7 @@
Parameters:
Source:
- src/math/Math.js line 58 + src/math/Math.js line 58 @@ -9201,7 +9201,7 @@
Parameters:
Source:
- src/math/Math.js line 114 + src/math/Math.js line 114 @@ -9359,7 +9359,7 @@
Parameters:
Source:
- src/math/Math.js line 603 + src/math/Math.js line 603 @@ -9610,7 +9610,7 @@
Parameters:
Source:
- src/math/Math.js line 460 + src/math/Math.js line 460 @@ -9768,7 +9768,7 @@
Parameters:
Source:
- src/math/Math.js line 1053 + src/math/Math.js line 1053 @@ -10045,7 +10045,7 @@
Parameters:
Source:
- src/math/Math.js line 372 + src/math/Math.js line 372 @@ -10199,7 +10199,7 @@
Parameters:
Source:
- src/math/Math.js line 281 + src/math/Math.js line 281 @@ -10358,7 +10358,7 @@
Parameters:
Source:
- src/math/Math.js line 1289 + src/math/Math.js line 1289 @@ -10591,7 +10591,7 @@
Parameters:
Source:
- src/math/Math.js line 1067 + src/math/Math.js line 1067 @@ -10797,7 +10797,7 @@
Parameters:
Source:
- src/math/Math.js line 1272 + src/math/Math.js line 1272 @@ -11003,7 +11003,7 @@
Parameters:
Source:
- src/math/Math.js line 1253 + src/math/Math.js line 1253 @@ -11254,7 +11254,7 @@
Parameters:
Source:
- src/math/Math.js line 292 + src/math/Math.js line 292 @@ -11506,7 +11506,7 @@
Parameters:
Source:
- src/math/Math.js line 345 + src/math/Math.js line 345 @@ -11758,7 +11758,7 @@
Parameters:
Source:
- src/math/Math.js line 318 + src/math/Math.js line 318 @@ -11964,7 +11964,7 @@
Parameters:
Source:
- src/math/Math.js line 1220 + src/math/Math.js line 1220 @@ -12178,7 +12178,7 @@
Parameters:
Source:
- src/math/Math.js line 658 + src/math/Math.js line 658 @@ -12392,7 +12392,7 @@
Parameters:
Source:
- src/math/Math.js line 864 + src/math/Math.js line 864 @@ -12599,7 +12599,7 @@
Parameters:
Source:
- src/math/Math.js line 689 + src/math/Math.js line 689 @@ -12666,9 +12666,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -12685,7 +12685,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -12714,7 +12714,7 @@
Returns:
- + diff --git a/docs/Phaser.Matrix.html b/docs/Phaser.Matrix.html index 1eec22cda..24820c783 100644 --- a/docs/Phaser.Matrix.html +++ b/docs/Phaser.Matrix.html @@ -6,7 +6,7 @@ Phaser CE Class: Matrix - + @@ -454,7 +454,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 26 + src/geom/Matrix.js line 26 @@ -562,7 +562,7 @@
Type:
Source:
- src/geom/Matrix.js line 39 + src/geom/Matrix.js line 39 @@ -642,7 +642,7 @@
Type:
Source:
- src/geom/Matrix.js line 45 + src/geom/Matrix.js line 45 @@ -722,7 +722,7 @@
Type:
Source:
- src/geom/Matrix.js line 51 + src/geom/Matrix.js line 51 @@ -802,7 +802,7 @@
Type:
Source:
- src/geom/Matrix.js line 57 + src/geom/Matrix.js line 57 @@ -882,7 +882,7 @@
Type:
Source:
- src/geom/Matrix.js line 63 + src/geom/Matrix.js line 63 @@ -962,7 +962,7 @@
Type:
Source:
- src/geom/Matrix.js line 69 + src/geom/Matrix.js line 69 @@ -1039,7 +1039,7 @@
Type:
Source:
- src/geom/Matrix.js line 75 + src/geom/Matrix.js line 75 @@ -1167,7 +1167,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 345 + src/geom/Matrix.js line 345 @@ -1370,7 +1370,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 233 + src/geom/Matrix.js line 233 @@ -1573,7 +1573,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 254 + src/geom/Matrix.js line 254 @@ -1745,7 +1745,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 128 + src/geom/Matrix.js line 128 @@ -1903,7 +1903,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 172 + src/geom/Matrix.js line 172 @@ -2061,7 +2061,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 157 + src/geom/Matrix.js line 157 @@ -2226,7 +2226,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 81 + src/geom/Matrix.js line 81 @@ -2334,7 +2334,7 @@

Source:
- src/geom/Matrix.js line 371 + src/geom/Matrix.js line 371 @@ -2492,7 +2492,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 318 + src/geom/Matrix.js line 318 @@ -2674,7 +2674,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 297 + src/geom/Matrix.js line 297 @@ -2952,7 +2952,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 103 + src/geom/Matrix.js line 103 @@ -3168,7 +3168,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 192 + src/geom/Matrix.js line 192 @@ -3351,7 +3351,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 279 + src/geom/Matrix.js line 279 @@ -3418,9 +3418,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -3437,7 +3437,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -3466,7 +3466,7 @@
Returns:
- + diff --git a/docs/Phaser.Mouse.html b/docs/Phaser.Mouse.html index d745113cf..6fbeae8e7 100644 --- a/docs/Phaser.Mouse.html +++ b/docs/Phaser.Mouse.html @@ -6,7 +6,7 @@ Phaser CE Class: Mouse - + @@ -235,7 +235,7 @@
Parameters:
Source:
- src/input/Mouse.js line 21 + src/input/Mouse.js line 21 @@ -336,7 +336,7 @@
Type:
Source:
- src/input/Mouse.js line 190 + src/input/Mouse.js line 190 @@ -409,7 +409,7 @@
Type:
Source:
- src/input/Mouse.js line 196 + src/input/Mouse.js line 196 @@ -482,7 +482,7 @@
Type:
Source:
- src/input/Mouse.js line 172 + src/input/Mouse.js line 172 @@ -555,7 +555,7 @@
Type:
Source:
- src/input/Mouse.js line 178 + src/input/Mouse.js line 178 @@ -628,7 +628,7 @@
Type:
Source:
- src/input/Mouse.js line 166 + src/input/Mouse.js line 166 @@ -701,7 +701,7 @@
Type:
Source:
- src/input/Mouse.js line 184 + src/input/Mouse.js line 184 @@ -774,7 +774,7 @@
Type:
Source:
- src/input/Mouse.js line 208 + src/input/Mouse.js line 208 @@ -847,7 +847,7 @@
Type:
Source:
- src/input/Mouse.js line 202 + src/input/Mouse.js line 202 @@ -926,7 +926,7 @@
Type:
Source:
- src/input/Mouse.js line 76 + src/input/Mouse.js line 76 @@ -1003,7 +1003,7 @@
Type:
Source:
- src/input/Mouse.js line 37 + src/input/Mouse.js line 37 @@ -1080,7 +1080,7 @@
Type:
Source:
- src/input/Mouse.js line 67 + src/input/Mouse.js line 67 @@ -1164,7 +1164,7 @@
Type:
Source:
- src/input/Mouse.js line 89 + src/input/Mouse.js line 89 @@ -1245,7 +1245,7 @@
Type:
Source:
- src/input/Mouse.js line 115 + src/input/Mouse.js line 115 @@ -1322,7 +1322,7 @@
Type:
Source:
- src/input/Mouse.js line 26 + src/input/Mouse.js line 26 @@ -1399,7 +1399,7 @@
Type:
Source:
- src/input/Mouse.js line 32 + src/input/Mouse.js line 32 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/input/Mouse.js line 95 + src/input/Mouse.js line 95 @@ -1553,7 +1553,7 @@
Type:
Source:
- src/input/Mouse.js line 42 + src/input/Mouse.js line 42 @@ -1630,7 +1630,7 @@
Type:
Source:
- src/input/Mouse.js line 52 + src/input/Mouse.js line 52 @@ -1707,7 +1707,7 @@
Type:
Source:
- src/input/Mouse.js line 57 + src/input/Mouse.js line 57 @@ -1784,7 +1784,7 @@
Type:
Source:
- src/input/Mouse.js line 47 + src/input/Mouse.js line 47 @@ -1861,7 +1861,7 @@
Type:
Source:
- src/input/Mouse.js line 62 + src/input/Mouse.js line 62 @@ -1938,7 +1938,7 @@
Type:
Source:
- src/input/Mouse.js line 107 + src/input/Mouse.js line 107 @@ -2015,7 +2015,7 @@
Type:
Source:
- src/input/Mouse.js line 101 + src/input/Mouse.js line 101 @@ -2092,7 +2092,7 @@
Type:
Source:
- src/input/Mouse.js line 82 + src/input/Mouse.js line 82 @@ -2220,7 +2220,7 @@
Parameters:
Source:
- src/input/Mouse.js line 296 + src/input/Mouse.js line 296 @@ -2354,7 +2354,7 @@
Parameters:
Source:
- src/input/Mouse.js line 326 + src/input/Mouse.js line 326 @@ -2488,7 +2488,7 @@
Parameters:
Source:
- src/input/Mouse.js line 445 + src/input/Mouse.js line 445 @@ -2622,7 +2622,7 @@
Parameters:
Source:
- src/input/Mouse.js line 408 + src/input/Mouse.js line 408 @@ -2756,7 +2756,7 @@
Parameters:
Source:
- src/input/Mouse.js line 481 + src/input/Mouse.js line 481 @@ -2890,7 +2890,7 @@
Parameters:
Source:
- src/input/Mouse.js line 356 + src/input/Mouse.js line 356 @@ -3024,7 +3024,7 @@
Parameters:
Source:
- src/input/Mouse.js line 386 + src/input/Mouse.js line 386 @@ -3158,7 +3158,7 @@
Parameters:
Source:
- src/input/Mouse.js line 505 + src/input/Mouse.js line 505 @@ -3292,7 +3292,7 @@
Parameters:
Source:
- src/input/Mouse.js line 563 + src/input/Mouse.js line 563 @@ -3376,7 +3376,7 @@

Source:
- src/input/Mouse.js line 588 + src/input/Mouse.js line 588 @@ -3462,7 +3462,7 @@

Source:
- src/input/Mouse.js line 534 + src/input/Mouse.js line 534 @@ -3546,7 +3546,7 @@

Source:
- src/input/Mouse.js line 212 + src/input/Mouse.js line 212 @@ -3630,7 +3630,7 @@

Source:
- src/input/Mouse.js line 604 + src/input/Mouse.js line 604 @@ -3673,9 +3673,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -3692,7 +3692,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -3721,7 +3721,7 @@

- + diff --git a/docs/Phaser.Net.html b/docs/Phaser.Net.html index 7f1a40f78..64d94a383 100644 --- a/docs/Phaser.Net.html +++ b/docs/Phaser.Net.html @@ -6,7 +6,7 @@ Phaser CE Class: Net - + @@ -230,7 +230,7 @@

Parameters:
Source:
- src/net/Net.js line 14 + src/net/Net.js line 14 @@ -385,7 +385,7 @@
Parameters:
Source:
- src/net/Net.js line 38 + src/net/Net.js line 38 @@ -544,7 +544,7 @@
Parameters:
Source:
- src/net/Net.js line 152 + src/net/Net.js line 152 @@ -652,7 +652,7 @@

Source:
- src/net/Net.js line 22 + src/net/Net.js line 22 @@ -827,7 +827,7 @@
Parameters:
Source:
- src/net/Net.js line 116 + src/net/Net.js line 116 @@ -1063,7 +1063,7 @@
Parameters:
Source:
- src/net/Net.js line 52 + src/net/Net.js line 52 @@ -1130,9 +1130,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1149,7 +1149,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1178,7 +1178,7 @@
Returns:
- + diff --git a/docs/Phaser.Particle.html b/docs/Phaser.Particle.html index 32ea145bf..996980256 100644 --- a/docs/Phaser.Particle.html +++ b/docs/Phaser.Particle.html @@ -6,7 +6,7 @@ Phaser CE Class: Particle - + @@ -338,7 +338,7 @@
Parameters:
Source:
- src/gameobjects/Particle.js line 19 + src/gameobjects/Particle.js line 19 @@ -474,7 +474,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -575,7 +575,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -652,7 +652,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 51 + src/gameobjects/Particle.js line 51 @@ -742,7 +742,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -833,7 +833,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -920,7 +920,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1004,7 +1004,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 45 + src/gameobjects/Particle.js line 45 @@ -1094,7 +1094,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1171,7 +1171,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 27 + src/gameobjects/Particle.js line 27 @@ -1265,7 +1265,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1368,7 +1368,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 93 + src/gameobjects/components/PhysicsBody.js line 93 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1548,7 +1548,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1635,7 +1635,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1722,7 +1722,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1809,7 +1809,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1901,7 +1901,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 98 + src/gameobjects/components/InWorld.js line 98 @@ -1987,7 +1987,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -2073,7 +2073,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -2161,7 +2161,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2257,7 +2257,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2343,7 +2343,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2430,7 +2430,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2517,7 +2517,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -2603,7 +2603,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -2690,7 +2690,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2777,7 +2777,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2877,7 +2877,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2963,7 +2963,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -3054,7 +3054,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -3147,7 +3147,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -3238,7 +3238,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3329,7 +3329,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3416,7 +3416,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3502,7 +3502,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3596,7 +3596,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3692,7 +3692,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3780,7 +3780,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3867,7 +3867,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3958,7 +3958,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -4051,7 +4051,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -4137,7 +4137,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 129 + src/gameobjects/components/InWorld.js line 129 @@ -4239,7 +4239,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -4326,7 +4326,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4416,7 +4416,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -4505,7 +4505,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4599,7 +4599,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4686,7 +4686,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4774,7 +4774,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4862,7 +4862,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4948,7 +4948,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 106 + src/gameobjects/components/InWorld.js line 106 @@ -5035,7 +5035,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 115 + src/gameobjects/components/InWorld.js line 115 @@ -5124,7 +5124,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -5213,7 +5213,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -5299,7 +5299,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 61 + src/gameobjects/Sprite.js line 61 @@ -5386,7 +5386,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5474,7 +5474,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5560,7 +5560,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5646,7 +5646,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5733,7 +5733,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -5820,7 +5820,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5907,7 +5907,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5996,7 +5996,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -6085,7 +6085,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6162,7 +6162,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 33 + src/gameobjects/Particle.js line 33 @@ -6250,7 +6250,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6338,7 +6338,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6432,7 +6432,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6520,7 +6520,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6606,7 +6606,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6699,7 +6699,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6792,7 +6792,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6879,7 +6879,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -6965,7 +6965,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -7051,7 +7051,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -7137,7 +7137,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 55 + src/gameobjects/Sprite.js line 55 @@ -7235,7 +7235,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -7323,7 +7323,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -7415,7 +7415,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -7506,7 +7506,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -7597,7 +7597,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -7688,7 +7688,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -7779,7 +7779,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -7865,7 +7865,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -7952,7 +7952,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -8039,7 +8039,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -8128,7 +8128,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -8265,7 +8265,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -8456,7 +8456,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -8799,7 +8799,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -9143,7 +9143,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -9263,7 +9263,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9430,7 +9430,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -9656,7 +9656,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9800,7 +9800,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9919,7 +9919,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -10164,7 +10164,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -10340,7 +10340,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -10507,7 +10507,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -10674,7 +10674,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -10791,7 +10791,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -10958,7 +10958,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -11079,7 +11079,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -11364,7 +11364,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11460,7 +11460,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -11580,7 +11580,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -11688,7 +11688,7 @@

Source:
- src/gameobjects/Particle.js line 102 + src/gameobjects/Particle.js line 102 @@ -11847,7 +11847,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -12153,7 +12153,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12270,7 +12270,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -12363,7 +12363,7 @@

Source:
- src/gameobjects/Sprite.js line 107 + src/gameobjects/Sprite.js line 107 @@ -12480,7 +12480,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -12623,7 +12623,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -12790,7 +12790,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -12981,7 +12981,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -13214,7 +13214,7 @@
Parameters:
Source:
- src/gameobjects/Particle.js line 141 + src/gameobjects/Particle.js line 141 @@ -13331,7 +13331,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -13524,7 +13524,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13689,7 +13689,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -13809,7 +13809,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -13917,7 +13917,7 @@

Source:
- src/gameobjects/Particle.js line 111 + src/gameobjects/Particle.js line 111 @@ -14084,7 +14084,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -14228,7 +14228,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -14372,7 +14372,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -14480,7 +14480,7 @@

Source:
- src/gameobjects/Particle.js line 126 + src/gameobjects/Particle.js line 126 @@ -14717,7 +14717,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -14917,7 +14917,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -15084,7 +15084,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -15227,7 +15227,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -15440,7 +15440,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -15555,7 +15555,7 @@

Source:
- src/gameobjects/Particle.js line 64 + src/gameobjects/Particle.js line 64 @@ -15648,7 +15648,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -15768,7 +15768,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -15931,7 +15931,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -16000,9 +16000,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -16019,7 +16019,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -16048,7 +16048,7 @@
Returns:
- + diff --git a/docs/Phaser.Particles.Arcade.Emitter.html b/docs/Phaser.Particles.Arcade.Emitter.html index 35a7e52a6..799ebc30e 100644 --- a/docs/Phaser.Particles.Arcade.Emitter.html +++ b/docs/Phaser.Particles.Arcade.Emitter.html @@ -6,7 +6,7 @@ Phaser CE Class: Emitter - + @@ -368,7 +368,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 20 + src/particles/arcade/Emitter.js line 20 @@ -505,7 +505,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -591,7 +591,7 @@
Type:
Source:
- src/core/Group.js line 3227 + src/core/Group.js line 3227 @@ -668,7 +668,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 139 + src/particles/arcade/Emitter.js line 139 @@ -757,7 +757,7 @@
Type:
Source:
- src/core/Group.js line 2887 + src/core/Group.js line 2887 @@ -834,7 +834,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 156 + src/particles/arcade/Emitter.js line 156 @@ -911,7 +911,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 57 + src/particles/arcade/Emitter.js line 57 @@ -988,7 +988,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 217 + src/particles/arcade/Emitter.js line 217 @@ -1065,7 +1065,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 212 + src/particles/arcade/Emitter.js line 212 @@ -1142,7 +1142,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 191 + src/particles/arcade/Emitter.js line 191 @@ -1224,7 +1224,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1169 + src/particles/arcade/Emitter.js line 1169 @@ -1301,7 +1301,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 173 + src/particles/arcade/Emitter.js line 173 @@ -1394,7 +1394,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1481,7 +1481,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1569,7 +1569,7 @@
Type:
Source:
- src/core/Group.js line 2910 + src/core/Group.js line 2910 @@ -1657,7 +1657,7 @@
Type:
Source:
- src/core/Group.js line 2938 + src/core/Group.js line 2938 @@ -1743,7 +1743,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1837,7 +1837,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -2073,7 +2073,7 @@
Properties
Source:
- src/particles/arcade/Emitter.js line 238 + src/particles/arcade/Emitter.js line 238 @@ -2156,7 +2156,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1221 + src/particles/arcade/Emitter.js line 1221 @@ -2242,7 +2242,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -2321,7 +2321,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 199 + src/particles/arcade/Emitter.js line 199 @@ -2400,7 +2400,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 207 + src/particles/arcade/Emitter.js line 207 @@ -2488,7 +2488,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -2575,7 +2575,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -2673,7 +2673,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -2759,7 +2759,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2850,7 +2850,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2938,7 +2938,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -3022,7 +3022,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 162 + src/particles/arcade/Emitter.js line 162 @@ -3108,7 +3108,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -3185,7 +3185,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1032 + src/particles/arcade/Emitter.js line 1032 @@ -3275,7 +3275,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -3352,7 +3352,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1082 + src/particles/arcade/Emitter.js line 1082 @@ -3448,7 +3448,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3525,7 +3525,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1056 + src/particles/arcade/Emitter.js line 1056 @@ -3613,7 +3613,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3699,7 +3699,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -3787,7 +3787,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -3869,7 +3869,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1130 + src/particles/arcade/Emitter.js line 1130 @@ -3955,7 +3955,7 @@
Type:
Source:
- src/core/Group.js line 2870 + src/core/Group.js line 2870 @@ -4039,7 +4039,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 168 + src/particles/arcade/Emitter.js line 168 @@ -4116,7 +4116,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1195 + src/particles/arcade/Emitter.js line 1195 @@ -4205,7 +4205,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4282,7 +4282,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 69 + src/particles/arcade/Emitter.js line 69 @@ -4366,7 +4366,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 134 + src/particles/arcade/Emitter.js line 134 @@ -4443,7 +4443,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 26 + src/particles/arcade/Emitter.js line 26 @@ -4527,7 +4527,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 105 + src/particles/arcade/Emitter.js line 105 @@ -4604,7 +4604,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 93 + src/particles/arcade/Emitter.js line 93 @@ -4688,7 +4688,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 122 + src/particles/arcade/Emitter.js line 122 @@ -4772,7 +4772,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 81 + src/particles/arcade/Emitter.js line 81 @@ -4849,7 +4849,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 63 + src/particles/arcade/Emitter.js line 63 @@ -4933,7 +4933,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 128 + src/particles/arcade/Emitter.js line 128 @@ -5017,7 +5017,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 99 + src/particles/arcade/Emitter.js line 99 @@ -5094,7 +5094,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 87 + src/particles/arcade/Emitter.js line 87 @@ -5171,7 +5171,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 116 + src/particles/arcade/Emitter.js line 116 @@ -5248,7 +5248,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 75 + src/particles/arcade/Emitter.js line 75 @@ -5330,7 +5330,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 39 + src/particles/arcade/Emitter.js line 39 @@ -5407,7 +5407,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 179 + src/particles/arcade/Emitter.js line 179 @@ -5497,7 +5497,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -5587,7 +5587,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -5677,7 +5677,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -5768,7 +5768,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -5854,7 +5854,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -5931,7 +5931,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1182 + src/particles/arcade/Emitter.js line 1182 @@ -6020,7 +6020,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -6097,7 +6097,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 185 + src/particles/arcade/Emitter.js line 185 @@ -6174,7 +6174,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 223 + src/particles/arcade/Emitter.js line 223 @@ -6251,7 +6251,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 145 + src/particles/arcade/Emitter.js line 145 @@ -6328,7 +6328,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 150 + src/particles/arcade/Emitter.js line 150 @@ -6405,7 +6405,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 229 + src/particles/arcade/Emitter.js line 229 @@ -6495,7 +6495,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -6582,7 +6582,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -6675,7 +6675,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -6757,7 +6757,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 51 + src/particles/arcade/Emitter.js line 51 @@ -6844,7 +6844,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -6932,7 +6932,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -7009,7 +7009,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1208 + src/particles/arcade/Emitter.js line 1208 @@ -7096,7 +7096,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -7178,7 +7178,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1143 + src/particles/arcade/Emitter.js line 1143 @@ -7266,7 +7266,7 @@
Type:
Source:
- src/core/Group.js line 3211 + src/core/Group.js line 3211 @@ -7355,7 +7355,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -7432,7 +7432,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 110 + src/particles/arcade/Emitter.js line 110 @@ -7514,7 +7514,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1156 + src/particles/arcade/Emitter.js line 1156 @@ -7600,7 +7600,7 @@
Type:
Source:
- src/core/Group.js line 2853 + src/core/Group.js line 2853 @@ -7682,7 +7682,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 45 + src/particles/arcade/Emitter.js line 45 @@ -7768,7 +7768,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -7859,7 +7859,7 @@
Type:
Source:
- src/core/Group.js line 3220 + src/core/Group.js line 3220 @@ -7936,7 +7936,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1066 + src/particles/arcade/Emitter.js line 1066 @@ -8028,7 +8028,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -8119,7 +8119,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -8210,7 +8210,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -8301,7 +8301,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -8392,7 +8392,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -8478,7 +8478,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -8560,7 +8560,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1098 + src/particles/arcade/Emitter.js line 1098 @@ -8642,7 +8642,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1114 + src/particles/arcade/Emitter.js line 1114 @@ -8729,7 +8729,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -8967,7 +8967,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -9245,7 +9245,7 @@
Parameters:
Source:
- src/core/Group.js line 1437 + src/core/Group.js line 1437 @@ -9487,7 +9487,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -9654,7 +9654,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -9845,7 +9845,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -10076,7 +10076,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -10247,7 +10247,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -10642,7 +10642,7 @@
Parameters:
Source:
- src/core/Group.js line 695 + src/core/Group.js line 695 @@ -10985,7 +10985,7 @@
Parameters:
Source:
- src/core/Group.js line 3078 + src/core/Group.js line 3078 @@ -11329,7 +11329,7 @@
Parameters:
Source:
- src/core/Group.js line 3120 + src/core/Group.js line 3120 @@ -11520,7 +11520,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -11670,7 +11670,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 1007 + src/particles/arcade/Emitter.js line 1007 @@ -11837,7 +11837,7 @@
Parameters:
Source:
- src/core/Group.js line 920 + src/core/Group.js line 920 @@ -12100,7 +12100,7 @@
Parameters:
Source:
- src/core/Group.js line 1653 + src/core/Group.js line 1653 @@ -12320,7 +12320,7 @@
Parameters:
Source:
- src/core/Group.js line 1569 + src/core/Group.js line 1569 @@ -12511,7 +12511,7 @@
Parameters:
Source:
- src/core/Group.js line 1603 + src/core/Group.js line 1603 @@ -12827,7 +12827,7 @@
Parameters:
Source:
- src/core/Group.js line 1367 + src/core/Group.js line 1367 @@ -13129,7 +13129,7 @@
Parameters:
Source:
- src/core/Group.js line 1403 + src/core/Group.js line 1403 @@ -13426,7 +13426,7 @@
Parameters:
Source:
- src/core/Group.js line 1230 + src/core/Group.js line 1230 @@ -13593,7 +13593,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -13780,7 +13780,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -13897,7 +13897,7 @@

Source:
- src/core/Group.js line 2503 + src/core/Group.js line 2503 @@ -14014,7 +14014,7 @@

Source:
- src/core/Group.js line 2491 + src/core/Group.js line 2491 @@ -14408,7 +14408,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -14815,7 +14815,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -15028,7 +15028,7 @@
Parameters:
Source:
- src/core/Group.js line 2032 + src/core/Group.js line 2032 @@ -15195,7 +15195,7 @@
Parameters:
Source:
- src/core/Group.js line 2088 + src/core/Group.js line 2088 @@ -15284,7 +15284,7 @@

Source:
- src/particles/arcade/Emitter.js line 800 + src/particles/arcade/Emitter.js line 800 @@ -15500,7 +15500,7 @@
Parameters:
Source:
- src/core/Group.js line 1488 + src/core/Group.js line 1488 @@ -15766,7 +15766,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 619 + src/particles/arcade/Emitter.js line 619 @@ -15984,7 +15984,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 478 + src/particles/arcade/Emitter.js line 478 @@ -16212,7 +16212,7 @@
Parameters:
Source:
- src/core/Group.js line 1814 + src/core/Group.js line 1814 @@ -16556,7 +16556,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 500 + src/particles/arcade/Emitter.js line 500 @@ -16860,7 +16860,7 @@
Parameters:
Source:
- src/core/Group.js line 1854 + src/core/Group.js line 1854 @@ -17098,7 +17098,7 @@
Parameters:
Source:
- src/core/Group.js line 1936 + src/core/Group.js line 1936 @@ -17336,7 +17336,7 @@
Parameters:
Source:
- src/core/Group.js line 1964 + src/core/Group.js line 1964 @@ -17574,7 +17574,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -17819,7 +17819,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -18127,7 +18127,7 @@
Parameters:
Source:
- src/core/Group.js line 2557 + src/core/Group.js line 2557 @@ -18296,7 +18296,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -18417,7 +18417,7 @@

Source:
- src/core/Group.js line 2372 + src/core/Group.js line 2372 @@ -18599,7 +18599,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -18768,7 +18768,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -18935,7 +18935,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -19102,7 +19102,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -19353,7 +19353,7 @@
Parameters:
Source:
- src/core/Group.js line 2389 + src/core/Group.js line 2389 @@ -19544,7 +19544,7 @@
Parameters:
Source:
- src/core/Group.js line 2208 + src/core/Group.js line 2208 @@ -19903,7 +19903,7 @@
Parameters:
Source:
- src/core/Group.js line 2256 + src/core/Group.js line 2256 @@ -20262,7 +20262,7 @@
Parameters:
Source:
- src/core/Group.js line 2286 + src/core/Group.js line 2286 @@ -20660,7 +20660,7 @@
Parameters:
Source:
- src/core/Group.js line 2222 + src/core/Group.js line 2222 @@ -20911,7 +20911,7 @@
Parameters:
Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -21078,7 +21078,7 @@
Parameters:
Source:
- src/core/Group.js line 1042 + src/core/Group.js line 1042 @@ -21195,7 +21195,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -21422,7 +21422,7 @@
Parameters:
Source:
- src/core/Group.js line 2515 + src/core/Group.js line 2515 @@ -21650,7 +21650,7 @@
Parameters:
Source:
- src/core/Group.js line 2537 + src/core/Group.js line 2537 @@ -21768,7 +21768,7 @@

Source:
- src/core/Group.js line 2355 + src/core/Group.js line 2355 @@ -21960,7 +21960,7 @@
Parameters:
Source:
- src/core/Group.js line 1117 + src/core/Group.js line 1117 @@ -22347,7 +22347,7 @@
Parameters:
Source:
- src/core/Group.js line 2113 + src/core/Group.js line 2113 @@ -22460,7 +22460,7 @@

Source:
- src/particles/arcade/Emitter.js line 447 + src/particles/arcade/Emitter.js line 447 @@ -22577,7 +22577,7 @@

Source:
- src/core/Group.js line 1518 + src/core/Group.js line 1518 @@ -22932,7 +22932,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 382 + src/particles/arcade/Emitter.js line 382 @@ -23155,7 +23155,7 @@
Parameters:
Source:
- src/core/Group.js line 2651 + src/core/Group.js line 2651 @@ -23322,7 +23322,7 @@
Parameters:
Source:
- src/core/Group.js line 982 + src/core/Group.js line 982 @@ -23489,7 +23489,7 @@
Parameters:
Source:
- src/core/Group.js line 958 + src/core/Group.js line 958 @@ -23729,7 +23729,7 @@
Parameters:
Source:
- src/core/Group.js line 1471 + src/core/Group.js line 1471 @@ -23818,7 +23818,7 @@

Source:
- src/particles/arcade/Emitter.js line 1232 + src/particles/arcade/Emitter.js line 1232 @@ -23935,7 +23935,7 @@

Source:
- src/core/Group.js line 1793 + src/core/Group.js line 1793 @@ -24028,7 +24028,7 @@

Source:
- src/core/Group.js line 1726 + src/core/Group.js line 1726 @@ -24117,7 +24117,7 @@

Source:
- src/particles/arcade/Emitter.js line 1241 + src/particles/arcade/Emitter.js line 1241 @@ -24382,7 +24382,7 @@
Parameters:
Source:
- src/core/Group.js line 2603 + src/core/Group.js line 2603 @@ -24652,7 +24652,7 @@
Parameters:
Source:
- src/core/Group.js line 2680 + src/core/Group.js line 2680 @@ -24929,7 +24929,7 @@
Parameters:
Source:
- src/core/Group.js line 2728 + src/core/Group.js line 2728 @@ -25072,7 +25072,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -25239,7 +25239,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -25430,7 +25430,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -25574,7 +25574,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -25767,7 +25767,7 @@
Parameters:
Source:
- src/core/Group.js line 1078 + src/core/Group.js line 1078 @@ -26121,7 +26121,7 @@
Parameters:
Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -26427,7 +26427,7 @@
Parameters:
Source:
- src/core/Group.js line 2316 + src/core/Group.js line 2316 @@ -26615,7 +26615,7 @@
Parameters:
Source:
- src/core/Group.js line 819 + src/core/Group.js line 819 @@ -26733,7 +26733,7 @@

Source:
- src/core/Group.js line 1028 + src/core/Group.js line 1028 @@ -26822,7 +26822,7 @@

Source:
- src/particles/arcade/Emitter.js line 463 + src/particles/arcade/Emitter.js line 463 @@ -26939,7 +26939,7 @@

Source:
- src/core/Group.js line 1542 + src/core/Group.js line 1542 @@ -27142,7 +27142,7 @@
Parameters:
Source:
- src/core/Group.js line 2783 + src/core/Group.js line 2783 @@ -27285,7 +27285,7 @@
Parameters:
Source:
- src/core/Group.js line 939 + src/core/Group.js line 939 @@ -27701,7 +27701,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -28083,7 +28083,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -28441,7 +28441,7 @@
Parameters:
Source:
- src/core/Group.js line 1326 + src/core/Group.js line 1326 @@ -28757,7 +28757,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 888 + src/particles/arcade/Emitter.js line 888 @@ -29031,7 +29031,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 981 + src/particles/arcade/Emitter.js line 981 @@ -29222,7 +29222,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -29541,7 +29541,7 @@
Parameters:
Source:
- src/core/Group.js line 1152 + src/core/Group.js line 1152 @@ -29759,7 +29759,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 868 + src/particles/arcade/Emitter.js line 868 @@ -30179,7 +30179,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 930 + src/particles/arcade/Emitter.js line 930 @@ -30361,7 +30361,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 813 + src/particles/arcade/Emitter.js line 813 @@ -30579,7 +30579,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 830 + src/particles/arcade/Emitter.js line 830 @@ -30797,7 +30797,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 849 + src/particles/arcade/Emitter.js line 849 @@ -30915,7 +30915,7 @@

Source:
- src/core/Group.js line 2802 + src/core/Group.js line 2802 @@ -31122,7 +31122,7 @@
Parameters:
Source:
- src/core/Group.js line 1992 + src/core/Group.js line 1992 @@ -31441,7 +31441,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 551 + src/particles/arcade/Emitter.js line 551 @@ -31681,7 +31681,7 @@
Parameters:
Source:
- src/core/Group.js line 1454 + src/core/Group.js line 1454 @@ -31849,7 +31849,7 @@
Parameters:
Source:
- src/core/Group.js line 904 + src/core/Group.js line 904 @@ -32016,7 +32016,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -32159,7 +32159,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -32372,7 +32372,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -32487,7 +32487,7 @@

Source:
- src/particles/arcade/Emitter.js line 310 + src/particles/arcade/Emitter.js line 310 @@ -32580,7 +32580,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -32769,7 +32769,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -32889,7 +32889,7 @@

Source:
- src/core/Group.js line 676 + src/core/Group.js line 676 @@ -33080,7 +33080,7 @@
Parameters:
Source:
- src/core/Group.js line 1006 + src/core/Group.js line 1006 @@ -33123,9 +33123,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -33142,7 +33142,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -33171,7 +33171,7 @@
Parameters:
- + diff --git a/docs/Phaser.Particles.Arcade.html b/docs/Phaser.Particles.Arcade.html index 161ea57be..2c3422af9 100644 --- a/docs/Phaser.Particles.Arcade.html +++ b/docs/Phaser.Particles.Arcade.html @@ -6,7 +6,7 @@ Phaser CE Class: Arcade - + @@ -180,7 +180,7 @@

Source:
- src/particles/arcade/ArcadeParticles.js line 12 + src/particles/arcade/ArcadeParticles.js line 12 @@ -244,9 +244,9 @@

Classes

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -263,7 +263,7 @@

Classes

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -292,7 +292,7 @@

Classes

- + diff --git a/docs/Phaser.Particles.html b/docs/Phaser.Particles.html index 61b794000..12f833c3b 100644 --- a/docs/Phaser.Particles.html +++ b/docs/Phaser.Particles.html @@ -6,7 +6,7 @@ Phaser CE Class: Particles - + @@ -230,7 +230,7 @@
Parameters:
Source:
- src/particles/Particles.js line 14 + src/particles/Particles.js line 14 @@ -342,7 +342,7 @@
Type:
Source:
- src/particles/Particles.js line 24 + src/particles/Particles.js line 24 @@ -419,7 +419,7 @@
Type:
Source:
- src/particles/Particles.js line 19 + src/particles/Particles.js line 19 @@ -496,7 +496,7 @@
Type:
Source:
- src/particles/Particles.js line 30 + src/particles/Particles.js line 30 @@ -624,7 +624,7 @@
Parameters:
Source:
- src/particles/Particles.js line 36 + src/particles/Particles.js line 36 @@ -782,7 +782,7 @@
Parameters:
Source:
- src/particles/Particles.js line 47 + src/particles/Particles.js line 47 @@ -876,7 +876,7 @@

Source:
- src/particles/Particles.js line 56 + src/particles/Particles.js line 56 @@ -919,9 +919,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -938,7 +938,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -967,7 +967,7 @@

- + diff --git a/docs/Phaser.Path.html b/docs/Phaser.Path.html index 9ff1ddcc0..fbca0d7fb 100644 --- a/docs/Phaser.Path.html +++ b/docs/Phaser.Path.html @@ -6,7 +6,7 @@ Phaser CE Class: Path - + @@ -327,7 +327,7 @@

Parameters:
Source:
- src/plugins/path/Path.js line 18 + src/plugins/path/Path.js line 18 @@ -432,7 +432,7 @@
Type:
Source:
- src/plugins/path/Path.js line 41 + src/plugins/path/Path.js line 41 @@ -509,7 +509,7 @@
Type:
Source:
- src/plugins/path/Path.js line 31 + src/plugins/path/Path.js line 31 @@ -586,7 +586,7 @@
Type:
Source:
- src/plugins/path/Path.js line 26 + src/plugins/path/Path.js line 26 @@ -663,7 +663,7 @@
Type:
Source:
- src/plugins/path/Path.js line 46 + src/plugins/path/Path.js line 46 @@ -740,7 +740,7 @@
Type:
Source:
- src/plugins/path/Path.js line 36 + src/plugins/path/Path.js line 36 @@ -1128,7 +1128,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 205 + src/plugins/path/Path.js line 205 @@ -1286,7 +1286,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 516 + src/plugins/path/Path.js line 516 @@ -1394,7 +1394,7 @@

Source:
- src/plugins/path/Path.js line 185 + src/plugins/path/Path.js line 185 @@ -1611,7 +1611,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 148 + src/plugins/path/Path.js line 148 @@ -1825,7 +1825,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 693 + src/plugins/path/Path.js line 693 @@ -1983,7 +1983,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 343 + src/plugins/path/Path.js line 343 @@ -2162,7 +2162,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 429 + src/plugins/path/Path.js line 429 @@ -2346,7 +2346,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 360 + src/plugins/path/Path.js line 360 @@ -2505,7 +2505,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 405 + src/plugins/path/Path.js line 405 @@ -2719,7 +2719,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 319 + src/plugins/path/Path.js line 319 @@ -2827,7 +2827,7 @@

Source:
- src/plugins/path/Path.js line 536 + src/plugins/path/Path.js line 536 @@ -2987,7 +2987,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 481 + src/plugins/path/Path.js line 481 @@ -3194,7 +3194,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 552 + src/plugins/path/Path.js line 552 @@ -3364,7 +3364,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 240 + src/plugins/path/Path.js line 240 @@ -3546,7 +3546,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 302 + src/plugins/path/Path.js line 302 @@ -3846,7 +3846,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 260 + src/plugins/path/Path.js line 260 @@ -3955,7 +3955,7 @@

Source:
- src/plugins/path/Path.js line 628 + src/plugins/path/Path.js line 628 @@ -4063,7 +4063,7 @@

Source:
- src/plugins/path/Path.js line 799 + src/plugins/path/Path.js line 799 @@ -4224,7 +4224,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 284 + src/plugins/path/Path.js line 284 @@ -4291,9 +4291,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -4310,7 +4310,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -4339,7 +4339,7 @@
Returns:
- + diff --git a/docs/Phaser.PathFollower.html b/docs/Phaser.PathFollower.html index 534b6a98c..ec4568ef0 100644 --- a/docs/Phaser.PathFollower.html +++ b/docs/Phaser.PathFollower.html @@ -6,7 +6,7 @@ Phaser CE Class: PathFollower - + @@ -447,7 +447,7 @@
Parameters:
Source:
- src/plugins/path/PathFollower.js line 25 + src/plugins/path/PathFollower.js line 25 @@ -504,9 +504,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -523,7 +523,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -552,7 +552,7 @@
Parameters:
- + diff --git a/docs/Phaser.PathPoint.html b/docs/Phaser.PathPoint.html index 5723910c8..39fd49bd7 100644 --- a/docs/Phaser.PathPoint.html +++ b/docs/Phaser.PathPoint.html @@ -6,7 +6,7 @@ Phaser CE Class: PathPoint - + @@ -508,7 +508,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 22 + src/plugins/path/PathPoint.js line 22 @@ -609,7 +609,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 118 + src/plugins/path/PathPoint.js line 118 @@ -682,7 +682,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 100 + src/plugins/path/PathPoint.js line 100 @@ -755,7 +755,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 106 + src/plugins/path/PathPoint.js line 106 @@ -828,7 +828,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 112 + src/plugins/path/PathPoint.js line 112 @@ -905,7 +905,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 84 + src/plugins/path/PathPoint.js line 84 @@ -982,7 +982,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 62 + src/plugins/path/PathPoint.js line 62 @@ -1059,7 +1059,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 67 + src/plugins/path/PathPoint.js line 67 @@ -1136,7 +1136,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 72 + src/plugins/path/PathPoint.js line 72 @@ -1213,7 +1213,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 90 + src/plugins/path/PathPoint.js line 90 @@ -1290,7 +1290,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 78 + src/plugins/path/PathPoint.js line 78 @@ -1367,7 +1367,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 57 + src/plugins/path/PathPoint.js line 57 @@ -1444,7 +1444,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 52 + src/plugins/path/PathPoint.js line 52 @@ -1521,7 +1521,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 42 + src/plugins/path/PathPoint.js line 42 @@ -1598,7 +1598,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 47 + src/plugins/path/PathPoint.js line 47 @@ -1675,7 +1675,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 32 + src/plugins/path/PathPoint.js line 32 @@ -1752,7 +1752,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 37 + src/plugins/path/PathPoint.js line 37 @@ -1892,7 +1892,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 174 + src/plugins/path/PathPoint.js line 174 @@ -2051,7 +2051,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 189 + src/plugins/path/PathPoint.js line 189 @@ -2307,7 +2307,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 214 + src/plugins/path/PathPoint.js line 214 @@ -2489,7 +2489,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 154 + src/plugins/path/PathPoint.js line 154 @@ -2757,7 +2757,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 122 + src/plugins/path/PathPoint.js line 122 @@ -2865,7 +2865,7 @@

Source:
- src/plugins/path/PathPoint.js line 236 + src/plugins/path/PathPoint.js line 236 @@ -2932,9 +2932,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2951,7 +2951,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2980,7 +2980,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Arcade.Body.html b/docs/Phaser.Physics.Arcade.Body.html index b38ea3025..ddd05d5d0 100644 --- a/docs/Phaser.Physics.Arcade.Body.html +++ b/docs/Phaser.Physics.Arcade.Body.html @@ -6,7 +6,7 @@ Phaser CE Class: Body - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 15 + src/physics/arcade/Body.js line 15 @@ -336,7 +336,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 161 + src/physics/arcade/Body.js line 161 @@ -420,7 +420,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 167 + src/physics/arcade/Body.js line 167 @@ -504,7 +504,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 178 + src/physics/arcade/Body.js line 178 @@ -588,7 +588,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 79 + src/physics/arcade/Body.js line 79 @@ -665,7 +665,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 295 + src/physics/arcade/Body.js line 295 @@ -742,7 +742,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 271 + src/physics/arcade/Body.js line 271 @@ -819,7 +819,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 277 + src/physics/arcade/Body.js line 277 @@ -896,7 +896,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 265 + src/physics/arcade/Body.js line 265 @@ -974,7 +974,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 402 + src/physics/arcade/Body.js line 402 @@ -1051,7 +1051,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1383 + src/physics/arcade/Body.js line 1383 @@ -1128,7 +1128,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 188 + src/physics/arcade/Body.js line 188 @@ -1205,7 +1205,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 140 + src/physics/arcade/Body.js line 140 @@ -1285,7 +1285,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 382 + src/physics/arcade/Body.js line 382 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 373 + src/physics/arcade/Body.js line 373 @@ -1440,7 +1440,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 335 + src/physics/arcade/Body.js line 335 @@ -1518,7 +1518,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 343 + src/physics/arcade/Body.js line 343 @@ -1595,7 +1595,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 156 + src/physics/arcade/Body.js line 156 @@ -1672,7 +1672,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 414 + src/physics/arcade/Body.js line 414 @@ -1749,7 +1749,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 172 + src/physics/arcade/Body.js line 172 @@ -1826,7 +1826,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 367 + src/physics/arcade/Body.js line 367 @@ -1910,7 +1910,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 36 + src/physics/arcade/Body.js line 36 @@ -1987,7 +1987,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 307 + src/physics/arcade/Body.js line 307 @@ -2064,7 +2064,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 259 + src/physics/arcade/Body.js line 259 @@ -2141,7 +2141,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 25 + src/physics/arcade/Body.js line 25 @@ -2218,7 +2218,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 183 + src/physics/arcade/Body.js line 183 @@ -2295,7 +2295,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 134 + src/physics/arcade/Body.js line 134 @@ -2372,7 +2372,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 128 + src/physics/arcade/Body.js line 128 @@ -2449,7 +2449,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 104 + src/physics/arcade/Body.js line 104 @@ -2526,7 +2526,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 313 + src/physics/arcade/Body.js line 313 @@ -2604,7 +2604,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 45 + src/physics/arcade/Body.js line 45 @@ -2681,7 +2681,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 434 + src/physics/arcade/Body.js line 434 @@ -2758,7 +2758,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1340 + src/physics/arcade/Body.js line 1340 @@ -2842,7 +2842,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 289 + src/physics/arcade/Body.js line 289 @@ -2926,7 +2926,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 283 + src/physics/arcade/Body.js line 283 @@ -3003,7 +3003,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 254 + src/physics/arcade/Body.js line 254 @@ -3080,7 +3080,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 479 + src/physics/arcade/Body.js line 479 @@ -3157,7 +3157,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 484 + src/physics/arcade/Body.js line 484 @@ -3245,7 +3245,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 327 + src/physics/arcade/Body.js line 327 @@ -3322,7 +3322,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 151 + src/physics/arcade/Body.js line 151 @@ -3399,7 +3399,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 61 + src/physics/arcade/Body.js line 61 @@ -3485,7 +3485,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 228 + src/physics/arcade/Body.js line 228 @@ -3562,7 +3562,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 474 + src/physics/arcade/Body.js line 474 @@ -3648,7 +3648,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 248 + src/physics/arcade/Body.js line 248 @@ -3731,7 +3731,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 208 + src/physics/arcade/Body.js line 208 @@ -3808,7 +3808,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 361 + src/physics/arcade/Body.js line 361 @@ -3885,7 +3885,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 349 + src/physics/arcade/Body.js line 349 @@ -3962,7 +3962,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 355 + src/physics/arcade/Body.js line 355 @@ -4039,7 +4039,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 67 + src/physics/arcade/Body.js line 67 @@ -4116,7 +4116,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 92 + src/physics/arcade/Body.js line 92 @@ -4193,7 +4193,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 73 + src/physics/arcade/Body.js line 73 @@ -4273,7 +4273,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 56 + src/physics/arcade/Body.js line 56 @@ -4350,7 +4350,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1354 + src/physics/arcade/Body.js line 1354 @@ -4428,7 +4428,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 86 + src/physics/arcade/Body.js line 86 @@ -4505,7 +4505,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 419 + src/physics/arcade/Body.js line 419 @@ -4582,7 +4582,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 116 + src/physics/arcade/Body.js line 116 @@ -4659,7 +4659,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 110 + src/physics/arcade/Body.js line 110 @@ -4736,7 +4736,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 301 + src/physics/arcade/Body.js line 301 @@ -4813,7 +4813,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 20 + src/physics/arcade/Body.js line 20 @@ -4890,7 +4890,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 439 + src/physics/arcade/Body.js line 439 @@ -4970,7 +4970,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 429 + src/physics/arcade/Body.js line 429 @@ -5048,7 +5048,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 409 + src/physics/arcade/Body.js line 409 @@ -5125,7 +5125,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1369 + src/physics/arcade/Body.js line 1369 @@ -5203,7 +5203,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 389 + src/physics/arcade/Body.js line 389 @@ -5280,7 +5280,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 30 + src/physics/arcade/Body.js line 30 @@ -5357,7 +5357,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 145 + src/physics/arcade/Body.js line 145 @@ -5434,7 +5434,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 395 + src/physics/arcade/Body.js line 395 @@ -5511,7 +5511,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 98 + src/physics/arcade/Body.js line 98 @@ -5590,7 +5590,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 196 + src/physics/arcade/Body.js line 196 @@ -5667,7 +5667,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1398 + src/physics/arcade/Body.js line 1398 @@ -5744,7 +5744,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1417 + src/physics/arcade/Body.js line 1417 @@ -5822,7 +5822,7 @@

Source:
- src/physics/arcade/Body.js line 827 + src/physics/arcade/Body.js line 827 @@ -5930,7 +5930,7 @@

Source:
- src/physics/arcade/Body.js line 1258 + src/physics/arcade/Body.js line 1258 @@ -6038,7 +6038,7 @@

Source:
- src/physics/arcade/Body.js line 1270 + src/physics/arcade/Body.js line 1270 @@ -6146,7 +6146,7 @@

Source:
- src/physics/arcade/Body.js line 1282 + src/physics/arcade/Body.js line 1282 @@ -6254,7 +6254,7 @@

Source:
- src/physics/arcade/Body.js line 1294 + src/physics/arcade/Body.js line 1294 @@ -6362,7 +6362,7 @@

Source:
- src/physics/arcade/Body.js line 1306 + src/physics/arcade/Body.js line 1306 @@ -6472,7 +6472,7 @@

Source:
- src/physics/arcade/Body.js line 1318 + src/physics/arcade/Body.js line 1318 @@ -6607,7 +6607,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1188 + src/physics/arcade/Body.js line 1188 @@ -6789,7 +6789,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1208 + src/physics/arcade/Body.js line 1208 @@ -7040,7 +7040,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 877 + src/physics/arcade/Body.js line 877 @@ -7288,7 +7288,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 951 + src/physics/arcade/Body.js line 951 @@ -7396,7 +7396,7 @@

Source:
- src/physics/arcade/Body.js line 1234 + src/physics/arcade/Body.js line 1234 @@ -7504,7 +7504,7 @@

Source:
- src/physics/arcade/Body.js line 1222 + src/physics/arcade/Body.js line 1222 @@ -7612,7 +7612,7 @@

Source:
- src/physics/arcade/Body.js line 1246 + src/physics/arcade/Body.js line 1246 @@ -7720,7 +7720,7 @@

Source:
- src/physics/arcade/Body.js line 741 + src/physics/arcade/Body.js line 741 @@ -7804,7 +7804,7 @@

Source:
- src/physics/arcade/Body.js line 576 + src/physics/arcade/Body.js line 576 @@ -8110,7 +8110,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1437 + src/physics/arcade/Body.js line 1437 @@ -8372,7 +8372,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1485 + src/physics/arcade/Body.js line 1485 @@ -8530,7 +8530,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1144 + src/physics/arcade/Body.js line 1144 @@ -8749,7 +8749,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1098 + src/physics/arcade/Body.js line 1098 @@ -9017,7 +9017,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1038 + src/physics/arcade/Body.js line 1038 @@ -9101,7 +9101,7 @@

Source:
- src/physics/arcade/Body.js line 1173 + src/physics/arcade/Body.js line 1173 @@ -9250,7 +9250,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 713 + src/physics/arcade/Body.js line 713 @@ -9334,7 +9334,7 @@

Source:
- src/physics/arcade/Body.js line 520 + src/physics/arcade/Body.js line 520 @@ -9418,7 +9418,7 @@

Source:
- src/physics/arcade/Body.js line 564 + src/physics/arcade/Body.js line 564 @@ -9502,7 +9502,7 @@

Source:
- src/physics/arcade/Body.js line 672 + src/physics/arcade/Body.js line 672 @@ -9545,9 +9545,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -9564,7 +9564,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -9593,7 +9593,7 @@

- + diff --git a/docs/Phaser.Physics.Arcade.TilemapCollision.html b/docs/Phaser.Physics.Arcade.TilemapCollision.html index 9b68375e7..dcb166bbb 100644 --- a/docs/Phaser.Physics.Arcade.TilemapCollision.html +++ b/docs/Phaser.Physics.Arcade.TilemapCollision.html @@ -6,7 +6,7 @@ Phaser CE Class: TilemapCollision - + @@ -180,7 +180,7 @@

Source:
- src/physics/arcade/TilemapCollision.js line 13 + src/physics/arcade/TilemapCollision.js line 13 @@ -285,7 +285,7 @@
Type:
Source:
- src/physics/arcade/TilemapCollision.js line 20 + src/physics/arcade/TilemapCollision.js line 20 @@ -318,9 +318,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -337,7 +337,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -366,7 +366,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.Arcade.html b/docs/Phaser.Physics.Arcade.html index eab61a7ef..d35ead5f2 100644 --- a/docs/Phaser.Physics.Arcade.html +++ b/docs/Phaser.Physics.Arcade.html @@ -6,7 +6,7 @@ Phaser CE Class: Arcade - + @@ -230,7 +230,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 14 + src/physics/arcade/World.js line 14 @@ -346,7 +346,7 @@
Type:
Source:
- src/physics/arcade/World.js line 130 + src/physics/arcade/World.js line 130 @@ -424,7 +424,7 @@
Type:
Source:
- src/physics/arcade/World.js line 106 + src/physics/arcade/World.js line 106 @@ -502,7 +502,7 @@
Type:
Source:
- src/physics/arcade/World.js line 114 + src/physics/arcade/World.js line 114 @@ -580,7 +580,7 @@
Type:
Source:
- src/physics/arcade/World.js line 98 + src/physics/arcade/World.js line 98 @@ -658,7 +658,7 @@
Type:
Source:
- src/physics/arcade/World.js line 122 + src/physics/arcade/World.js line 122 @@ -735,7 +735,7 @@
Type:
Source:
- src/physics/arcade/World.js line 29 + src/physics/arcade/World.js line 29 @@ -813,7 +813,7 @@
Type:
Source:
- src/physics/arcade/World.js line 36 + src/physics/arcade/World.js line 36 @@ -890,7 +890,7 @@
Type:
Source:
- src/physics/arcade/World.js line 56 + src/physics/arcade/World.js line 56 @@ -967,7 +967,7 @@
Type:
Source:
- src/physics/arcade/World.js line 19 + src/physics/arcade/World.js line 19 @@ -1044,7 +1044,7 @@
Type:
Source:
- src/physics/arcade/World.js line 24 + src/physics/arcade/World.js line 24 @@ -1121,7 +1121,7 @@
Type:
Source:
- src/physics/arcade/World.js line 72 + src/physics/arcade/World.js line 72 @@ -1198,7 +1198,7 @@
Type:
Source:
- src/physics/arcade/World.js line 46 + src/physics/arcade/World.js line 46 @@ -1275,7 +1275,7 @@
Type:
Source:
- src/physics/arcade/World.js line 41 + src/physics/arcade/World.js line 41 @@ -1352,7 +1352,7 @@
Type:
Source:
- src/physics/arcade/World.js line 51 + src/physics/arcade/World.js line 51 @@ -1429,7 +1429,7 @@
Type:
Source:
- src/physics/arcade/World.js line 77 + src/physics/arcade/World.js line 77 @@ -1506,7 +1506,7 @@
Type:
Source:
- src/physics/arcade/World.js line 67 + src/physics/arcade/World.js line 67 @@ -1583,7 +1583,7 @@
Type:
Source:
- src/physics/arcade/World.js line 62 + src/physics/arcade/World.js line 62 @@ -1886,7 +1886,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1861 + src/physics/arcade/World.js line 1861 @@ -2221,7 +2221,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1890 + src/physics/arcade/World.js line 1890 @@ -2590,7 +2590,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1920 + src/physics/arcade/World.js line 1920 @@ -2846,7 +2846,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1842 + src/physics/arcade/World.js line 1842 @@ -3101,7 +3101,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2085 + src/physics/arcade/World.js line 2085 @@ -3283,7 +3283,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2113 + src/physics/arcade/World.js line 2113 @@ -3538,7 +3538,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2159 + src/physics/arcade/World.js line 2159 @@ -3827,7 +3827,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2130 + src/physics/arcade/World.js line 2130 @@ -4009,7 +4009,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1160 + src/physics/arcade/World.js line 1160 @@ -4259,7 +4259,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2029 + src/physics/arcade/World.js line 2029 @@ -4633,7 +4633,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 362 + src/physics/arcade/World.js line 362 @@ -4992,7 +4992,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 260 + src/physics/arcade/World.js line 260 @@ -5245,7 +5245,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1950 + src/physics/arcade/World.js line 1950 @@ -5502,7 +5502,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2001 + src/physics/arcade/World.js line 2001 @@ -5793,7 +5793,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1974 + src/physics/arcade/World.js line 1974 @@ -6014,7 +6014,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 160 + src/physics/arcade/World.js line 160 @@ -6150,7 +6150,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 216 + src/physics/arcade/World.js line 216 @@ -6376,7 +6376,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2057 + src/physics/arcade/World.js line 2057 @@ -6714,7 +6714,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1657 + src/physics/arcade/World.js line 1657 @@ -6984,7 +6984,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1634 + src/physics/arcade/World.js line 1634 @@ -7191,7 +7191,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1366 + src/physics/arcade/World.js line 1366 @@ -7398,7 +7398,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1430 + src/physics/arcade/World.js line 1430 @@ -7580,7 +7580,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1096 + src/physics/arcade/World.js line 1096 @@ -7875,7 +7875,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1701 + src/physics/arcade/World.js line 1701 @@ -8171,7 +8171,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1735 + src/physics/arcade/World.js line 1735 @@ -8502,7 +8502,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1769 + src/physics/arcade/World.js line 1769 @@ -8856,7 +8856,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 321 + src/physics/arcade/World.js line 321 @@ -9086,7 +9086,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 134 + src/physics/arcade/World.js line 134 @@ -9170,7 +9170,7 @@

Source:
- src/physics/arcade/World.js line 149 + src/physics/arcade/World.js line 149 @@ -9351,7 +9351,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 509 + src/physics/arcade/World.js line 509 @@ -9510,7 +9510,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 488 + src/physics/arcade/World.js line 488 @@ -9693,7 +9693,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 425 + src/physics/arcade/World.js line 425 @@ -9876,7 +9876,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 446 + src/physics/arcade/World.js line 446 @@ -10059,7 +10059,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 467 + src/physics/arcade/World.js line 467 @@ -10217,7 +10217,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 240 + src/physics/arcade/World.js line 240 @@ -10449,7 +10449,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1804 + src/physics/arcade/World.js line 1804 @@ -10707,7 +10707,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1823 + src/physics/arcade/World.js line 1823 @@ -10912,7 +10912,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2188 + src/physics/arcade/World.js line 2188 @@ -10979,9 +10979,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -10998,7 +10998,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -11027,7 +11027,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Ninja.AABB.html b/docs/Phaser.Physics.Ninja.AABB.html index 3484b4ced..b53a2caa5 100644 --- a/docs/Phaser.Physics.Ninja.AABB.html +++ b/docs/Phaser.Physics.Ninja.AABB.html @@ -6,7 +6,7 @@ Phaser CE Class: AABB - + @@ -327,7 +327,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 20 + src/physics/ninja/AABB.js line 20 @@ -432,7 +432,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 86 + src/physics/ninja/AABB.js line 86 @@ -547,7 +547,7 @@
Properties:
Source:
- src/physics/ninja/AABB.js line 25 + src/physics/ninja/AABB.js line 25 @@ -624,7 +624,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 64 + src/physics/ninja/AABB.js line 64 @@ -701,7 +701,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 40 + src/physics/ninja/AABB.js line 40 @@ -778,7 +778,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 35 + src/physics/ninja/AABB.js line 35 @@ -855,7 +855,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 30 + src/physics/ninja/AABB.js line 30 @@ -932,7 +932,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 81 + src/physics/ninja/AABB.js line 81 @@ -1009,7 +1009,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 58 + src/physics/ninja/AABB.js line 58 @@ -1086,7 +1086,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 46 + src/physics/ninja/AABB.js line 46 @@ -1201,7 +1201,7 @@
Properties:
Source:
- src/physics/ninja/AABB.js line 52 + src/physics/ninja/AABB.js line 52 @@ -1329,7 +1329,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 336 + src/physics/ninja/AABB.js line 336 @@ -1463,7 +1463,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 408 + src/physics/ninja/AABB.js line 408 @@ -1547,7 +1547,7 @@

Source:
- src/physics/ninja/AABB.js line 295 + src/physics/ninja/AABB.js line 295 @@ -1631,7 +1631,7 @@

Source:
- src/physics/ninja/AABB.js line 993 + src/physics/ninja/AABB.js line 993 @@ -1715,7 +1715,7 @@

Source:
- src/physics/ninja/AABB.js line 108 + src/physics/ninja/AABB.js line 108 @@ -1921,7 +1921,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 702 + src/physics/ninja/AABB.js line 702 @@ -2151,7 +2151,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 622 + src/physics/ninja/AABB.js line 622 @@ -2381,7 +2381,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 569 + src/physics/ninja/AABB.js line 569 @@ -2611,7 +2611,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 834 + src/physics/ninja/AABB.js line 834 @@ -2841,7 +2841,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 755 + src/physics/ninja/AABB.js line 755 @@ -3071,7 +3071,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 935 + src/physics/ninja/AABB.js line 935 @@ -3301,7 +3301,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 885 + src/physics/ninja/AABB.js line 885 @@ -3531,7 +3531,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 491 + src/physics/ninja/AABB.js line 491 @@ -3761,7 +3761,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 510 + src/physics/ninja/AABB.js line 510 @@ -4015,7 +4015,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 1003 + src/physics/ninja/AABB.js line 1003 @@ -4221,7 +4221,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 128 + src/physics/ninja/AABB.js line 128 @@ -4451,7 +4451,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 248 + src/physics/ninja/AABB.js line 248 @@ -4657,7 +4657,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 202 + src/physics/ninja/AABB.js line 202 @@ -4863,7 +4863,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 467 + src/physics/ninja/AABB.js line 467 @@ -4967,7 +4967,7 @@

Source:
- src/physics/ninja/AABB.js line 216 + src/physics/ninja/AABB.js line 216 @@ -5010,9 +5010,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -5029,7 +5029,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -5058,7 +5058,7 @@

- + diff --git a/docs/Phaser.Physics.Ninja.Body.html b/docs/Phaser.Physics.Ninja.Body.html index d6d5b6cf7..707dc4d51 100644 --- a/docs/Phaser.Physics.Ninja.Body.html +++ b/docs/Phaser.Physics.Ninja.Body.html @@ -6,7 +6,7 @@ Phaser CE Class: Body - + @@ -563,7 +563,7 @@

Parameters:
Source:
- src/physics/ninja/Body.js line 23 + src/physics/ninja/Body.js line 23 @@ -668,7 +668,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 54 + src/physics/ninja/Body.js line 54 @@ -745,7 +745,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 535 + src/physics/ninja/Body.js line 535 @@ -822,7 +822,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 496 + src/physics/ninja/Body.js line 496 @@ -906,7 +906,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 95 + src/physics/ninja/Body.js line 95 @@ -984,7 +984,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 125 + src/physics/ninja/Body.js line 125 @@ -1061,7 +1061,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 64 + src/physics/ninja/Body.js line 64 @@ -1138,7 +1138,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 118 + src/physics/ninja/Body.js line 118 @@ -1222,7 +1222,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 77 + src/physics/ninja/Body.js line 77 @@ -1299,7 +1299,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 106 + src/physics/ninja/Body.js line 106 @@ -1383,7 +1383,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 83 + src/physics/ninja/Body.js line 83 @@ -1460,7 +1460,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 39 + src/physics/ninja/Body.js line 39 @@ -1544,7 +1544,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 89 + src/physics/ninja/Body.js line 89 @@ -1621,7 +1621,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 483 + src/physics/ninja/Body.js line 483 @@ -1698,7 +1698,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 112 + src/physics/ninja/Body.js line 112 @@ -1782,7 +1782,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 144 + src/physics/ninja/Body.js line 144 @@ -1859,7 +1859,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 509 + src/physics/ninja/Body.js line 509 @@ -1936,7 +1936,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 69 + src/physics/ninja/Body.js line 69 @@ -2013,7 +2013,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 522 + src/physics/ninja/Body.js line 522 @@ -2090,7 +2090,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 34 + src/physics/ninja/Body.js line 34 @@ -2167,7 +2167,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 49 + src/physics/ninja/Body.js line 49 @@ -2244,7 +2244,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 59 + src/physics/ninja/Body.js line 59 @@ -2322,7 +2322,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 132 + src/physics/ninja/Body.js line 132 @@ -2399,7 +2399,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 44 + src/physics/ninja/Body.js line 44 @@ -2476,7 +2476,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 100 + src/physics/ninja/Body.js line 100 @@ -2553,7 +2553,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 138 + src/physics/ninja/Body.js line 138 @@ -2630,7 +2630,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 470 + src/physics/ninja/Body.js line 470 @@ -2707,7 +2707,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 438 + src/physics/ninja/Body.js line 438 @@ -2784,7 +2784,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 454 + src/physics/ninja/Body.js line 454 @@ -2862,7 +2862,7 @@

Source:
- src/physics/ninja/Body.js line 381 + src/physics/ninja/Body.js line 381 @@ -2970,7 +2970,7 @@

Source:
- src/physics/ninja/Body.js line 391 + src/physics/ninja/Body.js line 391 @@ -3078,7 +3078,7 @@

Source:
- src/physics/ninja/Body.js line 401 + src/physics/ninja/Body.js line 401 @@ -3186,7 +3186,7 @@

Source:
- src/physics/ninja/Body.js line 411 + src/physics/ninja/Body.js line 411 @@ -3294,7 +3294,7 @@

Source:
- src/physics/ninja/Body.js line 421 + src/physics/ninja/Body.js line 421 @@ -3378,7 +3378,7 @@

Source:
- src/physics/ninja/Body.js line 214 + src/physics/ninja/Body.js line 214 @@ -3462,7 +3462,7 @@

Source:
- src/physics/ninja/Body.js line 184 + src/physics/ninja/Body.js line 184 @@ -3728,7 +3728,7 @@
Parameters:
Source:
- src/physics/ninja/Body.js line 548 + src/physics/ninja/Body.js line 548 @@ -3812,7 +3812,7 @@

Source:
- src/physics/ninja/Body.js line 365 + src/physics/ninja/Body.js line 365 @@ -3896,7 +3896,7 @@

Source:
- src/physics/ninja/Body.js line 257 + src/physics/ninja/Body.js line 257 @@ -3939,9 +3939,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -3958,7 +3958,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -3987,7 +3987,7 @@

- + diff --git a/docs/Phaser.Physics.Ninja.Circle.html b/docs/Phaser.Physics.Ninja.Circle.html index 74ecf2edc..b07eafb21 100644 --- a/docs/Phaser.Physics.Ninja.Circle.html +++ b/docs/Phaser.Physics.Ninja.Circle.html @@ -6,7 +6,7 @@ Phaser CE Class: Circle - + @@ -303,7 +303,7 @@

Parameters:
Source:
- src/physics/ninja/Circle.js line 19 + src/physics/ninja/Circle.js line 19 @@ -446,7 +446,7 @@
Properties:
Source:
- src/physics/ninja/Circle.js line 24 + src/physics/ninja/Circle.js line 24 @@ -523,7 +523,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 90 + src/physics/ninja/Circle.js line 90 @@ -600,7 +600,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 68 + src/physics/ninja/Circle.js line 68 @@ -677,7 +677,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 39 + src/physics/ninja/Circle.js line 39 @@ -754,7 +754,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 34 + src/physics/ninja/Circle.js line 34 @@ -831,7 +831,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 44 + src/physics/ninja/Circle.js line 44 @@ -908,7 +908,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 29 + src/physics/ninja/Circle.js line 29 @@ -985,7 +985,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 85 + src/physics/ninja/Circle.js line 85 @@ -1062,7 +1062,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 62 + src/physics/ninja/Circle.js line 62 @@ -1139,7 +1139,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 50 + src/physics/ninja/Circle.js line 50 @@ -1254,7 +1254,7 @@
Properties:
Source:
- src/physics/ninja/Circle.js line 56 + src/physics/ninja/Circle.js line 56 @@ -1382,7 +1382,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 248 + src/physics/ninja/Circle.js line 248 @@ -1490,7 +1490,7 @@

Source:
- src/physics/ninja/Circle.js line 207 + src/physics/ninja/Circle.js line 207 @@ -1574,7 +1574,7 @@

Source:
- src/physics/ninja/Circle.js line 2612 + src/physics/ninja/Circle.js line 2612 @@ -1658,7 +1658,7 @@

Source:
- src/physics/ninja/Circle.js line 112 + src/physics/ninja/Circle.js line 112 @@ -1912,7 +1912,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 1719 + src/physics/ninja/Circle.js line 1719 @@ -2190,7 +2190,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 1427 + src/physics/ninja/Circle.js line 1427 @@ -2468,7 +2468,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 447 + src/physics/ninja/Circle.js line 447 @@ -2746,7 +2746,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2307 + src/physics/ninja/Circle.js line 2307 @@ -3024,7 +3024,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2022 + src/physics/ninja/Circle.js line 2022 @@ -3302,7 +3302,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 717 + src/physics/ninja/Circle.js line 717 @@ -3580,7 +3580,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 951 + src/physics/ninja/Circle.js line 951 @@ -3858,7 +3858,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 335 + src/physics/ninja/Circle.js line 335 @@ -4136,7 +4136,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 1193 + src/physics/ninja/Circle.js line 1193 @@ -4390,7 +4390,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2622 + src/physics/ninja/Circle.js line 2622 @@ -4620,7 +4620,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 132 + src/physics/ninja/Circle.js line 132 @@ -4874,7 +4874,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 310 + src/physics/ninja/Circle.js line 310 @@ -4941,9 +4941,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -4960,7 +4960,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -4989,7 +4989,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Ninja.Tile.html b/docs/Phaser.Physics.Ninja.Tile.html index 544c0564e..a7adaeb10 100644 --- a/docs/Phaser.Physics.Ninja.Tile.html +++ b/docs/Phaser.Physics.Ninja.Tile.html @@ -6,7 +6,7 @@ Phaser CE Class: Tile - + @@ -434,7 +434,7 @@
Parameters:
Source:
- src/physics/ninja/Tile.js line 25 + src/physics/ninja/Tile.js line 25 @@ -577,7 +577,7 @@
Properties:
Source:
- src/physics/ninja/Tile.js line 32 + src/physics/ninja/Tile.js line 32 @@ -654,7 +654,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 701 + src/physics/ninja/Tile.js line 701 @@ -731,7 +731,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 89 + src/physics/ninja/Tile.js line 89 @@ -808,7 +808,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 43 + src/physics/ninja/Tile.js line 43 @@ -885,7 +885,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 59 + src/physics/ninja/Tile.js line 59 @@ -962,7 +962,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 54 + src/physics/ninja/Tile.js line 54 @@ -1039,7 +1039,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 714 + src/physics/ninja/Tile.js line 714 @@ -1116,7 +1116,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 37 + src/physics/ninja/Tile.js line 37 @@ -1193,7 +1193,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 49 + src/physics/ninja/Tile.js line 49 @@ -1270,7 +1270,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 94 + src/physics/ninja/Tile.js line 94 @@ -1347,7 +1347,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 83 + src/physics/ninja/Tile.js line 83 @@ -1424,7 +1424,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 669 + src/physics/ninja/Tile.js line 669 @@ -1501,7 +1501,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 71 + src/physics/ninja/Tile.js line 71 @@ -1578,7 +1578,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 685 + src/physics/ninja/Tile.js line 685 @@ -1693,7 +1693,7 @@
Properties:
Source:
- src/physics/ninja/Tile.js line 77 + src/physics/ninja/Tile.js line 77 @@ -1771,7 +1771,7 @@

Source:
- src/physics/ninja/Tile.js line 290 + src/physics/ninja/Tile.js line 290 @@ -1855,7 +1855,7 @@

Source:
- src/physics/ninja/Tile.js line 153 + src/physics/ninja/Tile.js line 153 @@ -1939,7 +1939,7 @@

Source:
- src/physics/ninja/Tile.js line 302 + src/physics/ninja/Tile.js line 302 @@ -2023,7 +2023,7 @@

Source:
- src/physics/ninja/Tile.js line 135 + src/physics/ninja/Tile.js line 135 @@ -2253,7 +2253,7 @@
Parameters:
Source:
- src/physics/ninja/Tile.js line 194 + src/physics/ninja/Tile.js line 194 @@ -2387,7 +2387,7 @@
Parameters:
Source:
- src/physics/ninja/Tile.js line 268 + src/physics/ninja/Tile.js line 268 @@ -2430,9 +2430,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2449,7 +2449,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2478,7 +2478,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.Ninja.html b/docs/Phaser.Physics.Ninja.html index 09e25cd0c..641521dad 100644 --- a/docs/Phaser.Physics.Ninja.html +++ b/docs/Phaser.Physics.Ninja.html @@ -6,7 +6,7 @@ Phaser CE Class: Ninja - + @@ -243,7 +243,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 29 + src/physics/ninja/World.js line 29 @@ -364,7 +364,7 @@
Type:
Source:
- src/physics/ninja/World.js line 49 + src/physics/ninja/World.js line 49 @@ -441,7 +441,7 @@
Type:
Source:
- src/physics/ninja/World.js line 34 + src/physics/ninja/World.js line 34 @@ -518,7 +518,7 @@
Type:
Source:
- src/physics/ninja/World.js line 44 + src/physics/ninja/World.js line 44 @@ -595,7 +595,7 @@
Type:
Source:
- src/physics/ninja/World.js line 59 + src/physics/ninja/World.js line 59 @@ -672,7 +672,7 @@
Type:
Source:
- src/physics/ninja/World.js line 54 + src/physics/ninja/World.js line 54 @@ -749,7 +749,7 @@
Type:
Source:
- src/physics/ninja/World.js line 64 + src/physics/ninja/World.js line 64 @@ -826,7 +826,7 @@
Type:
Source:
- src/physics/ninja/World.js line 39 + src/physics/ninja/World.js line 39 @@ -1004,7 +1004,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 224 + src/physics/ninja/World.js line 224 @@ -1334,7 +1334,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 330 + src/physics/ninja/World.js line 330 @@ -1555,7 +1555,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 246 + src/physics/ninja/World.js line 246 @@ -1896,7 +1896,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 121 + src/physics/ninja/World.js line 121 @@ -2093,7 +2093,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 75 + src/physics/ninja/World.js line 75 @@ -2228,7 +2228,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 181 + src/physics/ninja/World.js line 181 @@ -2461,7 +2461,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 89 + src/physics/ninja/World.js line 89 @@ -2700,7 +2700,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 104 + src/physics/ninja/World.js line 104 @@ -3022,7 +3022,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 291 + src/physics/ninja/World.js line 291 @@ -3204,7 +3204,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 567 + src/physics/ninja/World.js line 567 @@ -3434,7 +3434,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 198 + src/physics/ninja/World.js line 198 @@ -3518,7 +3518,7 @@

Source:
- src/physics/ninja/World.js line 213 + src/physics/ninja/World.js line 213 @@ -3561,9 +3561,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -3580,7 +3580,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -3609,7 +3609,7 @@

- + diff --git a/docs/Phaser.Physics.P2.Body.html b/docs/Phaser.Physics.P2.Body.html index 2e987cc1d..555ef0d88 100644 --- a/docs/Phaser.Physics.P2.Body.html +++ b/docs/Phaser.Physics.P2.Body.html @@ -6,7 +6,7 @@ Phaser CE Class: Body - + @@ -409,7 +409,7 @@

Parameters:
Source:
- src/physics/p2/Body.js line 23 + src/physics/p2/Body.js line 23 @@ -514,7 +514,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1508 + src/physics/p2/Body.js line 1508 @@ -591,7 +591,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1524 + src/physics/p2/Body.js line 1524 @@ -668,7 +668,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1516 + src/physics/p2/Body.js line 1516 @@ -745,7 +745,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1613 + src/physics/p2/Body.js line 1613 @@ -824,7 +824,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1636 + src/physics/p2/Body.js line 1636 @@ -901,7 +901,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1660 + src/physics/p2/Body.js line 1660 @@ -978,7 +978,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1681 + src/physics/p2/Body.js line 1681 @@ -1055,7 +1055,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1701 + src/physics/p2/Body.js line 1701 @@ -1132,7 +1132,7 @@
Type:
Source:
- src/physics/p2/Body.js line 112 + src/physics/p2/Body.js line 112 @@ -1219,7 +1219,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1959 + src/physics/p2/Body.js line 1959 @@ -1296,7 +1296,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1721 + src/physics/p2/Body.js line 1721 @@ -1373,7 +1373,7 @@
Type:
Source:
- src/physics/p2/Body.js line 59 + src/physics/p2/Body.js line 59 @@ -1450,7 +1450,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1930 + src/physics/p2/Body.js line 1930 @@ -1527,7 +1527,7 @@
Type:
Source:
- src/physics/p2/Body.js line 122 + src/physics/p2/Body.js line 122 @@ -1604,7 +1604,7 @@
Type:
Source:
- src/physics/p2/Body.js line 127 + src/physics/p2/Body.js line 127 @@ -1681,7 +1681,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1555 + src/physics/p2/Body.js line 1555 @@ -1758,7 +1758,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1742 + src/physics/p2/Body.js line 1742 @@ -1835,7 +1835,7 @@
Type:
Source:
- src/physics/p2/Body.js line 71 + src/physics/p2/Body.js line 71 @@ -1912,7 +1912,7 @@
Type:
Source:
- src/physics/p2/Body.js line 33 + src/physics/p2/Body.js line 33 @@ -1989,7 +1989,7 @@
Type:
Source:
- src/physics/p2/Body.js line 76 + src/physics/p2/Body.js line 76 @@ -2066,7 +2066,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1915 + src/physics/p2/Body.js line 1915 @@ -2143,7 +2143,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1765 + src/physics/p2/Body.js line 1765 @@ -2220,7 +2220,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1584 + src/physics/p2/Body.js line 1584 @@ -2297,7 +2297,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1785 + src/physics/p2/Body.js line 1785 @@ -2374,7 +2374,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1809 + src/physics/p2/Body.js line 1809 @@ -2451,7 +2451,7 @@
Type:
Source:
- src/physics/p2/Body.js line 53 + src/physics/p2/Body.js line 53 @@ -2535,7 +2535,7 @@
Type:
Source:
- src/physics/p2/Body.js line 92 + src/physics/p2/Body.js line 92 @@ -2618,7 +2618,7 @@
Type:
Source:
- src/physics/p2/Body.js line 107 + src/physics/p2/Body.js line 107 @@ -2695,7 +2695,7 @@
Type:
Source:
- src/physics/p2/Body.js line 117 + src/physics/p2/Body.js line 117 @@ -2773,7 +2773,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1832 + src/physics/p2/Body.js line 1832 @@ -2850,7 +2850,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1855 + src/physics/p2/Body.js line 1855 @@ -2927,7 +2927,7 @@
Type:
Source:
- src/physics/p2/Body.js line 43 + src/physics/p2/Body.js line 43 @@ -3004,7 +3004,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1526 + src/physics/p2/Body.js line 1526 @@ -3081,7 +3081,7 @@
Type:
Source:
- src/physics/p2/Body.js line 48 + src/physics/p2/Body.js line 48 @@ -3158,7 +3158,7 @@
Type:
Source:
- src/physics/p2/Body.js line 66 + src/physics/p2/Body.js line 66 @@ -3235,7 +3235,7 @@
Type:
Source:
- src/physics/p2/Body.js line 38 + src/physics/p2/Body.js line 38 @@ -3312,7 +3312,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1875 + src/physics/p2/Body.js line 1875 @@ -3389,7 +3389,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1895 + src/physics/p2/Body.js line 1895 @@ -3690,7 +3690,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1109 + src/physics/p2/Body.js line 1109 @@ -3984,7 +3984,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1018 + src/physics/p2/Body.js line 1018 @@ -4142,7 +4142,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1351 + src/physics/p2/Body.js line 1351 @@ -4438,7 +4438,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1089 + src/physics/p2/Body.js line 1089 @@ -4696,7 +4696,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1072 + src/physics/p2/Body.js line 1072 @@ -4881,7 +4881,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1311 + src/physics/p2/Body.js line 1311 @@ -5139,7 +5139,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1055 + src/physics/p2/Body.js line 1055 @@ -5480,7 +5480,7 @@
Properties
Source:
- src/physics/p2/Body.js line 1129 + src/physics/p2/Body.js line 1129 @@ -5810,7 +5810,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1036 + src/physics/p2/Body.js line 1036 @@ -6106,7 +6106,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 992 + src/physics/p2/Body.js line 992 @@ -6214,7 +6214,7 @@

Source:
- src/physics/p2/Body.js line 904 + src/physics/p2/Body.js line 904 @@ -6298,7 +6298,7 @@

Source:
- src/physics/p2/Body.js line 490 + src/physics/p2/Body.js line 490 @@ -6432,7 +6432,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 516 + src/physics/p2/Body.js line 516 @@ -6619,7 +6619,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 561 + src/physics/p2/Body.js line 561 @@ -6806,7 +6806,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 528 + src/physics/p2/Body.js line 528 @@ -6993,7 +6993,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 544 + src/physics/p2/Body.js line 544 @@ -7225,7 +7225,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 323 + src/physics/p2/Body.js line 323 @@ -7309,7 +7309,7 @@

Source:
- src/physics/p2/Body.js line 974 + src/physics/p2/Body.js line 974 @@ -7558,7 +7558,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 435 + src/physics/p2/Body.js line 435 @@ -7752,7 +7752,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 180 + src/physics/p2/Body.js line 180 @@ -7938,7 +7938,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 220 + src/physics/p2/Body.js line 220 @@ -8022,7 +8022,7 @@

Source:
- src/physics/p2/Body.js line 943 + src/physics/p2/Body.js line 943 @@ -8106,7 +8106,7 @@

Source:
- src/physics/p2/Body.js line 247 + src/physics/p2/Body.js line 247 @@ -8288,7 +8288,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 502 + src/physics/p2/Body.js line 502 @@ -8546,7 +8546,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1423 + src/physics/p2/Body.js line 1423 @@ -8705,7 +8705,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 691 + src/physics/p2/Body.js line 691 @@ -8840,7 +8840,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 815 + src/physics/p2/Body.js line 815 @@ -8975,7 +8975,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 674 + src/physics/p2/Body.js line 674 @@ -9110,7 +9110,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 776 + src/physics/p2/Body.js line 776 @@ -9245,7 +9245,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 789 + src/physics/p2/Body.js line 789 @@ -9380,7 +9380,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 802 + src/physics/p2/Body.js line 802 @@ -9464,7 +9464,7 @@

Source:
- src/physics/p2/Body.js line 846 + src/physics/p2/Body.js line 846 @@ -9548,7 +9548,7 @@

Source:
- src/physics/p2/Body.js line 828 + src/physics/p2/Body.js line 828 @@ -9779,7 +9779,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 371 + src/physics/p2/Body.js line 371 @@ -9863,7 +9863,7 @@

Source:
- src/physics/p2/Body.js line 929 + src/physics/p2/Body.js line 929 @@ -10009,7 +10009,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1195 + src/physics/p2/Body.js line 1195 @@ -10299,7 +10299,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 871 + src/physics/p2/Body.js line 871 @@ -10434,7 +10434,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 759 + src/physics/p2/Body.js line 759 @@ -10568,7 +10568,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 650 + src/physics/p2/Body.js line 650 @@ -10702,7 +10702,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 662 + src/physics/p2/Body.js line 662 @@ -10973,7 +10973,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1211 + src/physics/p2/Body.js line 1211 @@ -11152,7 +11152,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 295 + src/physics/p2/Body.js line 295 @@ -11331,7 +11331,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1273 + src/physics/p2/Body.js line 1273 @@ -11647,7 +11647,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1229 + src/physics/p2/Body.js line 1229 @@ -11823,7 +11823,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1253 + src/physics/p2/Body.js line 1253 @@ -11931,7 +11931,7 @@

Source:
- src/physics/p2/Body.js line 612 + src/physics/p2/Body.js line 612 @@ -12015,7 +12015,7 @@

Source:
- src/physics/p2/Body.js line 578 + src/physics/p2/Body.js line 578 @@ -12099,7 +12099,7 @@

Source:
- src/physics/p2/Body.js line 589 + src/physics/p2/Body.js line 589 @@ -12183,7 +12183,7 @@

Source:
- src/physics/p2/Body.js line 600 + src/physics/p2/Body.js line 600 @@ -12267,7 +12267,7 @@

Source:
- src/physics/p2/Body.js line 1297 + src/physics/p2/Body.js line 1297 @@ -12402,7 +12402,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 708 + src/physics/p2/Body.js line 708 @@ -12537,7 +12537,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 725 + src/physics/p2/Body.js line 725 @@ -12672,7 +12672,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 742 + src/physics/p2/Body.js line 742 @@ -12836,7 +12836,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 624 + src/physics/p2/Body.js line 624 @@ -12994,7 +12994,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 637 + src/physics/p2/Body.js line 637 @@ -13140,7 +13140,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 271 + src/physics/p2/Body.js line 271 @@ -13183,9 +13183,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -13202,7 +13202,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -13231,7 +13231,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.BodyDebug.html b/docs/Phaser.Physics.P2.BodyDebug.html index 62d393cec..6df607a10 100644 --- a/docs/Phaser.Physics.P2.BodyDebug.html +++ b/docs/Phaser.Physics.P2.BodyDebug.html @@ -6,7 +6,7 @@ Phaser CE Class: BodyDebug - + @@ -283,7 +283,7 @@
Parameters:
Source:
- src/physics/p2/BodyDebug.js line 24 + src/physics/p2/BodyDebug.js line 24 @@ -415,7 +415,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -501,7 +501,7 @@
Type:
Source:
- src/core/Group.js line 3227 + src/core/Group.js line 3227 @@ -590,7 +590,7 @@
Type:
Source:
- src/core/Group.js line 2887 + src/core/Group.js line 2887 @@ -667,7 +667,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 50 + src/physics/p2/BodyDebug.js line 50 @@ -755,7 +755,7 @@
Type:
Source:
- src/core/Group.js line 3050 + src/core/Group.js line 3050 @@ -848,7 +848,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -935,7 +935,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1012,7 +1012,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 55 + src/physics/p2/BodyDebug.js line 55 @@ -1100,7 +1100,7 @@
Type:
Source:
- src/core/Group.js line 2910 + src/core/Group.js line 2910 @@ -1188,7 +1188,7 @@
Type:
Source:
- src/core/Group.js line 2938 + src/core/Group.js line 2938 @@ -1274,7 +1274,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1368,7 +1368,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/core/Group.js line 137 + src/core/Group.js line 137 @@ -1541,7 +1541,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -1716,7 +1716,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -1809,7 +1809,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -1895,7 +1895,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -1986,7 +1986,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2074,7 +2074,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -2160,7 +2160,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -2250,7 +2250,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -2346,7 +2346,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2434,7 +2434,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2520,7 +2520,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -2608,7 +2608,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -2696,7 +2696,7 @@
Type:
Source:
- src/core/Group.js line 2966 + src/core/Group.js line 2966 @@ -2782,7 +2782,7 @@
Type:
Source:
- src/core/Group.js line 2870 + src/core/Group.js line 2870 @@ -2871,7 +2871,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -2957,7 +2957,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3047,7 +3047,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -3137,7 +3137,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -3227,7 +3227,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -3318,7 +3318,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -3404,7 +3404,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -3493,7 +3493,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -3583,7 +3583,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -3670,7 +3670,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -3763,7 +3763,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -3849,7 +3849,7 @@
Type:
Source:
- src/core/Group.js line 86 + src/core/Group.js line 86 @@ -3936,7 +3936,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4024,7 +4024,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4101,7 +4101,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 44 + src/physics/p2/BodyDebug.js line 44 @@ -4188,7 +4188,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4276,7 +4276,7 @@
Type:
Source:
- src/core/Group.js line 2994 + src/core/Group.js line 2994 @@ -4364,7 +4364,7 @@
Type:
Source:
- src/core/Group.js line 3211 + src/core/Group.js line 3211 @@ -4453,7 +4453,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4541,7 +4541,7 @@
Type:
Source:
- src/core/Group.js line 3022 + src/core/Group.js line 3022 @@ -4627,7 +4627,7 @@
Type:
Source:
- src/core/Group.js line 2853 + src/core/Group.js line 2853 @@ -4713,7 +4713,7 @@
Type:
Source:
- src/core/Group.js line 80 + src/core/Group.js line 80 @@ -4799,7 +4799,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -4885,7 +4885,7 @@
Type:
Source:
- src/core/Group.js line 3220 + src/core/Group.js line 3220 @@ -4977,7 +4977,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -5068,7 +5068,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -5159,7 +5159,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -5250,7 +5250,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -5341,7 +5341,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -5427,7 +5427,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -5515,7 +5515,7 @@
Type:
Source:
- src/core/Group.js line 3193 + src/core/Group.js line 3193 @@ -5603,7 +5603,7 @@
Type:
Source:
- src/core/Group.js line 3202 + src/core/Group.js line 3202 @@ -5690,7 +5690,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -5928,7 +5928,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -6206,7 +6206,7 @@
Parameters:
Source:
- src/core/Group.js line 1437 + src/core/Group.js line 1437 @@ -6448,7 +6448,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -6615,7 +6615,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -6806,7 +6806,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7037,7 +7037,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -7208,7 +7208,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -7603,7 +7603,7 @@
Parameters:
Source:
- src/core/Group.js line 695 + src/core/Group.js line 695 @@ -7946,7 +7946,7 @@
Parameters:
Source:
- src/core/Group.js line 3078 + src/core/Group.js line 3078 @@ -8290,7 +8290,7 @@
Parameters:
Source:
- src/core/Group.js line 3120 + src/core/Group.js line 3120 @@ -8481,7 +8481,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -8624,7 +8624,7 @@
Parameters:
Source:
- src/core/Group.js line 920 + src/core/Group.js line 920 @@ -8887,7 +8887,7 @@
Parameters:
Source:
- src/core/Group.js line 1653 + src/core/Group.js line 1653 @@ -9107,7 +9107,7 @@
Parameters:
Source:
- src/core/Group.js line 1569 + src/core/Group.js line 1569 @@ -9298,7 +9298,7 @@
Parameters:
Source:
- src/core/Group.js line 1603 + src/core/Group.js line 1603 @@ -9614,7 +9614,7 @@
Parameters:
Source:
- src/core/Group.js line 1367 + src/core/Group.js line 1367 @@ -9916,7 +9916,7 @@
Parameters:
Source:
- src/core/Group.js line 1403 + src/core/Group.js line 1403 @@ -10213,7 +10213,7 @@
Parameters:
Source:
- src/core/Group.js line 1230 + src/core/Group.js line 1230 @@ -10380,7 +10380,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -10567,7 +10567,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -10684,7 +10684,7 @@

Source:
- src/core/Group.js line 2503 + src/core/Group.js line 2503 @@ -10801,7 +10801,7 @@

Source:
- src/core/Group.js line 2491 + src/core/Group.js line 2491 @@ -11195,7 +11195,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -11602,7 +11602,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -11815,7 +11815,7 @@
Parameters:
Source:
- src/core/Group.js line 2032 + src/core/Group.js line 2032 @@ -11982,7 +11982,7 @@
Parameters:
Source:
- src/core/Group.js line 2088 + src/core/Group.js line 2088 @@ -12186,7 +12186,7 @@
Parameters:
Source:
- src/core/Group.js line 2816 + src/core/Group.js line 2816 @@ -12402,7 +12402,7 @@
Parameters:
Source:
- src/core/Group.js line 1488 + src/core/Group.js line 1488 @@ -12486,7 +12486,7 @@

Source:
- src/physics/p2/BodyDebug.js line 85 + src/physics/p2/BodyDebug.js line 85 @@ -12690,7 +12690,7 @@
Parameters:
Source:
- src/core/Group.js line 1814 + src/core/Group.js line 1814 @@ -12994,7 +12994,7 @@
Parameters:
Source:
- src/core/Group.js line 1854 + src/core/Group.js line 1854 @@ -13232,7 +13232,7 @@
Parameters:
Source:
- src/core/Group.js line 1936 + src/core/Group.js line 1936 @@ -13470,7 +13470,7 @@
Parameters:
Source:
- src/core/Group.js line 1964 + src/core/Group.js line 1964 @@ -13708,7 +13708,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -13953,7 +13953,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -14261,7 +14261,7 @@
Parameters:
Source:
- src/core/Group.js line 2557 + src/core/Group.js line 2557 @@ -14430,7 +14430,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -14551,7 +14551,7 @@

Source:
- src/core/Group.js line 2372 + src/core/Group.js line 2372 @@ -14733,7 +14733,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -14902,7 +14902,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -15069,7 +15069,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -15236,7 +15236,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -15487,7 +15487,7 @@
Parameters:
Source:
- src/core/Group.js line 2389 + src/core/Group.js line 2389 @@ -15678,7 +15678,7 @@
Parameters:
Source:
- src/core/Group.js line 2208 + src/core/Group.js line 2208 @@ -16037,7 +16037,7 @@
Parameters:
Source:
- src/core/Group.js line 2256 + src/core/Group.js line 2256 @@ -16396,7 +16396,7 @@
Parameters:
Source:
- src/core/Group.js line 2286 + src/core/Group.js line 2286 @@ -16794,7 +16794,7 @@
Parameters:
Source:
- src/core/Group.js line 2222 + src/core/Group.js line 2222 @@ -17045,7 +17045,7 @@
Parameters:
Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -17212,7 +17212,7 @@
Parameters:
Source:
- src/core/Group.js line 1042 + src/core/Group.js line 1042 @@ -17329,7 +17329,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -17556,7 +17556,7 @@
Parameters:
Source:
- src/core/Group.js line 2515 + src/core/Group.js line 2515 @@ -17784,7 +17784,7 @@
Parameters:
Source:
- src/core/Group.js line 2537 + src/core/Group.js line 2537 @@ -17902,7 +17902,7 @@

Source:
- src/core/Group.js line 2355 + src/core/Group.js line 2355 @@ -18094,7 +18094,7 @@
Parameters:
Source:
- src/core/Group.js line 1117 + src/core/Group.js line 1117 @@ -18481,7 +18481,7 @@
Parameters:
Source:
- src/core/Group.js line 2113 + src/core/Group.js line 2113 @@ -18598,7 +18598,7 @@

Source:
- src/core/Group.js line 1505 + src/core/Group.js line 1505 @@ -18691,7 +18691,7 @@

Source:
- src/core/Group.js line 1518 + src/core/Group.js line 1518 @@ -18890,7 +18890,7 @@
Parameters:
Source:
- src/core/Group.js line 2651 + src/core/Group.js line 2651 @@ -19057,7 +19057,7 @@
Parameters:
Source:
- src/core/Group.js line 982 + src/core/Group.js line 982 @@ -19224,7 +19224,7 @@
Parameters:
Source:
- src/core/Group.js line 958 + src/core/Group.js line 958 @@ -19464,7 +19464,7 @@
Parameters:
Source:
- src/core/Group.js line 1471 + src/core/Group.js line 1471 @@ -19558,7 +19558,7 @@

Source:
- src/core/Group.js line 846 + src/core/Group.js line 846 @@ -19675,7 +19675,7 @@

Source:
- src/core/Group.js line 1793 + src/core/Group.js line 1793 @@ -19768,7 +19768,7 @@

Source:
- src/core/Group.js line 1726 + src/core/Group.js line 1726 @@ -19862,7 +19862,7 @@

Source:
- src/core/Group.js line 875 + src/core/Group.js line 875 @@ -20127,7 +20127,7 @@
Parameters:
Source:
- src/core/Group.js line 2603 + src/core/Group.js line 2603 @@ -20397,7 +20397,7 @@
Parameters:
Source:
- src/core/Group.js line 2680 + src/core/Group.js line 2680 @@ -20674,7 +20674,7 @@
Parameters:
Source:
- src/core/Group.js line 2728 + src/core/Group.js line 2728 @@ -20817,7 +20817,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -20984,7 +20984,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -21175,7 +21175,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -21319,7 +21319,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -21512,7 +21512,7 @@
Parameters:
Source:
- src/core/Group.js line 1078 + src/core/Group.js line 1078 @@ -21866,7 +21866,7 @@
Parameters:
Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -22172,7 +22172,7 @@
Parameters:
Source:
- src/core/Group.js line 2316 + src/core/Group.js line 2316 @@ -22360,7 +22360,7 @@
Parameters:
Source:
- src/core/Group.js line 819 + src/core/Group.js line 819 @@ -22478,7 +22478,7 @@

Source:
- src/core/Group.js line 1028 + src/core/Group.js line 1028 @@ -22571,7 +22571,7 @@

Source:
- src/core/Group.js line 1529 + src/core/Group.js line 1529 @@ -22664,7 +22664,7 @@

Source:
- src/core/Group.js line 1542 + src/core/Group.js line 1542 @@ -22867,7 +22867,7 @@
Parameters:
Source:
- src/core/Group.js line 2783 + src/core/Group.js line 2783 @@ -23010,7 +23010,7 @@
Parameters:
Source:
- src/core/Group.js line 939 + src/core/Group.js line 939 @@ -23426,7 +23426,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -23808,7 +23808,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -24166,7 +24166,7 @@
Parameters:
Source:
- src/core/Group.js line 1326 + src/core/Group.js line 1326 @@ -24333,7 +24333,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -24652,7 +24652,7 @@
Parameters:
Source:
- src/core/Group.js line 1152 + src/core/Group.js line 1152 @@ -24770,7 +24770,7 @@

Source:
- src/core/Group.js line 2802 + src/core/Group.js line 2802 @@ -24977,7 +24977,7 @@
Parameters:
Source:
- src/core/Group.js line 1992 + src/core/Group.js line 1992 @@ -25193,7 +25193,7 @@
Parameters:
Source:
- src/core/Group.js line 1454 + src/core/Group.js line 1454 @@ -25361,7 +25361,7 @@
Parameters:
Source:
- src/core/Group.js line 904 + src/core/Group.js line 904 @@ -25528,7 +25528,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -25671,7 +25671,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -25884,7 +25884,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -26004,7 +26004,7 @@

Source:
- src/core/Group.js line 1765 + src/core/Group.js line 1765 @@ -26097,7 +26097,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -26207,7 +26207,7 @@

Source:
- src/physics/p2/BodyDebug.js line 72 + src/physics/p2/BodyDebug.js line 72 @@ -26370,7 +26370,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -26490,7 +26490,7 @@

Source:
- src/core/Group.js line 676 + src/core/Group.js line 676 @@ -26681,7 +26681,7 @@
Parameters:
Source:
- src/core/Group.js line 1006 + src/core/Group.js line 1006 @@ -26724,9 +26724,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -26743,7 +26743,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -26772,7 +26772,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.CollisionGroup.html b/docs/Phaser.Physics.P2.CollisionGroup.html index 82d82f765..3a1fa3dd7 100644 --- a/docs/Phaser.Physics.P2.CollisionGroup.html +++ b/docs/Phaser.Physics.P2.CollisionGroup.html @@ -6,7 +6,7 @@ Phaser CE Class: CollisionGroup - + @@ -230,7 +230,7 @@
Parameters:
Source:
- src/physics/p2/CollisionGroup.js line 14 + src/physics/p2/CollisionGroup.js line 14 @@ -335,7 +335,7 @@
Type:
Source:
- src/physics/p2/CollisionGroup.js line 19 + src/physics/p2/CollisionGroup.js line 19 @@ -368,9 +368,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -387,7 +387,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -416,7 +416,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.ContactMaterial.html b/docs/Phaser.Physics.P2.ContactMaterial.html index 7217b1141..3d2e095eb 100644 --- a/docs/Phaser.Physics.P2.ContactMaterial.html +++ b/docs/Phaser.Physics.P2.ContactMaterial.html @@ -6,7 +6,7 @@ Phaser CE Class: ContactMaterial - + @@ -306,7 +306,7 @@
Parameters:
Source:
- src/physics/p2/ContactMaterial.js line 16 + src/physics/p2/ContactMaterial.js line 16 @@ -363,9 +363,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -382,7 +382,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -411,7 +411,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.DistanceConstraint.html b/docs/Phaser.Physics.P2.DistanceConstraint.html index c4ecc33c0..36b68da10 100644 --- a/docs/Phaser.Physics.P2.DistanceConstraint.html +++ b/docs/Phaser.Physics.P2.DistanceConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: DistanceConstraint - + @@ -470,7 +470,7 @@
Parameters:
Source:
- src/physics/p2/DistanceConstraint.js line 20 + src/physics/p2/DistanceConstraint.js line 20 @@ -575,7 +575,7 @@
Type:
Source:
- src/physics/p2/DistanceConstraint.js line 30 + src/physics/p2/DistanceConstraint.js line 30 @@ -652,7 +652,7 @@
Type:
Source:
- src/physics/p2/DistanceConstraint.js line 35 + src/physics/p2/DistanceConstraint.js line 35 @@ -685,9 +685,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -704,7 +704,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -733,7 +733,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.FixtureList.html b/docs/Phaser.Physics.P2.FixtureList.html index 2c150054c..ebb6095d4 100644 --- a/docs/Phaser.Physics.P2.FixtureList.html +++ b/docs/Phaser.Physics.P2.FixtureList.html @@ -6,7 +6,7 @@ Phaser CE Class: FixtureList - + @@ -235,7 +235,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 23 + src/physics/p2/FixtureList.js line 23 @@ -387,7 +387,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 212 + src/physics/p2/FixtureList.js line 212 @@ -521,7 +521,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 158 + src/physics/p2/FixtureList.js line 158 @@ -655,7 +655,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 123 + src/physics/p2/FixtureList.js line 123 @@ -789,7 +789,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 170 + src/physics/p2/FixtureList.js line 170 @@ -869,7 +869,7 @@

Source:
- src/physics/p2/FixtureList.js line 38 + src/physics/p2/FixtureList.js line 38 @@ -953,7 +953,7 @@

Source:
- src/physics/p2/FixtureList.js line 182 + src/physics/p2/FixtureList.js line 182 @@ -1107,7 +1107,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 63 + src/physics/p2/FixtureList.js line 63 @@ -1261,7 +1261,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 78 + src/physics/p2/FixtureList.js line 78 @@ -1415,7 +1415,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 108 + src/physics/p2/FixtureList.js line 108 @@ -1569,7 +1569,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 93 + src/physics/p2/FixtureList.js line 93 @@ -1612,9 +1612,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1631,7 +1631,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1660,7 +1660,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.GearConstraint.html b/docs/Phaser.Physics.P2.GearConstraint.html index ad8f0a0b2..94a726657 100644 --- a/docs/Phaser.Physics.P2.GearConstraint.html +++ b/docs/Phaser.Physics.P2.GearConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: GearConstraint - + @@ -398,7 +398,7 @@
Parameters:
Source:
- src/physics/p2/GearConstraint.js line 18 + src/physics/p2/GearConstraint.js line 18 @@ -503,7 +503,7 @@
Type:
Source:
- src/physics/p2/GearConstraint.js line 26 + src/physics/p2/GearConstraint.js line 26 @@ -580,7 +580,7 @@
Type:
Source:
- src/physics/p2/GearConstraint.js line 31 + src/physics/p2/GearConstraint.js line 31 @@ -613,9 +613,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -632,7 +632,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -661,7 +661,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.InversePointProxy.html b/docs/Phaser.Physics.P2.InversePointProxy.html index 195aa5670..8ddc29e09 100644 --- a/docs/Phaser.Physics.P2.InversePointProxy.html +++ b/docs/Phaser.Physics.P2.InversePointProxy.html @@ -6,7 +6,7 @@ Phaser CE Class: InversePointProxy - + @@ -254,7 +254,7 @@
Parameters:
Source:
- src/physics/p2/InversePointProxy.js line 15 + src/physics/p2/InversePointProxy.js line 15 @@ -359,7 +359,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 64 + src/physics/p2/InversePointProxy.js line 64 @@ -436,7 +436,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 84 + src/physics/p2/InversePointProxy.js line 84 @@ -513,7 +513,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 24 + src/physics/p2/InversePointProxy.js line 24 @@ -590,7 +590,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 44 + src/physics/p2/InversePointProxy.js line 44 @@ -623,9 +623,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -642,7 +642,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -671,7 +671,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.LockConstraint.html b/docs/Phaser.Physics.P2.LockConstraint.html index 2dbfb1956..9cb0e4c0a 100644 --- a/docs/Phaser.Physics.P2.LockConstraint.html +++ b/docs/Phaser.Physics.P2.LockConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: LockConstraint - + @@ -434,7 +434,7 @@
Parameters:
Source:
- src/physics/p2/LockConstraint.js line 19 + src/physics/p2/LockConstraint.js line 19 @@ -539,7 +539,7 @@
Type:
Source:
- src/physics/p2/LockConstraint.js line 28 + src/physics/p2/LockConstraint.js line 28 @@ -616,7 +616,7 @@
Type:
Source:
- src/physics/p2/LockConstraint.js line 33 + src/physics/p2/LockConstraint.js line 33 @@ -649,9 +649,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -668,7 +668,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -697,7 +697,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.Material.html b/docs/Phaser.Physics.P2.Material.html index a32e2f746..f61793007 100644 --- a/docs/Phaser.Physics.P2.Material.html +++ b/docs/Phaser.Physics.P2.Material.html @@ -6,7 +6,7 @@ Phaser CE Class: Material - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/physics/p2/Material.js line 16 + src/physics/p2/Material.js line 16 @@ -336,7 +336,7 @@
Type:
Source:
- src/physics/p2/Material.js line 22 + src/physics/p2/Material.js line 22 @@ -369,9 +369,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -388,7 +388,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -417,7 +417,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.PointProxy.html b/docs/Phaser.Physics.P2.PointProxy.html index 4addbc84d..fa99d8f9d 100644 --- a/docs/Phaser.Physics.P2.PointProxy.html +++ b/docs/Phaser.Physics.P2.PointProxy.html @@ -6,7 +6,7 @@ Phaser CE Class: PointProxy - + @@ -254,7 +254,7 @@
Parameters:
Source:
- src/physics/p2/PointProxy.js line 15 + src/physics/p2/PointProxy.js line 15 @@ -359,7 +359,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 64 + src/physics/p2/PointProxy.js line 64 @@ -436,7 +436,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 84 + src/physics/p2/PointProxy.js line 84 @@ -513,7 +513,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 24 + src/physics/p2/PointProxy.js line 24 @@ -590,7 +590,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 44 + src/physics/p2/PointProxy.js line 44 @@ -623,9 +623,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -642,7 +642,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -671,7 +671,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.PrismaticConstraint.html b/docs/Phaser.Physics.P2.PrismaticConstraint.html index 3b796456c..f3d295cc8 100644 --- a/docs/Phaser.Physics.P2.PrismaticConstraint.html +++ b/docs/Phaser.Physics.P2.PrismaticConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: PrismaticConstraint - + @@ -510,7 +510,7 @@
Parameters:
Source:
- src/physics/p2/PrismaticConstraint.js line 21 + src/physics/p2/PrismaticConstraint.js line 21 @@ -615,7 +615,7 @@
Type:
Source:
- src/physics/p2/PrismaticConstraint.js line 32 + src/physics/p2/PrismaticConstraint.js line 32 @@ -692,7 +692,7 @@
Type:
Source:
- src/physics/p2/PrismaticConstraint.js line 37 + src/physics/p2/PrismaticConstraint.js line 37 @@ -725,9 +725,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -744,7 +744,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -773,7 +773,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.RevoluteConstraint.html b/docs/Phaser.Physics.P2.RevoluteConstraint.html index ff4975cfd..46e31297e 100644 --- a/docs/Phaser.Physics.P2.RevoluteConstraint.html +++ b/docs/Phaser.Physics.P2.RevoluteConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: RevoluteConstraint - + @@ -471,7 +471,7 @@
Parameters:
Source:
- src/physics/p2/RevoluteConstraint.js line 21 + src/physics/p2/RevoluteConstraint.js line 21 @@ -576,7 +576,7 @@
Type:
Source:
- src/physics/p2/RevoluteConstraint.js line 29 + src/physics/p2/RevoluteConstraint.js line 29 @@ -653,7 +653,7 @@
Type:
Source:
- src/physics/p2/RevoluteConstraint.js line 34 + src/physics/p2/RevoluteConstraint.js line 34 @@ -686,9 +686,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -705,7 +705,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -734,7 +734,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.RotationalSpring.html b/docs/Phaser.Physics.P2.RotationalSpring.html index f57486bf7..65eeb4ae9 100644 --- a/docs/Phaser.Physics.P2.RotationalSpring.html +++ b/docs/Phaser.Physics.P2.RotationalSpring.html @@ -6,7 +6,7 @@ Phaser CE Class: RotationalSpring - + @@ -436,7 +436,7 @@
Parameters:
Source:
- src/physics/p2/RotationalSpring.js line 19 + src/physics/p2/RotationalSpring.js line 19 @@ -541,7 +541,7 @@
Type:
Source:
- src/physics/p2/RotationalSpring.js line 49 + src/physics/p2/RotationalSpring.js line 49 @@ -618,7 +618,7 @@
Type:
Source:
- src/physics/p2/RotationalSpring.js line 24 + src/physics/p2/RotationalSpring.js line 24 @@ -695,7 +695,7 @@
Type:
Source:
- src/physics/p2/RotationalSpring.js line 29 + src/physics/p2/RotationalSpring.js line 29 @@ -728,9 +728,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -747,7 +747,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -776,7 +776,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.Spring.html b/docs/Phaser.Physics.P2.Spring.html index 489f6076d..48babbf97 100644 --- a/docs/Phaser.Physics.P2.Spring.html +++ b/docs/Phaser.Physics.P2.Spring.html @@ -6,7 +6,7 @@ Phaser CE Class: Spring - + @@ -590,7 +590,7 @@
Parameters:
Source:
- src/physics/p2/Spring.js line 23 + src/physics/p2/Spring.js line 23 @@ -695,7 +695,7 @@
Type:
Source:
- src/physics/p2/Spring.js line 70 + src/physics/p2/Spring.js line 70 @@ -772,7 +772,7 @@
Type:
Source:
- src/physics/p2/Spring.js line 28 + src/physics/p2/Spring.js line 28 @@ -849,7 +849,7 @@
Type:
Source:
- src/physics/p2/Spring.js line 33 + src/physics/p2/Spring.js line 33 @@ -882,9 +882,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -901,7 +901,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -930,7 +930,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.html b/docs/Phaser.Physics.P2.html index 76d7eeaa5..f283c0c06 100644 --- a/docs/Phaser.Physics.P2.html +++ b/docs/Phaser.Physics.P2.html @@ -6,7 +6,7 @@ Phaser CE Class: P2 - + @@ -275,7 +275,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 20 + src/physics/p2/World.js line 20 @@ -429,7 +429,7 @@
Type:
Source:
- src/physics/p2/World.js line 1934 + src/physics/p2/World.js line 1934 @@ -506,7 +506,7 @@
Type:
Source:
- src/physics/p2/World.js line 1954 + src/physics/p2/World.js line 1954 @@ -583,7 +583,7 @@
Type:
Source:
- src/physics/p2/World.js line 1914 + src/physics/p2/World.js line 1914 @@ -660,7 +660,7 @@
Type:
Source:
- src/physics/p2/World.js line 232 + src/physics/p2/World.js line 232 @@ -737,7 +737,7 @@
Type:
Source:
- src/physics/p2/World.js line 222 + src/physics/p2/World.js line 222 @@ -814,7 +814,7 @@
Type:
Source:
- src/physics/p2/World.js line 170 + src/physics/p2/World.js line 170 @@ -891,7 +891,7 @@
Type:
Source:
- src/physics/p2/World.js line 212 + src/physics/p2/World.js line 212 @@ -968,7 +968,7 @@
Type:
Source:
- src/physics/p2/World.js line 48 + src/physics/p2/World.js line 48 @@ -1045,7 +1045,7 @@
Type:
Source:
- src/physics/p2/World.js line 1894 + src/physics/p2/World.js line 1894 @@ -1122,7 +1122,7 @@
Type:
Source:
- src/physics/p2/World.js line 2009 + src/physics/p2/World.js line 2009 @@ -1199,7 +1199,7 @@
Type:
Source:
- src/physics/p2/World.js line 227 + src/physics/p2/World.js line 227 @@ -1276,7 +1276,7 @@
Type:
Source:
- src/physics/p2/World.js line 60 + src/physics/p2/World.js line 60 @@ -1353,7 +1353,7 @@
Type:
Source:
- src/physics/p2/World.js line 1854 + src/physics/p2/World.js line 1854 @@ -1430,7 +1430,7 @@
Type:
Source:
- src/physics/p2/World.js line 25 + src/physics/p2/World.js line 25 @@ -1507,7 +1507,7 @@
Type:
Source:
- src/physics/p2/World.js line 83 + src/physics/p2/World.js line 83 @@ -1584,7 +1584,7 @@
Type:
Source:
- src/physics/p2/World.js line 78 + src/physics/p2/World.js line 78 @@ -1661,7 +1661,7 @@
Type:
Source:
- src/physics/p2/World.js line 217 + src/physics/p2/World.js line 217 @@ -1741,7 +1741,7 @@
Type:
Source:
- src/physics/p2/World.js line 182 + src/physics/p2/World.js line 182 @@ -1819,7 +1819,7 @@
Type:
Source:
- src/physics/p2/World.js line 97 + src/physics/p2/World.js line 97 @@ -1897,7 +1897,7 @@
Type:
Source:
- src/physics/p2/World.js line 106 + src/physics/p2/World.js line 106 @@ -1975,7 +1975,7 @@
Type:
Source:
- src/physics/p2/World.js line 133 + src/physics/p2/World.js line 133 @@ -2053,7 +2053,7 @@
Type:
Source:
- src/physics/p2/World.js line 142 + src/physics/p2/World.js line 142 @@ -2131,7 +2131,7 @@
Type:
Source:
- src/physics/p2/World.js line 151 + src/physics/p2/World.js line 151 @@ -2209,7 +2209,7 @@
Type:
Source:
- src/physics/p2/World.js line 160 + src/physics/p2/World.js line 160 @@ -2289,7 +2289,7 @@
Type:
Source:
- src/physics/p2/World.js line 194 + src/physics/p2/World.js line 194 @@ -2367,7 +2367,7 @@
Type:
Source:
- src/physics/p2/World.js line 115 + src/physics/p2/World.js line 115 @@ -2445,7 +2445,7 @@
Type:
Source:
- src/physics/p2/World.js line 124 + src/physics/p2/World.js line 124 @@ -2522,7 +2522,7 @@
Type:
Source:
- src/physics/p2/World.js line 72 + src/physics/p2/World.js line 72 @@ -2599,7 +2599,7 @@
Type:
Source:
- src/physics/p2/World.js line 165 + src/physics/p2/World.js line 165 @@ -2676,7 +2676,7 @@
Type:
Source:
- src/physics/p2/World.js line 1874 + src/physics/p2/World.js line 1874 @@ -2754,7 +2754,7 @@
Type:
Source:
- src/physics/p2/World.js line 2029 + src/physics/p2/World.js line 2029 @@ -2831,7 +2831,7 @@
Type:
Source:
- src/physics/p2/World.js line 1974 + src/physics/p2/World.js line 1974 @@ -2908,7 +2908,7 @@
Type:
Source:
- src/physics/p2/World.js line 1994 + src/physics/p2/World.js line 1994 @@ -2985,7 +2985,7 @@
Type:
Source:
- src/physics/p2/World.js line 2051 + src/physics/p2/World.js line 2051 @@ -3062,7 +3062,7 @@
Type:
Source:
- src/physics/p2/World.js line 66 + src/physics/p2/World.js line 66 @@ -3139,7 +3139,7 @@
Type:
Source:
- src/physics/p2/World.js line 88 + src/physics/p2/World.js line 88 @@ -3216,7 +3216,7 @@
Type:
Source:
- src/physics/p2/World.js line 54 + src/physics/p2/World.js line 54 @@ -3344,7 +3344,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 887 + src/physics/p2/World.js line 887 @@ -3502,7 +3502,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1119 + src/physics/p2/World.js line 1119 @@ -3660,7 +3660,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1153 + src/physics/p2/World.js line 1153 @@ -3824,7 +3824,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 931 + src/physics/p2/World.js line 931 @@ -3982,7 +3982,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 502 + src/physics/p2/World.js line 502 @@ -4075,7 +4075,7 @@

Source:
- src/physics/p2/World.js line 800 + src/physics/p2/World.js line 800 @@ -4259,7 +4259,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1681 + src/physics/p2/World.js line 1681 @@ -4494,7 +4494,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1625 + src/physics/p2/World.js line 1625 @@ -4795,7 +4795,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1703 + src/physics/p2/World.js line 1703 @@ -5311,7 +5311,7 @@
Properties
Source:
- src/physics/p2/World.js line 1542 + src/physics/p2/World.js line 1542 @@ -5485,7 +5485,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1411 + src/physics/p2/World.js line 1411 @@ -5699,7 +5699,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1246 + src/physics/p2/World.js line 1246 @@ -6045,7 +6045,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 979 + src/physics/p2/World.js line 979 @@ -6347,7 +6347,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1007 + src/physics/p2/World.js line 1007 @@ -6685,7 +6685,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1062 + src/physics/p2/World.js line 1062 @@ -6891,7 +6891,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1219 + src/physics/p2/World.js line 1219 @@ -7407,7 +7407,7 @@
Properties
Source:
- src/physics/p2/World.js line 1584 + src/physics/p2/World.js line 1584 @@ -7798,7 +7798,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1089 + src/physics/p2/World.js line 1089 @@ -8173,7 +8173,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1033 + src/physics/p2/World.js line 1033 @@ -8513,7 +8513,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1515 + src/physics/p2/World.js line 1515 @@ -9007,7 +9007,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1484 + src/physics/p2/World.js line 1484 @@ -9115,7 +9115,7 @@

Source:
- src/physics/p2/World.js line 874 + src/physics/p2/World.js line 874 @@ -9353,7 +9353,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 313 + src/physics/p2/World.js line 313 @@ -9512,7 +9512,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 372 + src/physics/p2/World.js line 372 @@ -9646,7 +9646,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 527 + src/physics/p2/World.js line 527 @@ -9730,7 +9730,7 @@

Source:
- src/physics/p2/World.js line 1266 + src/physics/p2/World.js line 1266 @@ -9888,7 +9888,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1286 + src/physics/p2/World.js line 1286 @@ -9998,7 +9998,7 @@

Source:
- src/physics/p2/World.js line 1335 + src/physics/p2/World.js line 1335 @@ -10180,7 +10180,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1187 + src/physics/p2/World.js line 1187 @@ -10291,7 +10291,7 @@

Source:
- src/physics/p2/World.js line 1315 + src/physics/p2/World.js line 1315 @@ -10584,7 +10584,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1357 + src/physics/p2/World.js line 1357 @@ -10744,7 +10744,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1792 + src/physics/p2/World.js line 1792 @@ -10904,7 +10904,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1822 + src/physics/p2/World.js line 1822 @@ -11012,7 +11012,7 @@

Source:
- src/physics/p2/World.js line 733 + src/physics/p2/World.js line 733 @@ -11096,7 +11096,7 @@

Source:
- src/physics/p2/World.js line 295 + src/physics/p2/World.js line 295 @@ -11232,7 +11232,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1807 + src/physics/p2/World.js line 1807 @@ -11392,7 +11392,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1837 + src/physics/p2/World.js line 1837 @@ -11550,7 +11550,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 911 + src/physics/p2/World.js line 911 @@ -11708,7 +11708,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 283 + src/physics/p2/World.js line 283 @@ -11842,7 +11842,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1136 + src/physics/p2/World.js line 1136 @@ -12000,7 +12000,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1170 + src/physics/p2/World.js line 1170 @@ -12158,7 +12158,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 955 + src/physics/p2/World.js line 955 @@ -12267,7 +12267,7 @@

Source:
- src/physics/p2/World.js line 779 + src/physics/p2/World.js line 779 @@ -12351,7 +12351,7 @@

Source:
- src/physics/p2/World.js line 744 + src/physics/p2/World.js line 744 @@ -12814,7 +12814,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 646 + src/physics/p2/World.js line 646 @@ -12949,7 +12949,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 393 + src/physics/p2/World.js line 393 @@ -13107,7 +13107,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1201 + src/physics/p2/World.js line 1201 @@ -13268,7 +13268,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 413 + src/physics/p2/World.js line 413 @@ -13352,7 +13352,7 @@

Source:
- src/physics/p2/World.js line 1399 + src/physics/p2/World.js line 1399 @@ -13460,7 +13460,7 @@

Source:
- src/physics/p2/World.js line 755 + src/physics/p2/World.js line 755 @@ -13616,7 +13616,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 608 + src/physics/p2/World.js line 608 @@ -13659,9 +13659,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -13678,7 +13678,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -13707,7 +13707,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.html b/docs/Phaser.Physics.html index 6ca3e4539..87b663caf 100644 --- a/docs/Phaser.Physics.html +++ b/docs/Phaser.Physics.html @@ -6,7 +6,7 @@ Phaser CE Class: Physics - + @@ -290,7 +290,7 @@
Parameters:
Source:
- src/physics/Physics.js line 21 + src/physics/Physics.js line 21 @@ -404,7 +404,7 @@
Type:
Source:
- src/physics/Physics.js line 73 + src/physics/Physics.js line 73 @@ -477,7 +477,7 @@
Type:
Source:
- src/physics/Physics.js line 91 + src/physics/Physics.js line 91 @@ -550,7 +550,7 @@
Type:
Source:
- src/physics/Physics.js line 97 + src/physics/Physics.js line 97 @@ -623,7 +623,7 @@
Type:
Source:
- src/physics/Physics.js line 103 + src/physics/Physics.js line 103 @@ -696,7 +696,7 @@
Type:
Source:
- src/physics/Physics.js line 85 + src/physics/Physics.js line 85 @@ -769,7 +769,7 @@
Type:
Source:
- src/physics/Physics.js line 79 + src/physics/Physics.js line 79 @@ -846,7 +846,7 @@
Type:
Source:
- src/physics/Physics.js line 38 + src/physics/Physics.js line 38 @@ -923,7 +923,7 @@
Type:
Source:
- src/physics/Physics.js line 53 + src/physics/Physics.js line 53 @@ -1000,7 +1000,7 @@
Type:
Source:
- src/physics/Physics.js line 58 + src/physics/Physics.js line 58 @@ -1077,7 +1077,7 @@
Type:
Source:
- src/physics/Physics.js line 33 + src/physics/Physics.js line 33 @@ -1154,7 +1154,7 @@
Type:
Source:
- src/physics/Physics.js line 28 + src/physics/Physics.js line 28 @@ -1231,7 +1231,7 @@
Type:
Source:
- src/physics/Physics.js line 63 + src/physics/Physics.js line 63 @@ -1308,7 +1308,7 @@
Type:
Source:
- src/physics/Physics.js line 48 + src/physics/Physics.js line 48 @@ -1385,7 +1385,7 @@
Type:
Source:
- src/physics/Physics.js line 43 + src/physics/Physics.js line 43 @@ -1463,7 +1463,7 @@

Source:
- src/physics/Physics.js line 349 + src/physics/Physics.js line 349 @@ -1547,7 +1547,7 @@

Source:
- src/physics/Physics.js line 399 + src/physics/Physics.js line 399 @@ -1790,7 +1790,7 @@
Parameters:
Source:
- src/physics/Physics.js line 208 + src/physics/Physics.js line 208 @@ -1874,7 +1874,7 @@

Source:
- src/physics/Physics.js line 107 + src/physics/Physics.js line 107 @@ -1958,7 +1958,7 @@

Source:
- src/physics/Physics.js line 260 + src/physics/Physics.js line 260 @@ -2042,7 +2042,7 @@

Source:
- src/physics/Physics.js line 374 + src/physics/Physics.js line 374 @@ -2126,7 +2126,7 @@

Source:
- src/physics/Physics.js line 314 + src/physics/Physics.js line 314 @@ -2441,7 +2441,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 552 + src/physics/p2/World.js line 552 @@ -2751,7 +2751,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 569 + src/physics/p2/World.js line 569 @@ -2895,7 +2895,7 @@
Parameters:
Source:
- src/physics/Physics.js line 142 + src/physics/Physics.js line 142 @@ -2979,7 +2979,7 @@

Source:
- src/physics/Physics.js line 287 + src/physics/Physics.js line 287 @@ -3022,9 +3022,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -3041,7 +3041,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -3070,7 +3070,7 @@

- + diff --git a/docs/Phaser.Plugin.PathManager.html b/docs/Phaser.Plugin.PathManager.html index b416b8c39..48b91b99e 100644 --- a/docs/Phaser.Plugin.PathManager.html +++ b/docs/Phaser.Plugin.PathManager.html @@ -6,7 +6,7 @@ Phaser CE Class: PathManager - + @@ -255,7 +255,7 @@

Parameters:
Source:
- src/plugins/path/PathManagerPlugin.js line 17 + src/plugins/path/PathManagerPlugin.js line 17 @@ -360,7 +360,7 @@

Source:
- src/plugins/path/PathManagerPlugin.js line 47 + src/plugins/path/PathManagerPlugin.js line 47 @@ -403,9 +403,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -422,7 +422,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -451,7 +451,7 @@

- + diff --git a/docs/Phaser.Plugin.html b/docs/Phaser.Plugin.html index 354ff5cc8..2eaf72a00 100644 --- a/docs/Phaser.Plugin.html +++ b/docs/Phaser.Plugin.html @@ -6,7 +6,7 @@ Phaser CE Class: Plugin - + @@ -297,7 +297,7 @@

Parameters:
Source:
- src/core/Plugin.js line 27 + src/core/Plugin.js line 27 @@ -409,7 +409,7 @@
Type:
Source:
- src/core/Plugin.js line 45 + src/core/Plugin.js line 45 @@ -486,7 +486,7 @@
Type:
Source:
- src/core/Plugin.js line 34 + src/core/Plugin.js line 34 @@ -563,7 +563,7 @@
Type:
Source:
- src/core/Plugin.js line 81 + src/core/Plugin.js line 81 @@ -640,7 +640,7 @@
Type:
Source:
- src/core/Plugin.js line 69 + src/core/Plugin.js line 69 @@ -717,7 +717,7 @@
Type:
Source:
- src/core/Plugin.js line 57 + src/core/Plugin.js line 57 @@ -794,7 +794,7 @@
Type:
Source:
- src/core/Plugin.js line 75 + src/core/Plugin.js line 75 @@ -871,7 +871,7 @@
Type:
Source:
- src/core/Plugin.js line 63 + src/core/Plugin.js line 63 @@ -948,7 +948,7 @@
Type:
Source:
- src/core/Plugin.js line 39 + src/core/Plugin.js line 39 @@ -1025,7 +1025,7 @@
Type:
Source:
- src/core/Plugin.js line 51 + src/core/Plugin.js line 51 @@ -1103,7 +1103,7 @@

Source:
- src/core/Plugin.js line 119 + src/core/Plugin.js line 119 @@ -1188,7 +1188,7 @@

Source:
- src/core/Plugin.js line 111 + src/core/Plugin.js line 111 @@ -1273,7 +1273,7 @@

Source:
- src/core/Plugin.js line 87 + src/core/Plugin.js line 87 @@ -1358,7 +1358,7 @@

Source:
- src/core/Plugin.js line 103 + src/core/Plugin.js line 103 @@ -1443,7 +1443,7 @@

Source:
- src/core/Plugin.js line 95 + src/core/Plugin.js line 95 @@ -1486,9 +1486,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1505,7 +1505,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1534,7 +1534,7 @@

- + diff --git a/docs/Phaser.PluginManager.html b/docs/Phaser.PluginManager.html index 1cb734cfd..0f1a1f5fb 100644 --- a/docs/Phaser.PluginManager.html +++ b/docs/Phaser.PluginManager.html @@ -6,7 +6,7 @@ Phaser CE Class: PluginManager - + @@ -230,7 +230,7 @@

Parameters:
Source:
- src/core/PluginManager.js line 16 + src/core/PluginManager.js line 16 @@ -335,7 +335,7 @@
Type:
Source:
- src/core/PluginManager.js line 21 + src/core/PluginManager.js line 21 @@ -412,7 +412,7 @@
Type:
Source:
- src/core/PluginManager.js line 26 + src/core/PluginManager.js line 26 @@ -588,7 +588,7 @@
Parameters:
Source:
- src/core/PluginManager.js line 44 + src/core/PluginManager.js line 44 @@ -696,7 +696,7 @@

Source:
- src/core/PluginManager.js line 279 + src/core/PluginManager.js line 279 @@ -781,7 +781,7 @@

Source:
- src/core/PluginManager.js line 259 + src/core/PluginManager.js line 259 @@ -867,7 +867,7 @@

Source:
- src/core/PluginManager.js line 218 + src/core/PluginManager.js line 218 @@ -952,7 +952,7 @@

Source:
- src/core/PluginManager.js line 178 + src/core/PluginManager.js line 178 @@ -1142,7 +1142,7 @@
Parameters:
Source:
- src/core/PluginManager.js line 129 + src/core/PluginManager.js line 129 @@ -1226,7 +1226,7 @@

Source:
- src/core/PluginManager.js line 159 + src/core/PluginManager.js line 159 @@ -1311,7 +1311,7 @@

Source:
- src/core/PluginManager.js line 239 + src/core/PluginManager.js line 239 @@ -1396,7 +1396,7 @@

Source:
- src/core/PluginManager.js line 198 + src/core/PluginManager.js line 198 @@ -1439,9 +1439,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1458,7 +1458,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1487,7 +1487,7 @@

- + diff --git a/docs/Phaser.Point.html b/docs/Phaser.Point.html index d8619e90e..46dad28a6 100644 --- a/docs/Phaser.Point.html +++ b/docs/Phaser.Point.html @@ -6,7 +6,7 @@ Phaser CE Class: Point - + @@ -293,7 +293,7 @@

Parameters:
Source:
- src/geom/Point.js line 18 + src/geom/Point.js line 18 @@ -398,7 +398,7 @@
Type:
Source:
- src/geom/Point.js line 37 + src/geom/Point.js line 37 @@ -475,7 +475,7 @@
Type:
Source:
- src/geom/Point.js line 26 + src/geom/Point.js line 26 @@ -552,7 +552,7 @@
Type:
Source:
- src/geom/Point.js line 31 + src/geom/Point.js line 31 @@ -756,7 +756,7 @@
Parameters:
Source:
- src/geom/Point.js line 571 + src/geom/Point.js line 571 @@ -938,7 +938,7 @@
Parameters:
Source:
- src/geom/Point.js line 685 + src/geom/Point.js line 685 @@ -1140,7 +1140,7 @@
Parameters:
Source:
- src/geom/Point.js line 932 + src/geom/Point.js line 932 @@ -1390,7 +1390,7 @@
Parameters:
Source:
- src/geom/Point.js line 784 + src/geom/Point.js line 784 @@ -1624,7 +1624,7 @@
Parameters:
Source:
- src/geom/Point.js line 631 + src/geom/Point.js line 631 @@ -1806,7 +1806,7 @@
Parameters:
Source:
- src/geom/Point.js line 651 + src/geom/Point.js line 651 @@ -2072,7 +2072,7 @@
Parameters:
Source:
- src/geom/Point.js line 734 + src/geom/Point.js line 734 @@ -2180,7 +2180,7 @@

Source:
- src/geom/Point.js line 1005 + src/geom/Point.js line 1005 @@ -2416,7 +2416,7 @@
Parameters:
Source:
- src/geom/Point.js line 611 + src/geom/Point.js line 611 @@ -2682,7 +2682,7 @@
Parameters:
Source:
- src/geom/Point.js line 716 + src/geom/Point.js line 716 @@ -2884,7 +2884,7 @@
Parameters:
Source:
- src/geom/Point.js line 700 + src/geom/Point.js line 700 @@ -3086,7 +3086,7 @@
Parameters:
Source:
- src/geom/Point.js line 864 + src/geom/Point.js line 864 @@ -3288,7 +3288,7 @@
Parameters:
Source:
- src/geom/Point.js line 848 + src/geom/Point.js line 848 @@ -3543,7 +3543,7 @@
Parameters:
Source:
- src/geom/Point.js line 973 + src/geom/Point.js line 973 @@ -3745,7 +3745,7 @@
Parameters:
Source:
- src/geom/Point.js line 752 + src/geom/Point.js line 752 @@ -3979,7 +3979,7 @@
Parameters:
Source:
- src/geom/Point.js line 800 + src/geom/Point.js line 800 @@ -4213,7 +4213,7 @@
Parameters:
Source:
- src/geom/Point.js line 824 + src/geom/Point.js line 824 @@ -4577,7 +4577,7 @@
Parameters:
Source:
- src/geom/Point.js line 887 + src/geom/Point.js line 887 @@ -4779,7 +4779,7 @@
Parameters:
Source:
- src/geom/Point.js line 768 + src/geom/Point.js line 768 @@ -5013,7 +5013,7 @@
Parameters:
Source:
- src/geom/Point.js line 591 + src/geom/Point.js line 591 @@ -5195,7 +5195,7 @@
Parameters:
Source:
- src/geom/Point.js line 122 + src/geom/Point.js line 122 @@ -5412,7 +5412,7 @@
Parameters:
Source:
- src/geom/Point.js line 343 + src/geom/Point.js line 343 @@ -5520,7 +5520,7 @@

Source:
- src/geom/Point.js line 543 + src/geom/Point.js line 543 @@ -5702,7 +5702,7 @@
Parameters:
Source:
- src/geom/Point.js line 216 + src/geom/Point.js line 216 @@ -5884,7 +5884,7 @@
Parameters:
Source:
- src/geom/Point.js line 186 + src/geom/Point.js line 186 @@ -6066,7 +6066,7 @@
Parameters:
Source:
- src/geom/Point.js line 201 + src/geom/Point.js line 201 @@ -6224,7 +6224,7 @@
Parameters:
Source:
- src/geom/Point.js line 232 + src/geom/Point.js line 232 @@ -6394,7 +6394,7 @@
Parameters:
Source:
- src/geom/Point.js line 252 + src/geom/Point.js line 252 @@ -6552,7 +6552,7 @@
Parameters:
Source:
- src/geom/Point.js line 43 + src/geom/Point.js line 43 @@ -6710,7 +6710,7 @@
Parameters:
Source:
- src/geom/Point.js line 274 + src/geom/Point.js line 274 @@ -6868,7 +6868,7 @@
Parameters:
Source:
- src/geom/Point.js line 482 + src/geom/Point.js line 482 @@ -7070,7 +7070,7 @@
Parameters:
Source:
- src/geom/Point.js line 290 + src/geom/Point.js line 290 @@ -7252,7 +7252,7 @@
Parameters:
Source:
- src/geom/Point.js line 170 + src/geom/Point.js line 170 @@ -7410,7 +7410,7 @@
Parameters:
Source:
- src/geom/Point.js line 469 + src/geom/Point.js line 469 @@ -7571,7 +7571,7 @@
Parameters:
Source:
- src/geom/Point.js line 304 + src/geom/Point.js line 304 @@ -7753,7 +7753,7 @@
Parameters:
Source:
- src/geom/Point.js line 317 + src/geom/Point.js line 317 @@ -7861,7 +7861,7 @@

Source:
- src/geom/Point.js line 531 + src/geom/Point.js line 531 @@ -7969,7 +7969,7 @@

Source:
- src/geom/Point.js line 383 + src/geom/Point.js line 383 @@ -8077,7 +8077,7 @@

Source:
- src/geom/Point.js line 395 + src/geom/Point.js line 395 @@ -8185,7 +8185,7 @@

Source:
- src/geom/Point.js line 56 + src/geom/Point.js line 56 @@ -8293,7 +8293,7 @@

Source:
- src/geom/Point.js line 457 + src/geom/Point.js line 457 @@ -8451,7 +8451,7 @@
Parameters:
Source:
- src/geom/Point.js line 439 + src/geom/Point.js line 439 @@ -8633,7 +8633,7 @@
Parameters:
Source:
- src/geom/Point.js line 154 + src/geom/Point.js line 154 @@ -8741,7 +8741,7 @@

Source:
- src/geom/Point.js line 420 + src/geom/Point.js line 420 @@ -8849,7 +8849,7 @@

Source:
- src/geom/Point.js line 519 + src/geom/Point.js line 519 @@ -8957,7 +8957,7 @@

Source:
- src/geom/Point.js line 495 + src/geom/Point.js line 495 @@ -9281,7 +9281,7 @@
Parameters:
Source:
- src/geom/Point.js line 366 + src/geom/Point.js line 366 @@ -9389,7 +9389,7 @@

Source:
- src/geom/Point.js line 507 + src/geom/Point.js line 507 @@ -9594,7 +9594,7 @@
Parameters:
Source:
- src/geom/Point.js line 86 + src/geom/Point.js line 86 @@ -9828,7 +9828,7 @@
Parameters:
Source:
- src/geom/Point.js line 1018 + src/geom/Point.js line 1018 @@ -9986,7 +9986,7 @@
Parameters:
Source:
- src/geom/Point.js line 407 + src/geom/Point.js line 407 @@ -10191,7 +10191,7 @@
Parameters:
Source:
- src/geom/Point.js line 68 + src/geom/Point.js line 68 @@ -10445,7 +10445,7 @@
Parameters:
Source:
- src/geom/Point.js line 104 + src/geom/Point.js line 104 @@ -10627,7 +10627,7 @@
Parameters:
Source:
- src/geom/Point.js line 138 + src/geom/Point.js line 138 @@ -10735,7 +10735,7 @@

Source:
- src/geom/Point.js line 555 + src/geom/Point.js line 555 @@ -10802,9 +10802,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -10821,7 +10821,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -10850,7 +10850,7 @@
Returns:
- + diff --git a/docs/Phaser.Pointer.html b/docs/Phaser.Pointer.html index c6209670f..e4f521020 100644 --- a/docs/Phaser.Pointer.html +++ b/docs/Phaser.Pointer.html @@ -6,7 +6,7 @@ Phaser CE Class: Pointer - + @@ -294,7 +294,7 @@
Parameters:
Source:
- src/input/Pointer.js line 16 + src/input/Pointer.js line 16 @@ -400,7 +400,7 @@
Type:
Source:
- src/input/Pointer.js line 397 + src/input/Pointer.js line 397 @@ -477,7 +477,7 @@
Type:
Source:
- src/input/Pointer.js line 412 + src/input/Pointer.js line 412 @@ -555,7 +555,7 @@
Type:
Source:
- src/input/Pointer.js line 405 + src/input/Pointer.js line 405 @@ -632,7 +632,7 @@
Type:
Source:
- src/input/Pointer.js line 375 + src/input/Pointer.js line 375 @@ -709,7 +709,7 @@
Type:
Source:
- src/input/Pointer.js line 389 + src/input/Pointer.js line 389 @@ -786,7 +786,7 @@
Type:
Source:
- src/input/Pointer.js line 368 + src/input/Pointer.js line 368 @@ -863,7 +863,7 @@
Type:
Source:
- src/input/Pointer.js line 382 + src/input/Pointer.js line 382 @@ -940,7 +940,7 @@
Type:
Source:
- src/input/Pointer.js line 316 + src/input/Pointer.js line 316 @@ -1020,7 +1020,7 @@
Type:
Source:
- src/input/Pointer.js line 120 + src/input/Pointer.js line 120 @@ -1099,7 +1099,7 @@
Type:
Source:
- src/input/Pointer.js line 70 + src/input/Pointer.js line 70 @@ -1177,7 +1177,7 @@
Type:
Source:
- src/input/Pointer.js line 344 + src/input/Pointer.js line 344 @@ -1254,7 +1254,7 @@
Type:
Source:
- src/input/Pointer.js line 181 + src/input/Pointer.js line 181 @@ -1331,7 +1331,7 @@
Type:
Source:
- src/input/Pointer.js line 186 + src/input/Pointer.js line 186 @@ -1408,7 +1408,7 @@
Type:
Source:
- src/input/Pointer.js line 322 + src/input/Pointer.js line 322 @@ -1487,7 +1487,7 @@
Type:
Source:
- src/input/Pointer.js line 1216 + src/input/Pointer.js line 1216 @@ -1567,7 +1567,7 @@
Type:
Source:
- src/input/Pointer.js line 146 + src/input/Pointer.js line 146 @@ -1651,7 +1651,7 @@
Type:
Source:
- src/input/Pointer.js line 38 + src/input/Pointer.js line 38 @@ -1731,7 +1731,7 @@
Type:
Source:
- src/input/Pointer.js line 133 + src/input/Pointer.js line 133 @@ -1808,7 +1808,7 @@
Type:
Source:
- src/input/Pointer.js line 21 + src/input/Pointer.js line 21 @@ -1885,7 +1885,7 @@
Type:
Source:
- src/input/Pointer.js line 26 + src/input/Pointer.js line 26 @@ -1962,7 +1962,7 @@
Type:
Source:
- src/input/Pointer.js line 44 + src/input/Pointer.js line 44 @@ -2050,7 +2050,7 @@
Type:
Source:
- src/input/Pointer.js line 310 + src/input/Pointer.js line 310 @@ -2128,7 +2128,7 @@
Type:
Source:
- src/input/Pointer.js line 255 + src/input/Pointer.js line 255 @@ -2205,7 +2205,7 @@
Type:
Source:
- src/input/Pointer.js line 247 + src/input/Pointer.js line 247 @@ -2290,7 +2290,7 @@
Type:
Source:
- src/input/Pointer.js line 263 + src/input/Pointer.js line 263 @@ -2369,7 +2369,7 @@
Type:
Source:
- src/input/Pointer.js line 81 + src/input/Pointer.js line 81 @@ -2449,7 +2449,7 @@
Type:
Source:
- src/input/Pointer.js line 94 + src/input/Pointer.js line 94 @@ -2526,7 +2526,7 @@
Type:
Source:
- src/input/Pointer.js line 224 + src/input/Pointer.js line 224 @@ -2603,7 +2603,7 @@
Type:
Source:
- src/input/Pointer.js line 230 + src/input/Pointer.js line 230 @@ -2680,7 +2680,7 @@
Type:
Source:
- src/input/Pointer.js line 293 + src/input/Pointer.js line 293 @@ -2757,7 +2757,7 @@
Type:
Source:
- src/input/Pointer.js line 191 + src/input/Pointer.js line 191 @@ -2834,7 +2834,7 @@
Type:
Source:
- src/input/Pointer.js line 196 + src/input/Pointer.js line 196 @@ -2911,7 +2911,7 @@
Type:
Source:
- src/input/Pointer.js line 50 + src/input/Pointer.js line 50 @@ -2988,7 +2988,7 @@
Type:
Source:
- src/input/Pointer.js line 55 + src/input/Pointer.js line 55 @@ -3065,7 +3065,7 @@
Type:
Source:
- src/input/Pointer.js line 327 + src/input/Pointer.js line 327 @@ -3142,7 +3142,7 @@
Type:
Source:
- src/input/Pointer.js line 332 + src/input/Pointer.js line 332 @@ -3219,7 +3219,7 @@
Type:
Source:
- src/input/Pointer.js line 337 + src/input/Pointer.js line 337 @@ -3296,7 +3296,7 @@
Type:
Source:
- src/input/Pointer.js line 281 + src/input/Pointer.js line 281 @@ -3373,7 +3373,7 @@
Type:
Source:
- src/input/Pointer.js line 212 + src/input/Pointer.js line 212 @@ -3450,7 +3450,7 @@
Type:
Source:
- src/input/Pointer.js line 218 + src/input/Pointer.js line 218 @@ -3530,7 +3530,7 @@
Type:
Source:
- src/input/Pointer.js line 107 + src/input/Pointer.js line 107 @@ -3607,7 +3607,7 @@
Type:
Source:
- src/input/Pointer.js line 201 + src/input/Pointer.js line 201 @@ -3684,7 +3684,7 @@
Type:
Source:
- src/input/Pointer.js line 206 + src/input/Pointer.js line 206 @@ -3761,7 +3761,7 @@
Type:
Source:
- src/input/Pointer.js line 61 + src/input/Pointer.js line 61 @@ -3838,7 +3838,7 @@
Type:
Source:
- src/input/Pointer.js line 299 + src/input/Pointer.js line 299 @@ -3915,7 +3915,7 @@
Type:
Source:
- src/input/Pointer.js line 269 + src/input/Pointer.js line 269 @@ -3992,7 +3992,7 @@
Type:
Source:
- src/input/Pointer.js line 275 + src/input/Pointer.js line 275 @@ -4069,7 +4069,7 @@
Type:
Source:
- src/input/Pointer.js line 287 + src/input/Pointer.js line 287 @@ -4146,7 +4146,7 @@
Type:
Source:
- src/input/Pointer.js line 32 + src/input/Pointer.js line 32 @@ -4223,7 +4223,7 @@
Type:
Source:
- src/input/Pointer.js line 176 + src/input/Pointer.js line 176 @@ -4300,7 +4300,7 @@
Type:
Source:
- src/input/Pointer.js line 1240 + src/input/Pointer.js line 1240 @@ -4377,7 +4377,7 @@
Type:
Source:
- src/input/Pointer.js line 1256 + src/input/Pointer.js line 1256 @@ -4454,7 +4454,7 @@
Type:
Source:
- src/input/Pointer.js line 236 + src/input/Pointer.js line 236 @@ -4531,7 +4531,7 @@
Type:
Source:
- src/input/Pointer.js line 242 + src/input/Pointer.js line 242 @@ -4739,7 +4739,7 @@
Parameters:
Source:
- src/input/Pointer.js line 1097 + src/input/Pointer.js line 1097 @@ -4887,7 +4887,7 @@
Parameters:
Source:
- src/input/Pointer.js line 1065 + src/input/Pointer.js line 1065 @@ -5059,7 +5059,7 @@
Parameters:
Source:
- src/input/Pointer.js line 1081 + src/input/Pointer.js line 1081 @@ -5223,7 +5223,7 @@
Parameters:
Source:
- src/input/Pointer.js line 969 + src/input/Pointer.js line 969 @@ -5419,7 +5419,7 @@
Parameters:
Source:
- src/input/Pointer.js line 739 + src/input/Pointer.js line 739 @@ -5573,7 +5573,7 @@
Parameters:
Source:
- src/input/Pointer.js line 830 + src/input/Pointer.js line 830 @@ -5681,7 +5681,7 @@

Source:
- src/input/Pointer.js line 1171 + src/input/Pointer.js line 1171 @@ -5765,7 +5765,7 @@

Source:
- src/input/Pointer.js line 416 + src/input/Pointer.js line 416 @@ -5849,7 +5849,7 @@

Source:
- src/input/Pointer.js line 1201 + src/input/Pointer.js line 1201 @@ -5983,7 +5983,7 @@
Parameters:
Source:
- src/input/Pointer.js line 617 + src/input/Pointer.js line 617 @@ -6123,7 +6123,7 @@
Parameters:
Source:
- src/input/Pointer.js line 982 + src/input/Pointer.js line 982 @@ -6316,7 +6316,7 @@
Parameters:
Source:
- src/input/Pointer.js line 910 + src/input/Pointer.js line 910 @@ -6400,7 +6400,7 @@

Source:
- src/input/Pointer.js line 687 + src/input/Pointer.js line 687 @@ -6535,7 +6535,7 @@
Parameters:
Source:
- src/input/Pointer.js line 593 + src/input/Pointer.js line 593 @@ -6578,9 +6578,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -6597,7 +6597,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -6626,7 +6626,7 @@
Parameters:
- + diff --git a/docs/Phaser.PointerMode.html b/docs/Phaser.PointerMode.html index a53ec4c75..3b357bdfe 100644 --- a/docs/Phaser.PointerMode.html +++ b/docs/Phaser.PointerMode.html @@ -6,7 +6,7 @@ Phaser CE Class: PointerMode - + @@ -184,7 +184,7 @@

Source:
- src/input/Pointer.js line 1282 + src/input/Pointer.js line 1282 @@ -278,7 +278,7 @@

Source:
- src/input/Pointer.js line 1297 + src/input/Pointer.js line 1297 @@ -346,7 +346,7 @@

Source:
- src/input/Pointer.js line 1291 + src/input/Pointer.js line 1291 @@ -379,9 +379,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -398,7 +398,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -427,7 +427,7 @@

- + diff --git a/docs/Phaser.Polygon.html b/docs/Phaser.Polygon.html index 7131737ee..3be30acba 100644 --- a/docs/Phaser.Polygon.html +++ b/docs/Phaser.Polygon.html @@ -6,7 +6,7 @@ Phaser CE Class: Polygon - + @@ -248,7 +248,7 @@

Parameters:
Source:
- src/geom/Polygon.js line 24 + src/geom/Polygon.js line 24 @@ -353,7 +353,7 @@
Type:
Source:
- src/geom/Polygon.js line 29 + src/geom/Polygon.js line 29 @@ -430,7 +430,7 @@
Type:
Source:
- src/geom/Polygon.js line 45 + src/geom/Polygon.js line 45 @@ -507,7 +507,7 @@
Type:
Source:
- src/geom/Polygon.js line 50 + src/geom/Polygon.js line 50 @@ -594,7 +594,7 @@
Type:
Source:
- src/geom/Polygon.js line 294 + src/geom/Polygon.js line 294 @@ -671,7 +671,7 @@
Type:
Source:
- src/geom/Polygon.js line 55 + src/geom/Polygon.js line 55 @@ -820,7 +820,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 109 + src/geom/Polygon.js line 109 @@ -1002,7 +1002,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 134 + src/geom/Polygon.js line 134 @@ -1112,7 +1112,7 @@

Source:
- src/geom/Polygon.js line 91 + src/geom/Polygon.js line 91 @@ -1290,7 +1290,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 186 + src/geom/Polygon.js line 186 @@ -1460,7 +1460,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 61 + src/geom/Polygon.js line 61 @@ -1527,9 +1527,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1546,7 +1546,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1575,7 +1575,7 @@
Returns:
- + diff --git a/docs/Phaser.QuadTree.html b/docs/Phaser.QuadTree.html index 747240b00..4e58846fd 100644 --- a/docs/Phaser.QuadTree.html +++ b/docs/Phaser.QuadTree.html @@ -6,7 +6,7 @@ Phaser CE Class: QuadTree - + @@ -476,7 +476,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 23 + src/math/QuadTree.js line 23 @@ -581,7 +581,7 @@
Type:
Source:
- src/math/QuadTree.js line 45 + src/math/QuadTree.js line 45 @@ -658,7 +658,7 @@
Type:
Source:
- src/math/QuadTree.js line 40 + src/math/QuadTree.js line 40 @@ -742,7 +742,7 @@
Type:
Source:
- src/math/QuadTree.js line 35 + src/math/QuadTree.js line 35 @@ -826,7 +826,7 @@
Type:
Source:
- src/math/QuadTree.js line 29 + src/math/QuadTree.js line 29 @@ -903,7 +903,7 @@
Type:
Source:
- src/math/QuadTree.js line 55 + src/math/QuadTree.js line 55 @@ -980,7 +980,7 @@
Type:
Source:
- src/math/QuadTree.js line 50 + src/math/QuadTree.js line 50 @@ -1058,7 +1058,7 @@

Source:
- src/math/QuadTree.js line 295 + src/math/QuadTree.js line 295 @@ -1195,7 +1195,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 203 + src/math/QuadTree.js line 203 @@ -1356,7 +1356,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 151 + src/math/QuadTree.js line 151 @@ -1490,7 +1490,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 103 + src/math/QuadTree.js line 103 @@ -1627,7 +1627,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 115 + src/math/QuadTree.js line 115 @@ -2005,7 +2005,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 69 + src/math/QuadTree.js line 69 @@ -2142,7 +2142,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 247 + src/math/QuadTree.js line 247 @@ -2252,7 +2252,7 @@

Source:
- src/math/QuadTree.js line 130 + src/math/QuadTree.js line 130 @@ -2295,9 +2295,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2314,7 +2314,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2343,7 +2343,7 @@

- + diff --git a/docs/Phaser.RandomDataGenerator.html b/docs/Phaser.RandomDataGenerator.html index bac420b2f..22e50c65d 100644 --- a/docs/Phaser.RandomDataGenerator.html +++ b/docs/Phaser.RandomDataGenerator.html @@ -6,7 +6,7 @@ Phaser CE Class: RandomDataGenerator - + @@ -252,7 +252,7 @@

Parameters:
Source:
- src/math/RandomDataGenerator.js line 23 + src/math/RandomDataGenerator.js line 23 @@ -354,7 +354,7 @@

Source:
- src/math/RandomDataGenerator.js line 310 + src/math/RandomDataGenerator.js line 310 @@ -537,7 +537,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 198 + src/math/RandomDataGenerator.js line 198 @@ -645,7 +645,7 @@

Source:
- src/math/RandomDataGenerator.js line 160 + src/math/RandomDataGenerator.js line 160 @@ -753,7 +753,7 @@

Source:
- src/math/RandomDataGenerator.js line 148 + src/math/RandomDataGenerator.js line 148 @@ -935,7 +935,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 184 + src/math/RandomDataGenerator.js line 184 @@ -1043,7 +1043,7 @@

Source:
- src/math/RandomDataGenerator.js line 227 + src/math/RandomDataGenerator.js line 227 @@ -1201,7 +1201,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 258 + src/math/RandomDataGenerator.js line 258 @@ -1309,7 +1309,7 @@

Source:
- src/math/RandomDataGenerator.js line 172 + src/math/RandomDataGenerator.js line 172 @@ -1491,7 +1491,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 213 + src/math/RandomDataGenerator.js line 213 @@ -1599,7 +1599,7 @@

Source:
- src/math/RandomDataGenerator.js line 271 + src/math/RandomDataGenerator.js line 271 @@ -1758,7 +1758,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 83 + src/math/RandomDataGenerator.js line 83 @@ -1911,7 +1911,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 322 + src/math/RandomDataGenerator.js line 322 @@ -2093,7 +2093,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 296 + src/math/RandomDataGenerator.js line 296 @@ -2201,7 +2201,7 @@

Source:
- src/math/RandomDataGenerator.js line 239 + src/math/RandomDataGenerator.js line 239 @@ -2359,7 +2359,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 283 + src/math/RandomDataGenerator.js line 283 @@ -2426,9 +2426,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2445,7 +2445,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2474,7 +2474,7 @@
Returns:
- + diff --git a/docs/Phaser.Rectangle.html b/docs/Phaser.Rectangle.html index 2d4f5268a..626b5dff5 100644 --- a/docs/Phaser.Rectangle.html +++ b/docs/Phaser.Rectangle.html @@ -6,7 +6,7 @@ Phaser CE Class: Rectangle - + @@ -303,7 +303,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 18 + src/geom/Rectangle.js line 18 @@ -408,7 +408,7 @@
Type:
Source:
- src/geom/Rectangle.js line 527 + src/geom/Rectangle.js line 527 @@ -485,7 +485,7 @@
Type:
Source:
- src/geom/Rectangle.js line 553 + src/geom/Rectangle.js line 553 @@ -562,7 +562,7 @@
Type:
Source:
- src/geom/Rectangle.js line 571 + src/geom/Rectangle.js line 571 @@ -639,7 +639,7 @@
Type:
Source:
- src/geom/Rectangle.js line 660 + src/geom/Rectangle.js line 660 @@ -716,7 +716,7 @@
Type:
Source:
- src/geom/Rectangle.js line 677 + src/geom/Rectangle.js line 677 @@ -794,7 +794,7 @@
Type:
Source:
- src/geom/Rectangle.js line 785 + src/geom/Rectangle.js line 785 @@ -871,7 +871,7 @@
Type:
Source:
- src/geom/Rectangle.js line 514 + src/geom/Rectangle.js line 514 @@ -948,7 +948,7 @@
Type:
Source:
- src/geom/Rectangle.js line 501 + src/geom/Rectangle.js line 501 @@ -1025,7 +1025,7 @@
Type:
Source:
- src/geom/Rectangle.js line 43 + src/geom/Rectangle.js line 43 @@ -1102,7 +1102,7 @@
Type:
Source:
- src/geom/Rectangle.js line 589 + src/geom/Rectangle.js line 589 @@ -1179,7 +1179,7 @@
Type:
Source:
- src/geom/Rectangle.js line 646 + src/geom/Rectangle.js line 646 @@ -1256,7 +1256,7 @@
Type:
Source:
- src/geom/Rectangle.js line 694 + src/geom/Rectangle.js line 694 @@ -1333,7 +1333,7 @@
Type:
Source:
- src/geom/Rectangle.js line 710 + src/geom/Rectangle.js line 710 @@ -1410,7 +1410,7 @@
Type:
Source:
- src/geom/Rectangle.js line 611 + src/geom/Rectangle.js line 611 @@ -1488,7 +1488,7 @@
Type:
Source:
- src/geom/Rectangle.js line 726 + src/geom/Rectangle.js line 726 @@ -1565,7 +1565,7 @@
Type:
Source:
- src/geom/Rectangle.js line 749 + src/geom/Rectangle.js line 749 @@ -1642,7 +1642,7 @@
Type:
Source:
- src/geom/Rectangle.js line 767 + src/geom/Rectangle.js line 767 @@ -1719,7 +1719,7 @@
Type:
Source:
- src/geom/Rectangle.js line 49 + src/geom/Rectangle.js line 49 @@ -1796,7 +1796,7 @@
Type:
Source:
- src/geom/Rectangle.js line 632 + src/geom/Rectangle.js line 632 @@ -1873,7 +1873,7 @@
Type:
Source:
- src/geom/Rectangle.js line 38 + src/geom/Rectangle.js line 38 @@ -1950,7 +1950,7 @@
Type:
Source:
- src/geom/Rectangle.js line 28 + src/geom/Rectangle.js line 28 @@ -2027,7 +2027,7 @@
Type:
Source:
- src/geom/Rectangle.js line 33 + src/geom/Rectangle.js line 33 @@ -2199,7 +2199,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 864 + src/geom/Rectangle.js line 864 @@ -2401,7 +2401,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 904 + src/geom/Rectangle.js line 904 @@ -2583,7 +2583,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 940 + src/geom/Rectangle.js line 940 @@ -2861,7 +2861,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 923 + src/geom/Rectangle.js line 923 @@ -3044,7 +3044,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 953 + src/geom/Rectangle.js line 953 @@ -3246,7 +3246,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 886 + src/geom/Rectangle.js line 886 @@ -3425,7 +3425,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 973 + src/geom/Rectangle.js line 973 @@ -3631,7 +3631,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 810 + src/geom/Rectangle.js line 810 @@ -3813,7 +3813,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 829 + src/geom/Rectangle.js line 829 @@ -4047,7 +4047,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1000 + src/geom/Rectangle.js line 1000 @@ -4230,7 +4230,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1027 + src/geom/Rectangle.js line 1027 @@ -4484,7 +4484,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1046 + src/geom/Rectangle.js line 1046 @@ -4666,7 +4666,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 987 + src/geom/Rectangle.js line 987 @@ -4868,7 +4868,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 842 + src/geom/Rectangle.js line 842 @@ -5102,7 +5102,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1064 + src/geom/Rectangle.js line 1064 @@ -5304,7 +5304,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1083 + src/geom/Rectangle.js line 1083 @@ -5412,7 +5412,7 @@

Source:
- src/geom/Rectangle.js line 163 + src/geom/Rectangle.js line 163 @@ -5496,7 +5496,7 @@

Source:
- src/geom/Rectangle.js line 174 + src/geom/Rectangle.js line 174 @@ -5654,7 +5654,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 122 + src/geom/Rectangle.js line 122 @@ -5824,7 +5824,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 271 + src/geom/Rectangle.js line 271 @@ -6002,7 +6002,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 283 + src/geom/Rectangle.js line 283 @@ -6161,7 +6161,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 296 + src/geom/Rectangle.js line 296 @@ -6319,7 +6319,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 187 + src/geom/Rectangle.js line 187 @@ -6477,7 +6477,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 199 + src/geom/Rectangle.js line 199 @@ -6635,7 +6635,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 211 + src/geom/Rectangle.js line 211 @@ -6794,7 +6794,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 309 + src/geom/Rectangle.js line 309 @@ -6902,7 +6902,7 @@

Source:
- src/geom/Rectangle.js line 139 + src/geom/Rectangle.js line 139 @@ -6986,7 +6986,7 @@

Source:
- src/geom/Rectangle.js line 150 + src/geom/Rectangle.js line 150 @@ -7172,7 +7172,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 398 + src/geom/Rectangle.js line 398 @@ -7354,7 +7354,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 228 + src/geom/Rectangle.js line 228 @@ -7536,7 +7536,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 322 + src/geom/Rectangle.js line 322 @@ -7695,7 +7695,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 335 + src/geom/Rectangle.js line 335 @@ -7949,7 +7949,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 349 + src/geom/Rectangle.js line 349 @@ -8131,7 +8131,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 55 + src/geom/Rectangle.js line 55 @@ -8289,7 +8289,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 71 + src/geom/Rectangle.js line 71 @@ -8463,7 +8463,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 379 + src/geom/Rectangle.js line 379 @@ -8646,7 +8646,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 253 + src/geom/Rectangle.js line 253 @@ -8848,7 +8848,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 103 + src/geom/Rectangle.js line 103 @@ -9078,7 +9078,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 83 + src/geom/Rectangle.js line 83 @@ -9350,7 +9350,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 451 + src/geom/Rectangle.js line 451 @@ -9522,7 +9522,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 241 + src/geom/Rectangle.js line 241 @@ -9630,7 +9630,7 @@

Source:
- src/geom/Rectangle.js line 488 + src/geom/Rectangle.js line 488 @@ -9832,7 +9832,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 366 + src/geom/Rectangle.js line 366 @@ -9899,9 +9899,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -9918,7 +9918,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -9947,7 +9947,7 @@
Returns:
- + diff --git a/docs/Phaser.RenderTexture.html b/docs/Phaser.RenderTexture.html index 474873395..c8e59b658 100644 --- a/docs/Phaser.RenderTexture.html +++ b/docs/Phaser.RenderTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: RenderTexture - + @@ -447,7 +447,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 21 + src/gameobjects/RenderTexture.js line 21 @@ -568,7 +568,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 66 + src/gameobjects/RenderTexture.js line 66 @@ -660,7 +660,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 134 + src/pixi/textures/Texture.js line 134 @@ -751,7 +751,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 60 + src/pixi/textures/Texture.js line 60 @@ -828,7 +828,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 34 + src/gameobjects/RenderTexture.js line 34 @@ -919,7 +919,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 125 + src/pixi/textures/Texture.js line 125 @@ -1005,7 +1005,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 84 + src/pixi/textures/Texture.js line 84 @@ -1082,7 +1082,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 39 + src/gameobjects/RenderTexture.js line 39 @@ -1168,7 +1168,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 33 + src/pixi/textures/Texture.js line 33 @@ -1248,7 +1248,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 84 + src/gameobjects/RenderTexture.js line 84 @@ -1334,7 +1334,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 100 + src/pixi/textures/Texture.js line 100 @@ -1420,7 +1420,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 92 + src/pixi/textures/Texture.js line 92 @@ -1508,7 +1508,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 144 + src/pixi/textures/Texture.js line 144 @@ -1594,7 +1594,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 68 + src/pixi/textures/Texture.js line 68 @@ -1671,7 +1671,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 44 + src/gameobjects/RenderTexture.js line 44 @@ -1749,7 +1749,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 107 + src/gameobjects/RenderTexture.js line 107 @@ -1840,7 +1840,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 117 + src/pixi/textures/Texture.js line 117 @@ -1918,7 +1918,7 @@

Source:
- src/gameobjects/RenderTexture.js line 258 + src/gameobjects/RenderTexture.js line 258 @@ -2061,7 +2061,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 174 + src/pixi/textures/Texture.js line 174 @@ -2228,7 +2228,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 286 + src/pixi/textures/Texture.js line 286 @@ -2332,7 +2332,7 @@

Source:
- src/gameobjects/RenderTexture.js line 399 + src/gameobjects/RenderTexture.js line 399 @@ -2440,7 +2440,7 @@

Source:
- src/gameobjects/RenderTexture.js line 411 + src/gameobjects/RenderTexture.js line 411 @@ -2548,7 +2548,7 @@

Source:
- src/gameobjects/RenderTexture.js line 384 + src/gameobjects/RenderTexture.js line 384 @@ -2813,7 +2813,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 178 + src/gameobjects/RenderTexture.js line 178 @@ -3089,7 +3089,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 150 + src/gameobjects/RenderTexture.js line 150 @@ -3365,7 +3365,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 118 + src/gameobjects/RenderTexture.js line 118 @@ -3547,7 +3547,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 215 + src/gameobjects/RenderTexture.js line 215 @@ -3690,7 +3690,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 187 + src/pixi/textures/Texture.js line 187 @@ -3733,9 +3733,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -3752,7 +3752,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -3781,7 +3781,7 @@
Parameters:
- + diff --git a/docs/Phaser.RequestAnimationFrame.html b/docs/Phaser.RequestAnimationFrame.html index a00094fbe..90fe6564c 100644 --- a/docs/Phaser.RequestAnimationFrame.html +++ b/docs/Phaser.RequestAnimationFrame.html @@ -6,7 +6,7 @@ Phaser CE Class: RequestAnimationFrame - + @@ -286,7 +286,7 @@
Parameters:
Source:
- src/utils/RequestAnimationFrame.js line 15 + src/utils/RequestAnimationFrame.js line 15 @@ -391,7 +391,7 @@
Type:
Source:
- src/utils/RequestAnimationFrame.js line 33 + src/utils/RequestAnimationFrame.js line 33 @@ -468,7 +468,7 @@
Type:
Source:
- src/utils/RequestAnimationFrame.js line 22 + src/utils/RequestAnimationFrame.js line 22 @@ -545,7 +545,7 @@
Type:
Source:
- src/utils/RequestAnimationFrame.js line 28 + src/utils/RequestAnimationFrame.js line 28 @@ -623,7 +623,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 162 + src/utils/RequestAnimationFrame.js line 162 @@ -727,7 +727,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 153 + src/utils/RequestAnimationFrame.js line 153 @@ -831,7 +831,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 70 + src/utils/RequestAnimationFrame.js line 70 @@ -915,7 +915,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 134 + src/utils/RequestAnimationFrame.js line 134 @@ -999,7 +999,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 103 + src/utils/RequestAnimationFrame.js line 103 @@ -1083,7 +1083,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 119 + src/utils/RequestAnimationFrame.js line 119 @@ -1126,9 +1126,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1145,7 +1145,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1174,7 +1174,7 @@

- + diff --git a/docs/Phaser.RetroFont.html b/docs/Phaser.RetroFont.html index 636b826f3..d0ccdb2a8 100644 --- a/docs/Phaser.RetroFont.html +++ b/docs/Phaser.RetroFont.html @@ -6,7 +6,7 @@ Phaser CE Class: RetroFont - + @@ -589,7 +589,7 @@

Parameters:
Source:
- src/gameobjects/RetroFont.js line 25 + src/gameobjects/RetroFont.js line 25 @@ -705,7 +705,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 196 + src/gameobjects/RetroFont.js line 196 @@ -782,7 +782,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 182 + src/gameobjects/RetroFont.js line 182 @@ -859,7 +859,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 189 + src/gameobjects/RetroFont.js line 189 @@ -936,7 +936,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 203 + src/gameobjects/RetroFont.js line 203 @@ -1013,7 +1013,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 210 + src/gameobjects/RetroFont.js line 210 @@ -1090,7 +1090,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 217 + src/gameobjects/RetroFont.js line 217 @@ -1167,7 +1167,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 224 + src/gameobjects/RetroFont.js line 224 @@ -1244,7 +1244,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 231 + src/gameobjects/RetroFont.js line 231 @@ -1321,7 +1321,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 238 + src/gameobjects/RetroFont.js line 238 @@ -1398,7 +1398,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 245 + src/gameobjects/RetroFont.js line 245 @@ -1475,7 +1475,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 252 + src/gameobjects/RetroFont.js line 252 @@ -1552,7 +1552,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 259 + src/gameobjects/RetroFont.js line 259 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 266 + src/gameobjects/RetroFont.js line 266 @@ -1706,7 +1706,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 273 + src/gameobjects/RetroFont.js line 273 @@ -1783,7 +1783,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 77 + src/gameobjects/RetroFont.js line 77 @@ -1867,7 +1867,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 89 + src/gameobjects/RetroFont.js line 89 @@ -1953,7 +1953,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 66 + src/gameobjects/RenderTexture.js line 66 @@ -2030,7 +2030,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 45 + src/gameobjects/RetroFont.js line 45 @@ -2107,7 +2107,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 60 + src/gameobjects/RetroFont.js line 60 @@ -2184,7 +2184,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 50 + src/gameobjects/RetroFont.js line 50 @@ -2261,7 +2261,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 55 + src/gameobjects/RetroFont.js line 55 @@ -2338,7 +2338,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 40 + src/gameobjects/RetroFont.js line 40 @@ -2425,7 +2425,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 134 + src/pixi/textures/Texture.js line 134 @@ -2502,7 +2502,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 95 + src/gameobjects/RetroFont.js line 95 @@ -2579,7 +2579,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 101 + src/gameobjects/RetroFont.js line 101 @@ -2657,7 +2657,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 108 + src/gameobjects/RetroFont.js line 108 @@ -2734,7 +2734,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 113 + src/gameobjects/RetroFont.js line 113 @@ -2820,7 +2820,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 60 + src/pixi/textures/Texture.js line 60 @@ -2897,7 +2897,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 130 + src/gameobjects/RetroFont.js line 130 @@ -2983,7 +2983,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 34 + src/gameobjects/RenderTexture.js line 34 @@ -3069,7 +3069,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 125 + src/pixi/textures/Texture.js line 125 @@ -3155,7 +3155,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 84 + src/pixi/textures/Texture.js line 84 @@ -3241,7 +3241,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 39 + src/gameobjects/RenderTexture.js line 39 @@ -3318,7 +3318,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 83 + src/gameobjects/RetroFont.js line 83 @@ -3404,7 +3404,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 33 + src/pixi/textures/Texture.js line 33 @@ -3481,7 +3481,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 66 + src/gameobjects/RetroFont.js line 66 @@ -3558,7 +3558,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 72 + src/gameobjects/RetroFont.js line 72 @@ -3647,7 +3647,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 84 + src/gameobjects/RenderTexture.js line 84 @@ -3738,7 +3738,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 100 + src/pixi/textures/Texture.js line 100 @@ -3824,7 +3824,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 92 + src/pixi/textures/Texture.js line 92 @@ -3912,7 +3912,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 144 + src/pixi/textures/Texture.js line 144 @@ -3989,7 +3989,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 585 + src/gameobjects/RetroFont.js line 585 @@ -4066,7 +4066,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 163 + src/gameobjects/RetroFont.js line 163 @@ -4143,7 +4143,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 547 + src/gameobjects/RetroFont.js line 547 @@ -4229,7 +4229,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 68 + src/pixi/textures/Texture.js line 68 @@ -4311,7 +4311,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 170 + src/gameobjects/RetroFont.js line 170 @@ -4393,7 +4393,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 107 + src/gameobjects/RenderTexture.js line 107 @@ -4479,7 +4479,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 117 + src/pixi/textures/Texture.js line 117 @@ -4557,7 +4557,7 @@

Source:
- src/gameobjects/RetroFont.js line 328 + src/gameobjects/RetroFont.js line 328 @@ -4650,7 +4650,7 @@

Source:
- src/gameobjects/RenderTexture.js line 258 + src/gameobjects/RenderTexture.js line 258 @@ -4793,7 +4793,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 174 + src/pixi/textures/Texture.js line 174 @@ -4960,7 +4960,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 286 + src/pixi/textures/Texture.js line 286 @@ -5073,7 +5073,7 @@

Source:
- src/gameobjects/RenderTexture.js line 399 + src/gameobjects/RenderTexture.js line 399 @@ -5190,7 +5190,7 @@

Source:
- src/gameobjects/RenderTexture.js line 411 + src/gameobjects/RenderTexture.js line 411 @@ -5307,7 +5307,7 @@

Source:
- src/gameobjects/RenderTexture.js line 384 + src/gameobjects/RenderTexture.js line 384 @@ -5411,7 +5411,7 @@

Source:
- src/gameobjects/RetroFont.js line 459 + src/gameobjects/RetroFont.js line 459 @@ -5642,7 +5642,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 420 + src/gameobjects/RetroFont.js line 420 @@ -5796,7 +5796,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 486 + src/gameobjects/RetroFont.js line 486 @@ -6074,7 +6074,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 178 + src/gameobjects/RenderTexture.js line 178 @@ -6359,7 +6359,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 150 + src/gameobjects/RenderTexture.js line 150 @@ -6644,7 +6644,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 118 + src/gameobjects/RenderTexture.js line 118 @@ -6835,7 +6835,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 215 + src/gameobjects/RenderTexture.js line 215 @@ -7026,7 +7026,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 275 + src/gameobjects/RetroFont.js line 275 @@ -7169,7 +7169,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 187 + src/pixi/textures/Texture.js line 187 @@ -7519,7 +7519,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 293 + src/gameobjects/RetroFont.js line 293 @@ -7715,7 +7715,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 514 + src/gameobjects/RetroFont.js line 514 @@ -7758,9 +7758,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -7777,7 +7777,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -7806,7 +7806,7 @@
Parameters:
- + diff --git a/docs/Phaser.Rope.html b/docs/Phaser.Rope.html index baebf1d26..72198302d 100644 --- a/docs/Phaser.Rope.html +++ b/docs/Phaser.Rope.html @@ -6,7 +6,7 @@ Phaser CE Class: Rope - + @@ -364,7 +364,7 @@
Parameters:
Source:
- src/gameobjects/Rope.js line 44 + src/gameobjects/Rope.js line 44 @@ -536,7 +536,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -632,7 +632,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -723,7 +723,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -810,7 +810,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -907,7 +907,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1010,7 +1010,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 93 + src/gameobjects/components/PhysicsBody.js line 93 @@ -1097,7 +1097,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1190,7 +1190,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1277,7 +1277,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1354,7 +1354,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 104 + src/gameobjects/Rope.js line 104 @@ -1441,7 +1441,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1528,7 +1528,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1620,7 +1620,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 98 + src/gameobjects/components/InWorld.js line 98 @@ -1706,7 +1706,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1792,7 +1792,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1880,7 +1880,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -1976,7 +1976,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2062,7 +2062,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2149,7 +2149,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2236,7 +2236,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -2322,7 +2322,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -2409,7 +2409,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2486,7 +2486,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 96 + src/gameobjects/Rope.js line 96 @@ -2573,7 +2573,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2671,7 +2671,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -2757,7 +2757,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2848,7 +2848,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2941,7 +2941,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -3032,7 +3032,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3123,7 +3123,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3210,7 +3210,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3296,7 +3296,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3392,7 +3392,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3480,7 +3480,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3567,7 +3567,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3653,7 +3653,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 129 + src/gameobjects/components/InWorld.js line 129 @@ -3755,7 +3755,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3842,7 +3842,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -3932,7 +3932,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -4021,7 +4021,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4108,7 +4108,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4196,7 +4196,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4284,7 +4284,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4370,7 +4370,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 106 + src/gameobjects/components/InWorld.js line 106 @@ -4457,7 +4457,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 115 + src/gameobjects/components/InWorld.js line 115 @@ -4546,7 +4546,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4635,7 +4635,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4722,7 +4722,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4810,7 +4810,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4896,7 +4896,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -4982,7 +4982,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5069,7 +5069,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -5156,7 +5156,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5243,7 +5243,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5332,7 +5332,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5421,7 +5421,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5509,7 +5509,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -5597,7 +5597,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -5716,7 +5716,7 @@
Properties:
Source:
- src/gameobjects/Rope.js line 806 + src/gameobjects/Rope.js line 806 @@ -5804,7 +5804,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -5891,7 +5891,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -5977,7 +5977,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -6063,7 +6063,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6140,7 +6140,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 59 + src/gameobjects/Rope.js line 59 @@ -6217,7 +6217,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 775 + src/gameobjects/Rope.js line 775 @@ -6315,7 +6315,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -6403,7 +6403,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -6495,7 +6495,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -6586,7 +6586,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -6677,7 +6677,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -6768,7 +6768,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -6859,7 +6859,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -6945,7 +6945,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -7037,7 +7037,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -7129,7 +7129,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -7218,7 +7218,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -7355,7 +7355,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7546,7 +7546,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7889,7 +7889,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -8233,7 +8233,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8353,7 +8353,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -8520,7 +8520,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -8746,7 +8746,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -8846,7 +8846,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -9091,7 +9091,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -9280,7 +9280,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -9447,7 +9447,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -9614,7 +9614,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -9731,7 +9731,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -9852,7 +9852,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -10137,7 +10137,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -10233,7 +10233,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -10353,7 +10353,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -10536,7 +10536,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -10842,7 +10842,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -10959,7 +10959,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -11048,7 +11048,7 @@

Source:
- src/gameobjects/Rope.js line 145 + src/gameobjects/Rope.js line 145 @@ -11141,7 +11141,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -11284,7 +11284,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -11451,7 +11451,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -11642,7 +11642,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -11807,7 +11807,7 @@
Parameters:
Source:
- src/gameobjects/Rope.js line 177 + src/gameobjects/Rope.js line 177 @@ -11924,7 +11924,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -12117,7 +12117,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -12282,7 +12282,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -12402,7 +12402,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -12593,7 +12593,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -12737,7 +12737,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -12974,7 +12974,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -13141,7 +13141,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -13284,7 +13284,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -13497,7 +13497,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -13612,7 +13612,7 @@

Source:
- src/gameobjects/Rope.js line 162 + src/gameobjects/Rope.js line 162 @@ -13705,7 +13705,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -13825,7 +13825,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -13993,7 +13993,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -14062,9 +14062,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -14081,7 +14081,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -14110,7 +14110,7 @@
Returns:
- + diff --git a/docs/Phaser.RoundedRectangle.html b/docs/Phaser.RoundedRectangle.html index 997416535..756d9b4f0 100644 --- a/docs/Phaser.RoundedRectangle.html +++ b/docs/Phaser.RoundedRectangle.html @@ -6,7 +6,7 @@ Phaser CE Class: RoundedRectangle - + @@ -411,7 +411,7 @@
Parameters:
Source:
- src/geom/RoundedRectangle.js line 20 + src/geom/RoundedRectangle.js line 20 @@ -516,7 +516,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 46 + src/geom/RoundedRectangle.js line 46 @@ -593,7 +593,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 51 + src/geom/RoundedRectangle.js line 51 @@ -670,7 +670,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 57 + src/geom/RoundedRectangle.js line 57 @@ -747,7 +747,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 41 + src/geom/RoundedRectangle.js line 41 @@ -824,7 +824,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 31 + src/geom/RoundedRectangle.js line 31 @@ -901,7 +901,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 36 + src/geom/RoundedRectangle.js line 36 @@ -980,7 +980,7 @@

Source:
- src/geom/RoundedRectangle.js line 62 + src/geom/RoundedRectangle.js line 62 @@ -1158,7 +1158,7 @@
Parameters:
Source:
- src/geom/RoundedRectangle.js line 75 + src/geom/RoundedRectangle.js line 75 @@ -1225,9 +1225,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1244,7 +1244,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1273,7 +1273,7 @@
Returns:
- + diff --git a/docs/Phaser.ScaleManager.html b/docs/Phaser.ScaleManager.html index 14cab7a85..65e667e6d 100644 --- a/docs/Phaser.ScaleManager.html +++ b/docs/Phaser.ScaleManager.html @@ -6,7 +6,7 @@ Phaser CE Class: ScaleManager - + @@ -321,7 +321,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 68 + src/core/ScaleManager.js line 68 @@ -426,7 +426,7 @@
Type:
Source:
- src/core/ScaleManager.js line 632 + src/core/ScaleManager.js line 632 @@ -503,7 +503,7 @@
Type:
Source:
- src/core/ScaleManager.js line 640 + src/core/ScaleManager.js line 640 @@ -580,7 +580,7 @@
Type:
Source:
- src/core/ScaleManager.js line 656 + src/core/ScaleManager.js line 656 @@ -657,7 +657,7 @@
Type:
Source:
- src/core/ScaleManager.js line 648 + src/core/ScaleManager.js line 648 @@ -734,7 +734,7 @@
Type:
Source:
- src/core/ScaleManager.js line 664 + src/core/ScaleManager.js line 664 @@ -811,7 +811,7 @@
Type:
Source:
- src/core/ScaleManager.js line 371 + src/core/ScaleManager.js line 371 @@ -890,7 +890,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2169 + src/core/ScaleManager.js line 2169 @@ -967,7 +967,7 @@
Type:
Source:
- src/core/ScaleManager.js line 364 + src/core/ScaleManager.js line 364 @@ -1340,7 +1340,7 @@
Properties:
Source:
- src/core/ScaleManager.js line 432 + src/core/ScaleManager.js line 432 @@ -1418,7 +1418,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2302 + src/core/ScaleManager.js line 2302 @@ -1495,7 +1495,7 @@
Type:
Source:
- src/core/ScaleManager.js line 84 + src/core/ScaleManager.js line 84 @@ -1573,7 +1573,7 @@
Type:
Source:
- src/core/ScaleManager.js line 233 + src/core/ScaleManager.js line 233 @@ -1651,7 +1651,7 @@
Type:
Source:
- src/core/ScaleManager.js line 162 + src/core/ScaleManager.js line 162 @@ -1729,7 +1729,7 @@
Type:
Source:
- src/core/ScaleManager.js line 172 + src/core/ScaleManager.js line 172 @@ -1807,7 +1807,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2261 + src/core/ScaleManager.js line 2261 @@ -1889,7 +1889,7 @@
Type:
Source:
- src/core/ScaleManager.js line 270 + src/core/ScaleManager.js line 270 @@ -1966,7 +1966,7 @@
Type:
Source:
- src/core/ScaleManager.js line 76 + src/core/ScaleManager.js line 76 @@ -2043,7 +2043,7 @@
Type:
Source:
- src/core/ScaleManager.js line 91 + src/core/ScaleManager.js line 91 @@ -2123,7 +2123,7 @@
Type:
Source:
- src/core/ScaleManager.js line 255 + src/core/ScaleManager.js line 255 @@ -2200,7 +2200,7 @@
Type:
Source:
- src/core/ScaleManager.js line 105 + src/core/ScaleManager.js line 105 @@ -2278,7 +2278,7 @@
Type:
Source:
- src/core/ScaleManager.js line 183 + src/core/ScaleManager.js line 183 @@ -2355,7 +2355,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2393 + src/core/ScaleManager.js line 2393 @@ -2435,7 +2435,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2458 + src/core/ScaleManager.js line 2458 @@ -2515,7 +2515,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2440 + src/core/ScaleManager.js line 2440 @@ -2592,7 +2592,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2425 + src/core/ScaleManager.js line 2425 @@ -2669,7 +2669,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2410 + src/core/ScaleManager.js line 2410 @@ -2747,7 +2747,7 @@
Type:
Source:
- src/core/ScaleManager.js line 243 + src/core/ScaleManager.js line 243 @@ -2824,7 +2824,7 @@
Type:
Source:
- src/core/ScaleManager.js line 357 + src/core/ScaleManager.js line 357 @@ -2903,7 +2903,7 @@
Type:
Source:
- src/core/ScaleManager.js line 143 + src/core/ScaleManager.js line 143 @@ -2982,7 +2982,7 @@
Type:
Source:
- src/core/ScaleManager.js line 124 + src/core/ScaleManager.js line 124 @@ -3060,7 +3060,7 @@
Type:
Source:
- src/core/ScaleManager.js line 133 + src/core/ScaleManager.js line 133 @@ -3138,7 +3138,7 @@
Type:
Source:
- src/core/ScaleManager.js line 114 + src/core/ScaleManager.js line 114 @@ -3216,7 +3216,7 @@
Type:
Source:
- src/core/ScaleManager.js line 152 + src/core/ScaleManager.js line 152 @@ -3295,7 +3295,7 @@
Type:
Source:
- src/core/ScaleManager.js line 312 + src/core/ScaleManager.js line 312 @@ -3374,7 +3374,7 @@
Type:
Source:
- src/core/ScaleManager.js line 323 + src/core/ScaleManager.js line 323 @@ -3463,7 +3463,7 @@
Type:
Source:
- src/core/ScaleManager.js line 301 + src/core/ScaleManager.js line 301 @@ -3554,7 +3554,7 @@
Type:
Source:
- src/core/ScaleManager.js line 223 + src/core/ScaleManager.js line 223 @@ -3638,7 +3638,7 @@
Type:
Source:
- src/core/ScaleManager.js line 510 + src/core/ScaleManager.js line 510 @@ -3725,7 +3725,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2322 + src/core/ScaleManager.js line 2322 @@ -3817,7 +3817,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2354 + src/core/ScaleManager.js line 2354 @@ -3896,7 +3896,7 @@
Type:
Source:
- src/core/ScaleManager.js line 464 + src/core/ScaleManager.js line 464 @@ -3975,7 +3975,7 @@
Type:
Source:
- src/core/ScaleManager.js line 474 + src/core/ScaleManager.js line 474 @@ -4052,7 +4052,7 @@
Type:
Source:
- src/core/ScaleManager.js line 481 + src/core/ScaleManager.js line 481 @@ -4129,7 +4129,7 @@
Type:
Source:
- src/core/ScaleManager.js line 340 + src/core/ScaleManager.js line 340 @@ -4206,7 +4206,7 @@
Type:
Source:
- src/core/ScaleManager.js line 348 + src/core/ScaleManager.js line 348 @@ -4313,7 +4313,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2197 + src/core/ScaleManager.js line 2197 @@ -4391,7 +4391,7 @@
Type:
Source:
- src/core/ScaleManager.js line 333 + src/core/ScaleManager.js line 333 @@ -4468,7 +4468,7 @@
Type:
Source:
- src/core/ScaleManager.js line 378 + src/core/ScaleManager.js line 378 @@ -4553,7 +4553,7 @@
Type:
Source:
- src/core/ScaleManager.js line 492 + src/core/ScaleManager.js line 492 @@ -4637,7 +4637,7 @@
Type:
Source:
- src/core/ScaleManager.js line 98 + src/core/ScaleManager.js line 98 @@ -4793,7 +4793,7 @@
Properties:
Source:
- src/core/ScaleManager.js line 401 + src/core/ScaleManager.js line 401 @@ -4967,7 +4967,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1513 + src/core/ScaleManager.js line 1513 @@ -5051,7 +5051,7 @@

Source:
- src/core/ScaleManager.js line 668 + src/core/ScaleManager.js line 668 @@ -5137,7 +5137,7 @@

Source:
- src/core/ScaleManager.js line 1796 + src/core/ScaleManager.js line 1796 @@ -5222,7 +5222,7 @@

Source:
- src/core/ScaleManager.js line 2136 + src/core/ScaleManager.js line 2136 @@ -5416,7 +5416,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1203 + src/core/ScaleManager.js line 1203 @@ -5575,7 +5575,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1454 + src/core/ScaleManager.js line 1454 @@ -5733,7 +5733,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 771 + src/core/ScaleManager.js line 771 @@ -5817,7 +5817,7 @@

Source:
- src/core/ScaleManager.js line 1068 + src/core/ScaleManager.js line 1068 @@ -5913,7 +5913,7 @@

Source:
- src/core/ScaleManager.js line 1347 + src/core/ScaleManager.js line 1347 @@ -6186,7 +6186,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 2066 + src/core/ScaleManager.js line 2066 @@ -6379,7 +6379,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 904 + src/core/ScaleManager.js line 904 @@ -6628,7 +6628,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1036 + src/core/ScaleManager.js line 1036 @@ -6808,7 +6808,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 965 + src/core/ScaleManager.js line 965 @@ -6973,7 +6973,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 804 + src/core/ScaleManager.js line 804 @@ -7322,7 +7322,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 932 + src/core/ScaleManager.js line 932 @@ -7514,7 +7514,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1817 + src/core/ScaleManager.js line 1817 @@ -7622,7 +7622,7 @@

Source:
- src/core/ScaleManager.js line 1920 + src/core/ScaleManager.js line 1920 @@ -7689,9 +7689,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -7708,7 +7708,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -7737,7 +7737,7 @@
Returns:
- + diff --git a/docs/Phaser.Signal.html b/docs/Phaser.Signal.html index a9ce5a65d..0646d6bc3 100644 --- a/docs/Phaser.Signal.html +++ b/docs/Phaser.Signal.html @@ -6,7 +6,7 @@ Phaser CE Class: Signal - + @@ -210,7 +210,7 @@

Source:
- src/core/Signal.js line 64 + src/core/Signal.js line 64 @@ -323,7 +323,7 @@
Type:
Source:
- src/core/Signal.js line 104 + src/core/Signal.js line 104 @@ -402,7 +402,7 @@
Type:
Source:
- src/core/Signal.js line 88 + src/core/Signal.js line 88 @@ -673,7 +673,7 @@
Parameters:
Source:
- src/core/Signal.js line 236 + src/core/Signal.js line 236 @@ -967,7 +967,7 @@
Parameters:
Source:
- src/core/Signal.js line 280 + src/core/Signal.js line 280 @@ -1138,7 +1138,7 @@
Parameters:
Source:
- src/core/Signal.js line 401 + src/core/Signal.js line 401 @@ -1224,7 +1224,7 @@

Source:
- src/core/Signal.js line 457 + src/core/Signal.js line 457 @@ -1308,7 +1308,7 @@

Source:
- src/core/Signal.js line 443 + src/core/Signal.js line 443 @@ -1392,7 +1392,7 @@

Source:
- src/core/Signal.js line 375 + src/core/Signal.js line 375 @@ -1502,7 +1502,7 @@

Source:
- src/core/Signal.js line 387 + src/core/Signal.js line 387 @@ -1680,7 +1680,7 @@
Parameters:
Source:
- src/core/Signal.js line 222 + src/core/Signal.js line 222 @@ -1894,7 +1894,7 @@
Parameters:
Source:
- src/core/Signal.js line 311 + src/core/Signal.js line 311 @@ -2072,7 +2072,7 @@
Parameters:
Source:
- src/core/Signal.js line 335 + src/core/Signal.js line 335 @@ -2156,7 +2156,7 @@

Source:
- src/core/Signal.js line 477 + src/core/Signal.js line 477 @@ -2223,9 +2223,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2242,7 +2242,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2271,7 +2271,7 @@
Returns:
- + diff --git a/docs/Phaser.SignalBinding.html b/docs/Phaser.SignalBinding.html index f50d86eeb..b85df009a 100644 --- a/docs/Phaser.SignalBinding.html +++ b/docs/Phaser.SignalBinding.html @@ -6,7 +6,7 @@ Phaser CE Class: SignalBinding - + @@ -440,7 +440,7 @@
Parameters:
Source:
- src/core/SignalBinding.js line 22 + src/core/SignalBinding.js line 22 @@ -552,7 +552,7 @@
Type:
Source:
- src/core/SignalBinding.js line 93 + src/core/SignalBinding.js line 93 @@ -629,7 +629,7 @@
Type:
Source:
- src/core/SignalBinding.js line 86 + src/core/SignalBinding.js line 86 @@ -706,7 +706,7 @@
Type:
Source:
- src/core/SignalBinding.js line 63 + src/core/SignalBinding.js line 63 @@ -786,7 +786,7 @@
Type:
Source:
- src/core/SignalBinding.js line 100 + src/core/SignalBinding.js line 100 @@ -865,7 +865,7 @@

Source:
- src/core/SignalBinding.js line 136 + src/core/SignalBinding.js line 136 @@ -1039,7 +1039,7 @@
Parameters:
Source:
- src/core/SignalBinding.js line 102 + src/core/SignalBinding.js line 102 @@ -1143,7 +1143,7 @@

Source:
- src/core/SignalBinding.js line 162 + src/core/SignalBinding.js line 162 @@ -1247,7 +1247,7 @@

Source:
- src/core/SignalBinding.js line 170 + src/core/SignalBinding.js line 170 @@ -1351,7 +1351,7 @@

Source:
- src/core/SignalBinding.js line 146 + src/core/SignalBinding.js line 146 @@ -1455,7 +1455,7 @@

Source:
- src/core/SignalBinding.js line 154 + src/core/SignalBinding.js line 154 @@ -1559,7 +1559,7 @@

Source:
- src/core/SignalBinding.js line 189 + src/core/SignalBinding.js line 189 @@ -1626,9 +1626,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1645,7 +1645,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1674,7 +1674,7 @@
Returns:
- + diff --git a/docs/Phaser.SinglePad.html b/docs/Phaser.SinglePad.html index 4ca8f1267..c85ea1235 100644 --- a/docs/Phaser.SinglePad.html +++ b/docs/Phaser.SinglePad.html @@ -6,7 +6,7 @@ Phaser CE Class: SinglePad - + @@ -254,7 +254,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 16 + src/input/SinglePad.js line 16 @@ -359,7 +359,7 @@
Type:
Source:
- src/input/SinglePad.js line 38 + src/input/SinglePad.js line 38 @@ -436,7 +436,7 @@
Type:
Source:
- src/input/SinglePad.js line 33 + src/input/SinglePad.js line 33 @@ -513,7 +513,7 @@
Type:
Source:
- src/input/SinglePad.js line 73 + src/input/SinglePad.js line 73 @@ -590,7 +590,7 @@
Type:
Source:
- src/input/SinglePad.js line 21 + src/input/SinglePad.js line 21 @@ -667,7 +667,7 @@
Type:
Source:
- src/input/SinglePad.js line 27 + src/input/SinglePad.js line 27 @@ -744,7 +744,7 @@
Type:
Source:
- src/input/SinglePad.js line 63 + src/input/SinglePad.js line 63 @@ -821,7 +821,7 @@
Type:
Source:
- src/input/SinglePad.js line 43 + src/input/SinglePad.js line 43 @@ -898,7 +898,7 @@
Type:
Source:
- src/input/SinglePad.js line 48 + src/input/SinglePad.js line 48 @@ -975,7 +975,7 @@
Type:
Source:
- src/input/SinglePad.js line 53 + src/input/SinglePad.js line 53 @@ -1052,7 +1052,7 @@
Type:
Source:
- src/input/SinglePad.js line 68 + src/input/SinglePad.js line 68 @@ -1129,7 +1129,7 @@
Type:
Source:
- src/input/SinglePad.js line 58 + src/input/SinglePad.js line 58 @@ -1282,7 +1282,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 121 + src/input/SinglePad.js line 121 @@ -1416,7 +1416,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 432 + src/input/SinglePad.js line 432 @@ -1575,7 +1575,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 520 + src/input/SinglePad.js line 520 @@ -1733,7 +1733,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 216 + src/input/SinglePad.js line 216 @@ -1817,7 +1817,7 @@

Source:
- src/input/SinglePad.js line 298 + src/input/SinglePad.js line 298 @@ -1901,7 +1901,7 @@

Source:
- src/input/SinglePad.js line 260 + src/input/SinglePad.js line 260 @@ -2036,7 +2036,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 144 + src/input/SinglePad.js line 144 @@ -2194,7 +2194,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 450 + src/input/SinglePad.js line 450 @@ -2352,7 +2352,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 468 + src/input/SinglePad.js line 468 @@ -2566,7 +2566,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 503 + src/input/SinglePad.js line 503 @@ -2780,7 +2780,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 486 + src/input/SinglePad.js line 486 @@ -2888,7 +2888,7 @@

Source:
- src/input/SinglePad.js line 165 + src/input/SinglePad.js line 165 @@ -3022,7 +3022,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 327 + src/input/SinglePad.js line 327 @@ -3180,7 +3180,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 354 + src/input/SinglePad.js line 354 @@ -3338,7 +3338,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 406 + src/input/SinglePad.js line 406 @@ -3496,7 +3496,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 380 + src/input/SinglePad.js line 380 @@ -3580,7 +3580,7 @@

Source:
- src/input/SinglePad.js line 539 + src/input/SinglePad.js line 539 @@ -3623,9 +3623,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -3642,7 +3642,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -3671,7 +3671,7 @@

- + diff --git a/docs/Phaser.Sound.html b/docs/Phaser.Sound.html index db398b50f..f8484b7dc 100644 --- a/docs/Phaser.Sound.html +++ b/docs/Phaser.Sound.html @@ -6,7 +6,7 @@ Phaser CE Class: Sound - + @@ -362,7 +362,7 @@

Parameters:
Source:
- src/sound/Sound.js line 17 + src/sound/Sound.js line 17 @@ -467,7 +467,7 @@
Type:
Source:
- src/sound/Sound.js line 144 + src/sound/Sound.js line 144 @@ -544,7 +544,7 @@
Type:
Source:
- src/sound/Sound.js line 57 + src/sound/Sound.js line 57 @@ -621,7 +621,7 @@
Type:
Source:
- src/sound/Sound.js line 52 + src/sound/Sound.js line 52 @@ -698,7 +698,7 @@
Type:
Source:
- src/sound/Sound.js line 121 + src/sound/Sound.js line 121 @@ -775,7 +775,7 @@
Type:
Source:
- src/sound/Sound.js line 73 + src/sound/Sound.js line 73 @@ -852,7 +852,7 @@
Type:
Source:
- src/sound/Sound.js line 78 + src/sound/Sound.js line 78 @@ -929,7 +929,7 @@
Type:
Source:
- src/sound/Sound.js line 83 + src/sound/Sound.js line 83 @@ -1006,7 +1006,7 @@
Type:
Source:
- src/sound/Sound.js line 160 + src/sound/Sound.js line 160 @@ -1083,7 +1083,7 @@
Type:
Source:
- src/sound/Sound.js line 126 + src/sound/Sound.js line 126 @@ -1160,7 +1160,7 @@
Type:
Source:
- src/sound/Sound.js line 170 + src/sound/Sound.js line 170 @@ -1237,7 +1237,7 @@
Type:
Source:
- src/sound/Sound.js line 27 + src/sound/Sound.js line 27 @@ -1314,7 +1314,7 @@
Type:
Source:
- src/sound/Sound.js line 1142 + src/sound/Sound.js line 1142 @@ -1391,7 +1391,7 @@
Type:
Source:
- src/sound/Sound.js line 1129 + src/sound/Sound.js line 1129 @@ -1468,7 +1468,7 @@
Type:
Source:
- src/sound/Sound.js line 115 + src/sound/Sound.js line 115 @@ -1545,7 +1545,7 @@
Type:
Source:
- src/sound/Sound.js line 37 + src/sound/Sound.js line 37 @@ -1622,7 +1622,7 @@
Type:
Source:
- src/sound/Sound.js line 42 + src/sound/Sound.js line 42 @@ -1699,7 +1699,7 @@
Type:
Source:
- src/sound/Sound.js line 47 + src/sound/Sound.js line 47 @@ -1776,7 +1776,7 @@
Type:
Source:
- src/sound/Sound.js line 165 + src/sound/Sound.js line 165 @@ -1853,7 +1853,7 @@
Type:
Source:
- src/sound/Sound.js line 1155 + src/sound/Sound.js line 1155 @@ -1930,7 +1930,7 @@
Type:
Source:
- src/sound/Sound.js line 32 + src/sound/Sound.js line 32 @@ -2007,7 +2007,7 @@
Type:
Source:
- src/sound/Sound.js line 240 + src/sound/Sound.js line 240 @@ -2084,7 +2084,7 @@
Type:
Source:
- src/sound/Sound.js line 280 + src/sound/Sound.js line 280 @@ -2161,7 +2161,7 @@
Type:
Source:
- src/sound/Sound.js line 260 + src/sound/Sound.js line 260 @@ -2238,7 +2238,7 @@
Type:
Source:
- src/sound/Sound.js line 275 + src/sound/Sound.js line 275 @@ -2315,7 +2315,7 @@
Type:
Source:
- src/sound/Sound.js line 270 + src/sound/Sound.js line 270 @@ -2392,7 +2392,7 @@
Type:
Source:
- src/sound/Sound.js line 250 + src/sound/Sound.js line 250 @@ -2469,7 +2469,7 @@
Type:
Source:
- src/sound/Sound.js line 245 + src/sound/Sound.js line 245 @@ -2546,7 +2546,7 @@
Type:
Source:
- src/sound/Sound.js line 255 + src/sound/Sound.js line 255 @@ -2623,7 +2623,7 @@
Type:
Source:
- src/sound/Sound.js line 265 + src/sound/Sound.js line 265 @@ -2700,7 +2700,7 @@
Type:
Source:
- src/sound/Sound.js line 138 + src/sound/Sound.js line 138 @@ -2777,7 +2777,7 @@
Type:
Source:
- src/sound/Sound.js line 99 + src/sound/Sound.js line 99 @@ -2854,7 +2854,7 @@
Type:
Source:
- src/sound/Sound.js line 104 + src/sound/Sound.js line 104 @@ -2931,7 +2931,7 @@
Type:
Source:
- src/sound/Sound.js line 109 + src/sound/Sound.js line 109 @@ -3008,7 +3008,7 @@
Type:
Source:
- src/sound/Sound.js line 132 + src/sound/Sound.js line 132 @@ -3085,7 +3085,7 @@
Type:
Source:
- src/sound/Sound.js line 88 + src/sound/Sound.js line 88 @@ -3162,7 +3162,7 @@
Type:
Source:
- src/sound/Sound.js line 68 + src/sound/Sound.js line 68 @@ -3239,7 +3239,7 @@
Type:
Source:
- src/sound/Sound.js line 93 + src/sound/Sound.js line 93 @@ -3316,7 +3316,7 @@
Type:
Source:
- src/sound/Sound.js line 62 + src/sound/Sound.js line 62 @@ -3393,7 +3393,7 @@
Type:
Source:
- src/sound/Sound.js line 155 + src/sound/Sound.js line 155 @@ -3470,7 +3470,7 @@
Type:
Source:
- src/sound/Sound.js line 150 + src/sound/Sound.js line 150 @@ -3547,7 +3547,7 @@
Type:
Source:
- src/sound/Sound.js line 1210 + src/sound/Sound.js line 1210 @@ -3848,7 +3848,7 @@
Parameters:
Source:
- src/sound/Sound.js line 368 + src/sound/Sound.js line 368 @@ -4002,7 +4002,7 @@
Parameters:
Source:
- src/sound/Sound.js line 1089 + src/sound/Sound.js line 1089 @@ -4239,7 +4239,7 @@
Parameters:
Source:
- src/sound/Sound.js line 977 + src/sound/Sound.js line 977 @@ -4395,7 +4395,7 @@
Parameters:
Source:
- src/sound/Sound.js line 1005 + src/sound/Sound.js line 1005 @@ -4589,7 +4589,7 @@
Parameters:
Source:
- src/sound/Sound.js line 1019 + src/sound/Sound.js line 1019 @@ -4743,7 +4743,7 @@
Parameters:
Source:
- src/sound/Sound.js line 544 + src/sound/Sound.js line 544 @@ -4852,7 +4852,7 @@

Source:
- src/sound/Sound.js line 408 + src/sound/Sound.js line 408 @@ -4936,7 +4936,7 @@

Source:
- src/sound/Sound.js line 815 + src/sound/Sound.js line 815 @@ -5250,7 +5250,7 @@
Parameters:
Source:
- src/sound/Sound.js line 557 + src/sound/Sound.js line 557 @@ -5408,7 +5408,7 @@
Parameters:
Source:
- src/sound/Sound.js line 397 + src/sound/Sound.js line 397 @@ -5682,7 +5682,7 @@
Parameters:
Source:
- src/sound/Sound.js line 795 + src/sound/Sound.js line 795 @@ -5766,7 +5766,7 @@

Source:
- src/sound/Sound.js line 834 + src/sound/Sound.js line 834 @@ -5900,7 +5900,7 @@
Parameters:
Source:
- src/sound/Sound.js line 352 + src/sound/Sound.js line 352 @@ -5984,7 +5984,7 @@

Source:
- src/sound/Sound.js line 910 + src/sound/Sound.js line 910 @@ -6068,7 +6068,7 @@

Source:
- src/sound/Sound.js line 456 + src/sound/Sound.js line 456 @@ -6204,7 +6204,7 @@
Parameters:
Source:
- src/sound/Sound.js line 1066 + src/sound/Sound.js line 1066 @@ -6247,9 +6247,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -6266,7 +6266,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -6295,7 +6295,7 @@
Parameters:
- + diff --git a/docs/Phaser.SoundManager.html b/docs/Phaser.SoundManager.html index 67d489f1b..0f205f877 100644 --- a/docs/Phaser.SoundManager.html +++ b/docs/Phaser.SoundManager.html @@ -6,7 +6,7 @@ Phaser CE Class: SoundManager - + @@ -240,7 +240,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 26 + src/sound/SoundManager.js line 26 @@ -352,7 +352,7 @@
Type:
Source:
- src/sound/SoundManager.js line 96 + src/sound/SoundManager.js line 96 @@ -436,7 +436,7 @@
Type:
Source:
- src/sound/SoundManager.js line 84 + src/sound/SoundManager.js line 84 @@ -513,7 +513,7 @@
Type:
Source:
- src/sound/SoundManager.js line 60 + src/sound/SoundManager.js line 60 @@ -590,7 +590,7 @@
Type:
Source:
- src/sound/SoundManager.js line 31 + src/sound/SoundManager.js line 31 @@ -667,7 +667,7 @@
Type:
Source:
- src/sound/SoundManager.js line 771 + src/sound/SoundManager.js line 771 @@ -753,7 +753,7 @@
Type:
Source:
- src/sound/SoundManager.js line 105 + src/sound/SoundManager.js line 105 @@ -830,7 +830,7 @@
Type:
Source:
- src/sound/SoundManager.js line 78 + src/sound/SoundManager.js line 78 @@ -907,7 +907,7 @@
Type:
Source:
- src/sound/SoundManager.js line 48 + src/sound/SoundManager.js line 48 @@ -984,7 +984,7 @@
Type:
Source:
- src/sound/SoundManager.js line 36 + src/sound/SoundManager.js line 36 @@ -1061,7 +1061,7 @@
Type:
Source:
- src/sound/SoundManager.js line 54 + src/sound/SoundManager.js line 54 @@ -1138,7 +1138,7 @@
Type:
Source:
- src/sound/SoundManager.js line 42 + src/sound/SoundManager.js line 42 @@ -1215,7 +1215,7 @@
Type:
Source:
- src/sound/SoundManager.js line 90 + src/sound/SoundManager.js line 90 @@ -1292,7 +1292,7 @@
Type:
Source:
- src/sound/SoundManager.js line 72 + src/sound/SoundManager.js line 72 @@ -1369,7 +1369,7 @@
Type:
Source:
- src/sound/SoundManager.js line 66 + src/sound/SoundManager.js line 66 @@ -1446,7 +1446,7 @@
Type:
Source:
- src/sound/SoundManager.js line 811 + src/sound/SoundManager.js line 811 @@ -1710,7 +1710,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 546 + src/sound/SoundManager.js line 546 @@ -1868,7 +1868,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 570 + src/sound/SoundManager.js line 570 @@ -1976,7 +1976,7 @@

Source:
- src/sound/SoundManager.js line 170 + src/sound/SoundManager.js line 170 @@ -2154,7 +2154,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 412 + src/sound/SoundManager.js line 412 @@ -2238,7 +2238,7 @@

Source:
- src/sound/SoundManager.js line 728 + src/sound/SoundManager.js line 728 @@ -2322,7 +2322,7 @@

Source:
- src/sound/SoundManager.js line 368 + src/sound/SoundManager.js line 368 @@ -2552,7 +2552,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 637 + src/sound/SoundManager.js line 637 @@ -2710,7 +2710,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 585 + src/sound/SoundManager.js line 585 @@ -2869,7 +2869,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 610 + src/sound/SoundManager.js line 610 @@ -2977,7 +2977,7 @@

Source:
- src/sound/SoundManager.js line 390 + src/sound/SoundManager.js line 390 @@ -3165,7 +3165,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 449 + src/sound/SoundManager.js line 449 @@ -3250,7 +3250,7 @@

Source:
- src/sound/SoundManager.js line 271 + src/sound/SoundManager.js line 271 @@ -3334,7 +3334,7 @@

Source:
- src/sound/SoundManager.js line 346 + src/sound/SoundManager.js line 346 @@ -3418,7 +3418,7 @@

Source:
- src/sound/SoundManager.js line 297 + src/sound/SoundManager.js line 297 @@ -3526,7 +3526,7 @@

Source:
- src/sound/SoundManager.js line 499 + src/sound/SoundManager.js line 499 @@ -3569,9 +3569,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -3588,7 +3588,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -3617,7 +3617,7 @@

- + diff --git a/docs/Phaser.Sprite.html b/docs/Phaser.Sprite.html index c51290f0e..f50c44d93 100644 --- a/docs/Phaser.Sprite.html +++ b/docs/Phaser.Sprite.html @@ -6,7 +6,7 @@ Phaser CE Class: Sprite - + @@ -341,7 +341,7 @@

Parameters:
Source:
- src/gameobjects/Sprite.js line 44 + src/gameobjects/Sprite.js line 44 @@ -519,7 +519,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -615,7 +615,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -705,7 +705,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -796,7 +796,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -883,7 +883,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -980,7 +980,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1074,7 +1074,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1177,7 +1177,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 93 + src/gameobjects/components/PhysicsBody.js line 93 @@ -1264,7 +1264,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1357,7 +1357,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1444,7 +1444,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1531,7 +1531,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1618,7 +1618,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1710,7 +1710,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 98 + src/gameobjects/components/InWorld.js line 98 @@ -1796,7 +1796,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1882,7 +1882,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1970,7 +1970,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2066,7 +2066,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2152,7 +2152,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2239,7 +2239,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2326,7 +2326,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -2412,7 +2412,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -2499,7 +2499,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2586,7 +2586,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2691,7 +2691,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2777,7 +2777,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2868,7 +2868,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2961,7 +2961,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -3052,7 +3052,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3143,7 +3143,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3230,7 +3230,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3316,7 +3316,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3410,7 +3410,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3506,7 +3506,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3594,7 +3594,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3686,7 +3686,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3777,7 +3777,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3870,7 +3870,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3956,7 +3956,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 129 + src/gameobjects/components/InWorld.js line 129 @@ -4058,7 +4058,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -4145,7 +4145,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4235,7 +4235,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -4324,7 +4324,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4418,7 +4418,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4505,7 +4505,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4593,7 +4593,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4681,7 +4681,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4767,7 +4767,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 106 + src/gameobjects/components/InWorld.js line 106 @@ -4854,7 +4854,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 115 + src/gameobjects/components/InWorld.js line 115 @@ -4943,7 +4943,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -5032,7 +5032,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -5109,7 +5109,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 61 + src/gameobjects/Sprite.js line 61 @@ -5196,7 +5196,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5284,7 +5284,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5370,7 +5370,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5456,7 +5456,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5543,7 +5543,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -5630,7 +5630,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5717,7 +5717,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5806,7 +5806,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5895,7 +5895,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5983,7 +5983,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6071,7 +6071,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6165,7 +6165,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6253,7 +6253,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6339,7 +6339,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6432,7 +6432,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6525,7 +6525,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6612,7 +6612,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -6698,7 +6698,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -6784,7 +6784,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6861,7 +6861,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 55 + src/gameobjects/Sprite.js line 55 @@ -6959,7 +6959,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -7047,7 +7047,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -7139,7 +7139,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -7230,7 +7230,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -7321,7 +7321,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -7412,7 +7412,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -7503,7 +7503,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -7589,7 +7589,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -7681,7 +7681,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -7773,7 +7773,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -7862,7 +7862,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -7999,7 +7999,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -8190,7 +8190,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -8533,7 +8533,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -8877,7 +8877,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8997,7 +8997,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9164,7 +9164,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -9390,7 +9390,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9534,7 +9534,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9658,7 +9658,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -9903,7 +9903,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -10079,7 +10079,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -10246,7 +10246,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -10413,7 +10413,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -10530,7 +10530,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -10697,7 +10697,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -10818,7 +10818,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -11103,7 +11103,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11199,7 +11199,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -11319,7 +11319,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -11502,7 +11502,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -11808,7 +11808,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -11925,7 +11925,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -12014,7 +12014,7 @@

Source:
- src/gameobjects/Sprite.js line 107 + src/gameobjects/Sprite.js line 107 @@ -12131,7 +12131,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -12274,7 +12274,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -12441,7 +12441,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -12632,7 +12632,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -12871,7 +12871,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -12988,7 +12988,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -13181,7 +13181,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13346,7 +13346,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -13466,7 +13466,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -13657,7 +13657,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -13801,7 +13801,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -13945,7 +13945,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -14206,7 +14206,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -14406,7 +14406,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -14573,7 +14573,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -14716,7 +14716,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -14929,7 +14929,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -15050,7 +15050,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -15143,7 +15143,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -15263,7 +15263,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -15426,7 +15426,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -15495,9 +15495,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -15514,7 +15514,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -15543,7 +15543,7 @@
Returns:
- + diff --git a/docs/Phaser.SpriteBatch.html b/docs/Phaser.SpriteBatch.html index 74df5075e..c1a0dd903 100644 --- a/docs/Phaser.SpriteBatch.html +++ b/docs/Phaser.SpriteBatch.html @@ -6,7 +6,7 @@ Phaser CE Class: SpriteBatch - + @@ -372,7 +372,7 @@
Parameters:
Source:
- src/gameobjects/SpriteBatch.js line 23 + src/gameobjects/SpriteBatch.js line 23 @@ -504,7 +504,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -590,7 +590,7 @@
Type:
Source:
- src/core/Group.js line 3227 + src/core/Group.js line 3227 @@ -679,7 +679,7 @@
Type:
Source:
- src/core/Group.js line 2887 + src/core/Group.js line 2887 @@ -767,7 +767,7 @@
Type:
Source:
- src/core/Group.js line 3050 + src/core/Group.js line 3050 @@ -860,7 +860,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -947,7 +947,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1035,7 +1035,7 @@
Type:
Source:
- src/core/Group.js line 2910 + src/core/Group.js line 2910 @@ -1123,7 +1123,7 @@
Type:
Source:
- src/core/Group.js line 2938 + src/core/Group.js line 2938 @@ -1209,7 +1209,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1303,7 +1303,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -1390,7 +1390,7 @@
Type:
Source:
- src/core/Group.js line 137 + src/core/Group.js line 137 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -1564,7 +1564,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -1651,7 +1651,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -1744,7 +1744,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -1830,7 +1830,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -1921,7 +1921,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2009,7 +2009,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -2095,7 +2095,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -2185,7 +2185,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -2281,7 +2281,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2369,7 +2369,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2455,7 +2455,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -2543,7 +2543,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -2631,7 +2631,7 @@
Type:
Source:
- src/core/Group.js line 2966 + src/core/Group.js line 2966 @@ -2717,7 +2717,7 @@
Type:
Source:
- src/core/Group.js line 2870 + src/core/Group.js line 2870 @@ -2806,7 +2806,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -2892,7 +2892,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -2982,7 +2982,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -3072,7 +3072,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -3162,7 +3162,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -3253,7 +3253,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -3339,7 +3339,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -3428,7 +3428,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -3518,7 +3518,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -3605,7 +3605,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -3698,7 +3698,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -3784,7 +3784,7 @@
Type:
Source:
- src/core/Group.js line 86 + src/core/Group.js line 86 @@ -3871,7 +3871,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -3959,7 +3959,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4046,7 +4046,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4134,7 +4134,7 @@
Type:
Source:
- src/core/Group.js line 2994 + src/core/Group.js line 2994 @@ -4222,7 +4222,7 @@
Type:
Source:
- src/core/Group.js line 3211 + src/core/Group.js line 3211 @@ -4311,7 +4311,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4399,7 +4399,7 @@
Type:
Source:
- src/core/Group.js line 3022 + src/core/Group.js line 3022 @@ -4485,7 +4485,7 @@
Type:
Source:
- src/core/Group.js line 2853 + src/core/Group.js line 2853 @@ -4567,7 +4567,7 @@
Type:
Source:
- src/gameobjects/SpriteBatch.js line 33 + src/gameobjects/SpriteBatch.js line 33 @@ -4653,7 +4653,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -4739,7 +4739,7 @@
Type:
Source:
- src/core/Group.js line 3220 + src/core/Group.js line 3220 @@ -4831,7 +4831,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -4922,7 +4922,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -5013,7 +5013,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -5104,7 +5104,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -5195,7 +5195,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -5281,7 +5281,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -5369,7 +5369,7 @@
Type:
Source:
- src/core/Group.js line 3193 + src/core/Group.js line 3193 @@ -5457,7 +5457,7 @@
Type:
Source:
- src/core/Group.js line 3202 + src/core/Group.js line 3202 @@ -5544,7 +5544,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -5782,7 +5782,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -6060,7 +6060,7 @@
Parameters:
Source:
- src/core/Group.js line 1437 + src/core/Group.js line 1437 @@ -6302,7 +6302,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -6469,7 +6469,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -6660,7 +6660,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -6891,7 +6891,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -7062,7 +7062,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -7457,7 +7457,7 @@
Parameters:
Source:
- src/core/Group.js line 695 + src/core/Group.js line 695 @@ -7800,7 +7800,7 @@
Parameters:
Source:
- src/core/Group.js line 3078 + src/core/Group.js line 3078 @@ -8144,7 +8144,7 @@
Parameters:
Source:
- src/core/Group.js line 3120 + src/core/Group.js line 3120 @@ -8335,7 +8335,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -8478,7 +8478,7 @@
Parameters:
Source:
- src/core/Group.js line 920 + src/core/Group.js line 920 @@ -8741,7 +8741,7 @@
Parameters:
Source:
- src/core/Group.js line 1653 + src/core/Group.js line 1653 @@ -8961,7 +8961,7 @@
Parameters:
Source:
- src/core/Group.js line 1569 + src/core/Group.js line 1569 @@ -9152,7 +9152,7 @@
Parameters:
Source:
- src/core/Group.js line 1603 + src/core/Group.js line 1603 @@ -9468,7 +9468,7 @@
Parameters:
Source:
- src/core/Group.js line 1367 + src/core/Group.js line 1367 @@ -9770,7 +9770,7 @@
Parameters:
Source:
- src/core/Group.js line 1403 + src/core/Group.js line 1403 @@ -10067,7 +10067,7 @@
Parameters:
Source:
- src/core/Group.js line 1230 + src/core/Group.js line 1230 @@ -10234,7 +10234,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -10421,7 +10421,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -10538,7 +10538,7 @@

Source:
- src/core/Group.js line 2503 + src/core/Group.js line 2503 @@ -10655,7 +10655,7 @@

Source:
- src/core/Group.js line 2491 + src/core/Group.js line 2491 @@ -11049,7 +11049,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -11456,7 +11456,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -11669,7 +11669,7 @@
Parameters:
Source:
- src/core/Group.js line 2032 + src/core/Group.js line 2032 @@ -11836,7 +11836,7 @@
Parameters:
Source:
- src/core/Group.js line 2088 + src/core/Group.js line 2088 @@ -12040,7 +12040,7 @@
Parameters:
Source:
- src/core/Group.js line 2816 + src/core/Group.js line 2816 @@ -12256,7 +12256,7 @@
Parameters:
Source:
- src/core/Group.js line 1488 + src/core/Group.js line 1488 @@ -12460,7 +12460,7 @@
Parameters:
Source:
- src/core/Group.js line 1814 + src/core/Group.js line 1814 @@ -12764,7 +12764,7 @@
Parameters:
Source:
- src/core/Group.js line 1854 + src/core/Group.js line 1854 @@ -13002,7 +13002,7 @@
Parameters:
Source:
- src/core/Group.js line 1936 + src/core/Group.js line 1936 @@ -13240,7 +13240,7 @@
Parameters:
Source:
- src/core/Group.js line 1964 + src/core/Group.js line 1964 @@ -13478,7 +13478,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -13723,7 +13723,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -14031,7 +14031,7 @@
Parameters:
Source:
- src/core/Group.js line 2557 + src/core/Group.js line 2557 @@ -14200,7 +14200,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -14321,7 +14321,7 @@

Source:
- src/core/Group.js line 2372 + src/core/Group.js line 2372 @@ -14503,7 +14503,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -14672,7 +14672,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -14839,7 +14839,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -15006,7 +15006,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -15257,7 +15257,7 @@
Parameters:
Source:
- src/core/Group.js line 2389 + src/core/Group.js line 2389 @@ -15448,7 +15448,7 @@
Parameters:
Source:
- src/core/Group.js line 2208 + src/core/Group.js line 2208 @@ -15807,7 +15807,7 @@
Parameters:
Source:
- src/core/Group.js line 2256 + src/core/Group.js line 2256 @@ -16166,7 +16166,7 @@
Parameters:
Source:
- src/core/Group.js line 2286 + src/core/Group.js line 2286 @@ -16564,7 +16564,7 @@
Parameters:
Source:
- src/core/Group.js line 2222 + src/core/Group.js line 2222 @@ -16815,7 +16815,7 @@
Parameters:
Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -16982,7 +16982,7 @@
Parameters:
Source:
- src/core/Group.js line 1042 + src/core/Group.js line 1042 @@ -17099,7 +17099,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -17326,7 +17326,7 @@
Parameters:
Source:
- src/core/Group.js line 2515 + src/core/Group.js line 2515 @@ -17554,7 +17554,7 @@
Parameters:
Source:
- src/core/Group.js line 2537 + src/core/Group.js line 2537 @@ -17672,7 +17672,7 @@

Source:
- src/core/Group.js line 2355 + src/core/Group.js line 2355 @@ -17864,7 +17864,7 @@
Parameters:
Source:
- src/core/Group.js line 1117 + src/core/Group.js line 1117 @@ -18251,7 +18251,7 @@
Parameters:
Source:
- src/core/Group.js line 2113 + src/core/Group.js line 2113 @@ -18368,7 +18368,7 @@

Source:
- src/core/Group.js line 1505 + src/core/Group.js line 1505 @@ -18461,7 +18461,7 @@

Source:
- src/core/Group.js line 1518 + src/core/Group.js line 1518 @@ -18660,7 +18660,7 @@
Parameters:
Source:
- src/core/Group.js line 2651 + src/core/Group.js line 2651 @@ -18827,7 +18827,7 @@
Parameters:
Source:
- src/core/Group.js line 982 + src/core/Group.js line 982 @@ -18994,7 +18994,7 @@
Parameters:
Source:
- src/core/Group.js line 958 + src/core/Group.js line 958 @@ -19234,7 +19234,7 @@
Parameters:
Source:
- src/core/Group.js line 1471 + src/core/Group.js line 1471 @@ -19328,7 +19328,7 @@

Source:
- src/core/Group.js line 846 + src/core/Group.js line 846 @@ -19445,7 +19445,7 @@

Source:
- src/core/Group.js line 1793 + src/core/Group.js line 1793 @@ -19538,7 +19538,7 @@

Source:
- src/core/Group.js line 1726 + src/core/Group.js line 1726 @@ -19632,7 +19632,7 @@

Source:
- src/core/Group.js line 875 + src/core/Group.js line 875 @@ -19897,7 +19897,7 @@
Parameters:
Source:
- src/core/Group.js line 2603 + src/core/Group.js line 2603 @@ -20167,7 +20167,7 @@
Parameters:
Source:
- src/core/Group.js line 2680 + src/core/Group.js line 2680 @@ -20444,7 +20444,7 @@
Parameters:
Source:
- src/core/Group.js line 2728 + src/core/Group.js line 2728 @@ -20587,7 +20587,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -20754,7 +20754,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -20945,7 +20945,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -21089,7 +21089,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -21282,7 +21282,7 @@
Parameters:
Source:
- src/core/Group.js line 1078 + src/core/Group.js line 1078 @@ -21636,7 +21636,7 @@
Parameters:
Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -21942,7 +21942,7 @@
Parameters:
Source:
- src/core/Group.js line 2316 + src/core/Group.js line 2316 @@ -22130,7 +22130,7 @@
Parameters:
Source:
- src/core/Group.js line 819 + src/core/Group.js line 819 @@ -22248,7 +22248,7 @@

Source:
- src/core/Group.js line 1028 + src/core/Group.js line 1028 @@ -22341,7 +22341,7 @@

Source:
- src/core/Group.js line 1529 + src/core/Group.js line 1529 @@ -22434,7 +22434,7 @@

Source:
- src/core/Group.js line 1542 + src/core/Group.js line 1542 @@ -22637,7 +22637,7 @@
Parameters:
Source:
- src/core/Group.js line 2783 + src/core/Group.js line 2783 @@ -22780,7 +22780,7 @@
Parameters:
Source:
- src/core/Group.js line 939 + src/core/Group.js line 939 @@ -23196,7 +23196,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -23578,7 +23578,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -23936,7 +23936,7 @@
Parameters:
Source:
- src/core/Group.js line 1326 + src/core/Group.js line 1326 @@ -24103,7 +24103,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -24422,7 +24422,7 @@
Parameters:
Source:
- src/core/Group.js line 1152 + src/core/Group.js line 1152 @@ -24540,7 +24540,7 @@

Source:
- src/core/Group.js line 2802 + src/core/Group.js line 2802 @@ -24747,7 +24747,7 @@
Parameters:
Source:
- src/core/Group.js line 1992 + src/core/Group.js line 1992 @@ -24963,7 +24963,7 @@
Parameters:
Source:
- src/core/Group.js line 1454 + src/core/Group.js line 1454 @@ -25131,7 +25131,7 @@
Parameters:
Source:
- src/core/Group.js line 904 + src/core/Group.js line 904 @@ -25298,7 +25298,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -25441,7 +25441,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -25654,7 +25654,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -25774,7 +25774,7 @@

Source:
- src/core/Group.js line 1765 + src/core/Group.js line 1765 @@ -25867,7 +25867,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -26056,7 +26056,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -26176,7 +26176,7 @@

Source:
- src/core/Group.js line 676 + src/core/Group.js line 676 @@ -26367,7 +26367,7 @@
Parameters:
Source:
- src/core/Group.js line 1006 + src/core/Group.js line 1006 @@ -26410,9 +26410,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -26429,7 +26429,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -26458,7 +26458,7 @@
Parameters:
- + diff --git a/docs/Phaser.Stage.html b/docs/Phaser.Stage.html index 2bb2c82f0..9cdcee42b 100644 --- a/docs/Phaser.Stage.html +++ b/docs/Phaser.Stage.html @@ -6,7 +6,7 @@ Phaser CE Class: Stage - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/core/Stage.js line 16 + src/core/Stage.js line 16 @@ -366,7 +366,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -446,7 +446,7 @@
Type:
Source:
- src/core/Stage.js line 394 + src/core/Stage.js line 394 @@ -546,7 +546,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -632,7 +632,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -709,7 +709,7 @@
Type:
Source:
- src/core/Stage.js line 65 + src/core/Stage.js line 65 @@ -790,7 +790,7 @@
Type:
Source:
- src/core/Stage.js line 40 + src/core/Stage.js line 40 @@ -874,7 +874,7 @@
Type:
Source:
- src/core/Stage.js line 46 + src/core/Stage.js line 46 @@ -960,7 +960,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -1051,7 +1051,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -1128,7 +1128,7 @@
Type:
Source:
- src/core/Stage.js line 21 + src/core/Stage.js line 21 @@ -1224,7 +1224,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -1312,7 +1312,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -1401,7 +1401,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -1485,7 +1485,7 @@
Type:
Source:
- src/core/Stage.js line 29 + src/core/Stage.js line 29 @@ -1574,7 +1574,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -1661,7 +1661,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -1749,7 +1749,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1836,7 +1836,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -1925,7 +1925,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -2014,7 +2014,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -2091,7 +2091,7 @@
Type:
Source:
- src/core/Stage.js line 415 + src/core/Stage.js line 415 @@ -2189,7 +2189,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -2286,7 +2286,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -2377,7 +2377,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -2468,7 +2468,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -2559,7 +2559,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -2645,7 +2645,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -2732,7 +2732,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -2819,7 +2819,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -2956,7 +2956,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -3147,7 +3147,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -3256,7 +3256,7 @@

Source:
- src/core/Stage.js line 230 + src/core/Stage.js line 230 @@ -3399,7 +3399,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -3508,7 +3508,7 @@

Source:
- src/core/Stage.js line 372 + src/core/Stage.js line 372 @@ -3753,7 +3753,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -3937,7 +3937,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -4104,7 +4104,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -4271,7 +4271,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -4388,7 +4388,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -4546,7 +4546,7 @@
Parameters:
Source:
- src/core/Stage.js line 101 + src/core/Stage.js line 101 @@ -4632,7 +4632,7 @@

Source:
- src/core/Stage.js line 182 + src/core/Stage.js line 182 @@ -4722,7 +4722,7 @@

Source:
- src/core/Stage.js line 138 + src/core/Stage.js line 138 @@ -4865,7 +4865,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -5032,7 +5032,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -5223,7 +5223,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -5364,7 +5364,7 @@
Parameters:
Source:
- src/core/Stage.js line 343 + src/core/Stage.js line 343 @@ -5531,7 +5531,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -5698,7 +5698,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -5841,7 +5841,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -6054,7 +6054,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -6164,7 +6164,7 @@

Source:
- src/core/Stage.js line 165 + src/core/Stage.js line 165 @@ -6257,7 +6257,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -6373,7 +6373,7 @@

Source:
- src/core/Stage.js line 213 + src/core/Stage.js line 213 @@ -6513,7 +6513,7 @@
Parameters:
Source:
- src/core/Stage.js line 299 + src/core/Stage.js line 299 @@ -6556,9 +6556,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -6575,7 +6575,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -6604,7 +6604,7 @@
Parameters:
- + diff --git a/docs/Phaser.State.html b/docs/Phaser.State.html index 482e86ab9..42988c90d 100644 --- a/docs/Phaser.State.html +++ b/docs/Phaser.State.html @@ -6,7 +6,7 @@ Phaser CE Class: State - + @@ -245,7 +245,7 @@

Callbacks

Source:
- src/core/State.js line 30 + src/core/State.js line 30 @@ -350,7 +350,7 @@
Type:
Source:
- src/core/State.js line 45 + src/core/State.js line 45 @@ -427,7 +427,7 @@
Type:
Source:
- src/core/State.js line 60 + src/core/State.js line 60 @@ -504,7 +504,7 @@
Type:
Source:
- src/core/State.js line 55 + src/core/State.js line 55 @@ -581,7 +581,7 @@
Type:
Source:
- src/core/State.js line 35 + src/core/State.js line 35 @@ -658,7 +658,7 @@
Type:
Source:
- src/core/State.js line 65 + src/core/State.js line 65 @@ -735,7 +735,7 @@
Type:
Source:
- src/core/State.js line 40 + src/core/State.js line 40 @@ -812,7 +812,7 @@
Type:
Source:
- src/core/State.js line 70 + src/core/State.js line 70 @@ -889,7 +889,7 @@
Type:
Source:
- src/core/State.js line 50 + src/core/State.js line 50 @@ -966,7 +966,7 @@
Type:
Source:
- src/core/State.js line 75 + src/core/State.js line 75 @@ -1043,7 +1043,7 @@
Type:
Source:
- src/core/State.js line 115 + src/core/State.js line 115 @@ -1120,7 +1120,7 @@
Type:
Source:
- src/core/State.js line 120 + src/core/State.js line 120 @@ -1197,7 +1197,7 @@
Type:
Source:
- src/core/State.js line 125 + src/core/State.js line 125 @@ -1274,7 +1274,7 @@
Type:
Source:
- src/core/State.js line 85 + src/core/State.js line 85 @@ -1351,7 +1351,7 @@
Type:
Source:
- src/core/State.js line 80 + src/core/State.js line 80 @@ -1428,7 +1428,7 @@
Type:
Source:
- src/core/State.js line 90 + src/core/State.js line 90 @@ -1543,7 +1543,7 @@
Properties:
Source:
- src/core/State.js line 95 + src/core/State.js line 95 @@ -1620,7 +1620,7 @@
Type:
Source:
- src/core/State.js line 100 + src/core/State.js line 100 @@ -1697,7 +1697,7 @@
Type:
Source:
- src/core/State.js line 105 + src/core/State.js line 105 @@ -1774,7 +1774,7 @@
Type:
Source:
- src/core/State.js line 110 + src/core/State.js line 110 @@ -1903,7 +1903,7 @@
Parameters:
Source:
- src/core/State.js line 172 + src/core/State.js line 172 @@ -2051,7 +2051,7 @@
Parameters:
Source:
- src/core/State.js line 131 + src/core/State.js line 131 @@ -2186,7 +2186,7 @@
Parameters:
Source:
- src/core/State.js line 162 + src/core/State.js line 162 @@ -2320,7 +2320,7 @@
Parameters:
Source:
- src/core/State.js line 153 + src/core/State.js line 153 @@ -2454,7 +2454,7 @@
Parameters:
Source:
- src/core/State.js line 224 + src/core/State.js line 224 @@ -2588,7 +2588,7 @@
Parameters:
Source:
- src/core/State.js line 242 + src/core/State.js line 242 @@ -2724,7 +2724,7 @@
Parameters:
Source:
- src/core/State.js line 142 + src/core/State.js line 142 @@ -2882,7 +2882,7 @@
Parameters:
Source:
- src/core/State.js line 193 + src/core/State.js line 193 @@ -3018,7 +3018,7 @@
Parameters:
Source:
- src/core/State.js line 203 + src/core/State.js line 203 @@ -3176,7 +3176,7 @@
Parameters:
Source:
- src/core/State.js line 214 + src/core/State.js line 214 @@ -3310,7 +3310,7 @@
Parameters:
Source:
- src/core/State.js line 233 + src/core/State.js line 233 @@ -3444,7 +3444,7 @@
Parameters:
Source:
- src/core/State.js line 251 + src/core/State.js line 251 @@ -3580,7 +3580,7 @@
Parameters:
Source:
- src/core/State.js line 182 + src/core/State.js line 182 @@ -3623,9 +3623,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -3642,7 +3642,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -3671,7 +3671,7 @@
Parameters:
- + diff --git a/docs/Phaser.StateManager.html b/docs/Phaser.StateManager.html index 927aaaf30..0be5cfa8e 100644 --- a/docs/Phaser.StateManager.html +++ b/docs/Phaser.StateManager.html @@ -6,7 +6,7 @@ Phaser CE Class: StateManager - + @@ -289,7 +289,7 @@
Parameters:
Source:
- src/core/StateManager.js line 17 + src/core/StateManager.js line 17 @@ -394,7 +394,7 @@
Type:
Source:
- src/core/StateManager.js line 783 + src/core/StateManager.js line 783 @@ -471,7 +471,7 @@
Type:
Source:
- src/core/StateManager.js line 68 + src/core/StateManager.js line 68 @@ -548,7 +548,7 @@
Type:
Source:
- src/core/StateManager.js line 22 + src/core/StateManager.js line 22 @@ -625,7 +625,7 @@
Type:
Source:
- src/core/StateManager.js line 100 + src/core/StateManager.js line 100 @@ -702,7 +702,7 @@
Type:
Source:
- src/core/StateManager.js line 88 + src/core/StateManager.js line 88 @@ -779,7 +779,7 @@
Type:
Source:
- src/core/StateManager.js line 136 + src/core/StateManager.js line 136 @@ -856,7 +856,7 @@
Type:
Source:
- src/core/StateManager.js line 130 + src/core/StateManager.js line 130 @@ -933,7 +933,7 @@
Type:
Source:
- src/core/StateManager.js line 142 + src/core/StateManager.js line 142 @@ -1010,7 +1010,7 @@
Type:
Source:
- src/core/StateManager.js line 154 + src/core/StateManager.js line 154 @@ -1087,7 +1087,7 @@
Type:
Source:
- src/core/StateManager.js line 94 + src/core/StateManager.js line 94 @@ -1164,7 +1164,7 @@
Type:
Source:
- src/core/StateManager.js line 124 + src/core/StateManager.js line 124 @@ -1241,7 +1241,7 @@
Type:
Source:
- src/core/StateManager.js line 112 + src/core/StateManager.js line 112 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/core/StateManager.js line 118 + src/core/StateManager.js line 118 @@ -1395,7 +1395,7 @@
Type:
Source:
- src/core/StateManager.js line 148 + src/core/StateManager.js line 148 @@ -1472,7 +1472,7 @@
Type:
Source:
- src/core/StateManager.js line 160 + src/core/StateManager.js line 160 @@ -1554,7 +1554,7 @@
Type:
Source:
- src/core/StateManager.js line 82 + src/core/StateManager.js line 82 @@ -1631,7 +1631,7 @@
Type:
Source:
- src/core/StateManager.js line 106 + src/core/StateManager.js line 106 @@ -1708,7 +1708,7 @@
Type:
Source:
- src/core/StateManager.js line 27 + src/core/StateManager.js line 27 @@ -1942,7 +1942,7 @@
Parameters:
Source:
- src/core/StateManager.js line 183 + src/core/StateManager.js line 183 @@ -2076,7 +2076,7 @@
Parameters:
Source:
- src/core/StateManager.js line 430 + src/core/StateManager.js line 430 @@ -2185,7 +2185,7 @@

Source:
- src/core/StateManager.js line 385 + src/core/StateManager.js line 385 @@ -2270,7 +2270,7 @@

Source:
- src/core/StateManager.js line 745 + src/core/StateManager.js line 745 @@ -2354,7 +2354,7 @@

Source:
- src/core/StateManager.js line 578 + src/core/StateManager.js line 578 @@ -2508,7 +2508,7 @@
Parameters:
Source:
- src/core/StateManager.js line 461 + src/core/StateManager.js line 461 @@ -2588,7 +2588,7 @@

Source:
- src/core/StateManager.js line 589 + src/core/StateManager.js line 589 @@ -2668,7 +2668,7 @@

Source:
- src/core/StateManager.js line 613 + src/core/StateManager.js line 613 @@ -2748,7 +2748,7 @@

Source:
- src/core/StateManager.js line 662 + src/core/StateManager.js line 662 @@ -2878,7 +2878,7 @@
Parameters:
Source:
- src/core/StateManager.js line 685 + src/core/StateManager.js line 685 @@ -2962,7 +2962,7 @@

Source:
- src/core/StateManager.js line 331 + src/core/StateManager.js line 331 @@ -3096,7 +3096,7 @@
Parameters:
Source:
- src/core/StateManager.js line 238 + src/core/StateManager.js line 238 @@ -3176,7 +3176,7 @@

Source:
- src/core/StateManager.js line 712 + src/core/StateManager.js line 712 @@ -3256,7 +3256,7 @@

Source:
- src/core/StateManager.js line 699 + src/core/StateManager.js line 699 @@ -3488,7 +3488,7 @@
Parameters:
Source:
- src/core/StateManager.js line 298 + src/core/StateManager.js line 298 @@ -3568,7 +3568,7 @@

Source:
- src/core/StateManager.js line 626 + src/core/StateManager.js line 626 @@ -3836,7 +3836,7 @@
Parameters:
Source:
- src/core/StateManager.js line 269 + src/core/StateManager.js line 269 @@ -3970,7 +3970,7 @@
Parameters:
Source:
- src/core/StateManager.js line 492 + src/core/StateManager.js line 492 @@ -4050,7 +4050,7 @@

Source:
- src/core/StateManager.js line 639 + src/core/StateManager.js line 639 @@ -4093,9 +4093,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -4112,7 +4112,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -4141,7 +4141,7 @@

- + diff --git a/docs/Phaser.Text.html b/docs/Phaser.Text.html index a8b4c9902..d4ccdfea7 100644 --- a/docs/Phaser.Text.html +++ b/docs/Phaser.Text.html @@ -6,7 +6,7 @@ Phaser CE Class: Text - + @@ -1046,7 +1046,7 @@

Properties
Source:
- src/gameobjects/Text.js line 40 + src/gameobjects/Text.js line 40 @@ -1164,7 +1164,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1910 + src/gameobjects/Text.js line 1910 @@ -1261,7 +1261,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -1357,7 +1357,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -1447,7 +1447,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -1538,7 +1538,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -1625,7 +1625,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1722,7 +1722,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1800,7 +1800,7 @@
Type:
Source:
- src/gameobjects/Text.js line 119 + src/gameobjects/Text.js line 119 @@ -1894,7 +1894,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1997,7 +1997,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 93 + src/gameobjects/components/PhysicsBody.js line 93 @@ -2084,7 +2084,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -2161,7 +2161,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1987 + src/gameobjects/Text.js line 1987 @@ -2238,7 +2238,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2011 + src/gameobjects/Text.js line 2011 @@ -2331,7 +2331,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -2418,7 +2418,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -2495,7 +2495,7 @@
Type:
Source:
- src/gameobjects/Text.js line 86 + src/gameobjects/Text.js line 86 @@ -2582,7 +2582,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -2669,7 +2669,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -2746,7 +2746,7 @@
Type:
Source:
- src/gameobjects/Text.js line 146 + src/gameobjects/Text.js line 146 @@ -2824,7 +2824,7 @@
Type:
Source:
- src/gameobjects/Text.js line 152 + src/gameobjects/Text.js line 152 @@ -2916,7 +2916,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 98 + src/gameobjects/components/InWorld.js line 98 @@ -3002,7 +3002,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -3079,7 +3079,7 @@
Type:
Source:
- src/gameobjects/Text.js line 96 + src/gameobjects/Text.js line 96 @@ -3165,7 +3165,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -3242,7 +3242,7 @@
Type:
Source:
- src/gameobjects/Text.js line 91 + src/gameobjects/Text.js line 91 @@ -3330,7 +3330,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -3410,7 +3410,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1722 + src/gameobjects/Text.js line 1722 @@ -3506,7 +3506,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -3592,7 +3592,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -3679,7 +3679,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -3766,7 +3766,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -3852,7 +3852,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -3939,7 +3939,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -4026,7 +4026,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -4126,7 +4126,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -4203,7 +4203,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1888 + src/gameobjects/Text.js line 1888 @@ -4289,7 +4289,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -4380,7 +4380,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -4473,7 +4473,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -4553,7 +4553,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1748 + src/gameobjects/Text.js line 1748 @@ -4635,7 +4635,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1783 + src/gameobjects/Text.js line 1783 @@ -4712,7 +4712,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1846 + src/gameobjects/Text.js line 1846 @@ -4789,7 +4789,7 @@
Type:
Source:
- src/gameobjects/Text.js line 106 + src/gameobjects/Text.js line 106 @@ -4866,7 +4866,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1867 + src/gameobjects/Text.js line 1867 @@ -4943,7 +4943,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1825 + src/gameobjects/Text.js line 1825 @@ -5020,7 +5020,7 @@
Type:
Source:
- src/gameobjects/Text.js line 111 + src/gameobjects/Text.js line 111 @@ -5111,7 +5111,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -5202,7 +5202,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -5289,7 +5289,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -5375,7 +5375,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -5469,7 +5469,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -5546,7 +5546,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2308 + src/gameobjects/Text.js line 2308 @@ -5642,7 +5642,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -5730,7 +5730,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -5817,7 +5817,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -5908,7 +5908,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -6001,7 +6001,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -6087,7 +6087,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 129 + src/gameobjects/components/InWorld.js line 129 @@ -6189,7 +6189,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -6276,7 +6276,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -6366,7 +6366,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -6443,7 +6443,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2123 + src/gameobjects/Text.js line 2123 @@ -6532,7 +6532,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -6626,7 +6626,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -6713,7 +6713,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -6801,7 +6801,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -6889,7 +6889,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -6975,7 +6975,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 106 + src/gameobjects/components/InWorld.js line 106 @@ -7062,7 +7062,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 115 + src/gameobjects/components/InWorld.js line 115 @@ -7140,7 +7140,7 @@
Type:
Source:
- src/gameobjects/Text.js line 73 + src/gameobjects/Text.js line 73 @@ -7229,7 +7229,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -7318,7 +7318,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -7400,7 +7400,7 @@
Type:
Source:
- src/gameobjects/Text.js line 66 + src/gameobjects/Text.js line 66 @@ -7487,7 +7487,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -7575,7 +7575,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -7661,7 +7661,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -7747,7 +7747,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -7839,7 +7839,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -7926,7 +7926,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -8004,7 +8004,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1936 + src/gameobjects/Text.js line 1936 @@ -8091,7 +8091,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -8180,7 +8180,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -8269,7 +8269,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -8357,7 +8357,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -8445,7 +8445,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -8539,7 +8539,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -8616,7 +8616,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2216 + src/gameobjects/Text.js line 2216 @@ -8693,7 +8693,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2194 + src/gameobjects/Text.js line 2194 @@ -8770,7 +8770,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2260 + src/gameobjects/Text.js line 2260 @@ -8847,7 +8847,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2150 + src/gameobjects/Text.js line 2150 @@ -8924,7 +8924,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2172 + src/gameobjects/Text.js line 2172 @@ -9001,7 +9001,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2238 + src/gameobjects/Text.js line 2238 @@ -9089,7 +9089,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -9168,7 +9168,7 @@
Type:
Source:
- src/gameobjects/Text.js line 140 + src/gameobjects/Text.js line 140 @@ -9245,7 +9245,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2035 + src/gameobjects/Text.js line 2035 @@ -9322,7 +9322,7 @@
Type:
Source:
- src/gameobjects/Text.js line 101 + src/gameobjects/Text.js line 101 @@ -9399,7 +9399,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2057 + src/gameobjects/Text.js line 2057 @@ -9482,7 +9482,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1960 + src/gameobjects/Text.js line 1960 @@ -9561,7 +9561,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1691 + src/gameobjects/Text.js line 1691 @@ -9639,7 +9639,7 @@
Type:
Source:
- src/gameobjects/Text.js line 81 + src/gameobjects/Text.js line 81 @@ -9725,7 +9725,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -9818,7 +9818,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -9911,7 +9911,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -9998,7 +9998,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -10084,7 +10084,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -10170,7 +10170,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -10252,7 +10252,7 @@
Type:
Source:
- src/gameobjects/Text.js line 60 + src/gameobjects/Text.js line 60 @@ -10333,7 +10333,7 @@
Type:
Source:
- src/gameobjects/Text.js line 132 + src/gameobjects/Text.js line 132 @@ -10431,7 +10431,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -10508,7 +10508,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2282 + src/gameobjects/Text.js line 2282 @@ -10585,7 +10585,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2079 + src/gameobjects/Text.js line 2079 @@ -10662,7 +10662,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2101 + src/gameobjects/Text.js line 2101 @@ -10750,7 +10750,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -10842,7 +10842,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -10933,7 +10933,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -11024,7 +11024,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -11115,7 +11115,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -11206,7 +11206,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -11292,7 +11292,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -11379,7 +11379,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -11466,7 +11466,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -11555,7 +11555,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -11692,7 +11692,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -11883,7 +11883,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -12070,7 +12070,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 853 + src/gameobjects/Text.js line 853 @@ -12257,7 +12257,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 903 + src/gameobjects/Text.js line 903 @@ -12444,7 +12444,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 927 + src/gameobjects/Text.js line 927 @@ -12632,7 +12632,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 877 + src/gameobjects/Text.js line 877 @@ -12975,7 +12975,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -13319,7 +13319,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -13439,7 +13439,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -13547,7 +13547,7 @@

Source:
- src/gameobjects/Text.js line 821 + src/gameobjects/Text.js line 821 @@ -13655,7 +13655,7 @@

Source:
- src/gameobjects/Text.js line 837 + src/gameobjects/Text.js line 837 @@ -13822,7 +13822,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -14048,7 +14048,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -14192,7 +14192,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -14375,7 +14375,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 237 + src/gameobjects/Text.js line 237 @@ -14620,7 +14620,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -14786,7 +14786,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1655 + src/gameobjects/Text.js line 1655 @@ -14953,7 +14953,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -15120,7 +15120,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -15237,7 +15237,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -15404,7 +15404,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -15525,7 +15525,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -15810,7 +15810,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -15906,7 +15906,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -16026,7 +16026,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -16209,7 +16209,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -16376,7 +16376,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1310 + src/gameobjects/Text.js line 1310 @@ -16682,7 +16682,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -16799,7 +16799,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -16936,7 +16936,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 951 + src/gameobjects/Text.js line 951 @@ -17049,7 +17049,7 @@

Source:
- src/gameobjects/Text.js line 210 + src/gameobjects/Text.js line 210 @@ -17142,7 +17142,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -17285,7 +17285,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -17452,7 +17452,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -17643,7 +17643,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -17882,7 +17882,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -17999,7 +17999,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -18192,7 +18192,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -18357,7 +18357,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -18477,7 +18477,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -18682,7 +18682,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1675 + src/gameobjects/Text.js line 1675 @@ -18849,7 +18849,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -18993,7 +18993,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -19137,7 +19137,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -19398,7 +19398,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -19755,7 +19755,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 251 + src/gameobjects/Text.js line 251 @@ -20647,7 +20647,7 @@
Properties
Source:
- src/gameobjects/Text.js line 287 + src/gameobjects/Text.js line 287 @@ -20868,7 +20868,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1276 + src/gameobjects/Text.js line 1276 @@ -21155,7 +21155,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1371 + src/gameobjects/Text.js line 1371 @@ -21379,7 +21379,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -21546,7 +21546,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -21689,7 +21689,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -21902,7 +21902,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -22017,7 +22017,7 @@

Source:
- src/gameobjects/Text.js line 227 + src/gameobjects/Text.js line 227 @@ -22110,7 +22110,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -22230,7 +22230,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -22365,7 +22365,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 676 + src/gameobjects/Text.js line 676 @@ -22528,7 +22528,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -22597,9 +22597,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -22616,7 +22616,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -22645,7 +22645,7 @@
Returns:
- + diff --git a/docs/Phaser.Tile.html b/docs/Phaser.Tile.html index ce60dd147..0914164da 100644 --- a/docs/Phaser.Tile.html +++ b/docs/Phaser.Tile.html @@ -6,7 +6,7 @@ Phaser CE Class: Tile - + @@ -350,7 +350,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 19 + src/tilemap/Tile.js line 19 @@ -455,7 +455,7 @@
Type:
Source:
- src/tilemap/Tile.js line 84 + src/tilemap/Tile.js line 84 @@ -532,7 +532,7 @@
Type:
Source:
- src/tilemap/Tile.js line 396 + src/tilemap/Tile.js line 396 @@ -609,7 +609,7 @@
Type:
Source:
- src/tilemap/Tile.js line 344 + src/tilemap/Tile.js line 344 @@ -724,7 +724,7 @@
Properties:
Source:
- src/tilemap/Tile.js line 74 + src/tilemap/Tile.js line 74 @@ -839,7 +839,7 @@
Properties:
Source:
- src/tilemap/Tile.js line 79 + src/tilemap/Tile.js line 79 @@ -916,7 +916,7 @@
Type:
Source:
- src/tilemap/Tile.js line 138 + src/tilemap/Tile.js line 138 @@ -993,7 +993,7 @@
Type:
Source:
- src/tilemap/Tile.js line 120 + src/tilemap/Tile.js line 120 @@ -1070,7 +1070,7 @@
Type:
Source:
- src/tilemap/Tile.js line 126 + src/tilemap/Tile.js line 126 @@ -1147,7 +1147,7 @@
Type:
Source:
- src/tilemap/Tile.js line 331 + src/tilemap/Tile.js line 331 @@ -1224,7 +1224,7 @@
Type:
Source:
- src/tilemap/Tile.js line 132 + src/tilemap/Tile.js line 132 @@ -1301,7 +1301,7 @@
Type:
Source:
- src/tilemap/Tile.js line 144 + src/tilemap/Tile.js line 144 @@ -1378,7 +1378,7 @@
Type:
Source:
- src/tilemap/Tile.js line 150 + src/tilemap/Tile.js line 150 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/tilemap/Tile.js line 104 + src/tilemap/Tile.js line 104 @@ -1532,7 +1532,7 @@
Type:
Source:
- src/tilemap/Tile.js line 109 + src/tilemap/Tile.js line 109 @@ -1609,7 +1609,7 @@
Type:
Source:
- src/tilemap/Tile.js line 114 + src/tilemap/Tile.js line 114 @@ -1686,7 +1686,7 @@
Type:
Source:
- src/tilemap/Tile.js line 99 + src/tilemap/Tile.js line 99 @@ -1763,7 +1763,7 @@
Type:
Source:
- src/tilemap/Tile.js line 49 + src/tilemap/Tile.js line 49 @@ -1840,7 +1840,7 @@
Type:
Source:
- src/tilemap/Tile.js line 69 + src/tilemap/Tile.js line 69 @@ -1917,7 +1917,7 @@
Type:
Source:
- src/tilemap/Tile.js line 29 + src/tilemap/Tile.js line 29 @@ -1994,7 +1994,7 @@
Type:
Source:
- src/tilemap/Tile.js line 24 + src/tilemap/Tile.js line 24 @@ -2071,7 +2071,7 @@
Type:
Source:
- src/tilemap/Tile.js line 357 + src/tilemap/Tile.js line 357 @@ -2148,7 +2148,7 @@
Type:
Source:
- src/tilemap/Tile.js line 89 + src/tilemap/Tile.js line 89 @@ -2225,7 +2225,7 @@
Type:
Source:
- src/tilemap/Tile.js line 370 + src/tilemap/Tile.js line 370 @@ -2302,7 +2302,7 @@
Type:
Source:
- src/tilemap/Tile.js line 44 + src/tilemap/Tile.js line 44 @@ -2379,7 +2379,7 @@
Type:
Source:
- src/tilemap/Tile.js line 94 + src/tilemap/Tile.js line 94 @@ -2456,7 +2456,7 @@
Type:
Source:
- src/tilemap/Tile.js line 383 + src/tilemap/Tile.js line 383 @@ -2533,7 +2533,7 @@
Type:
Source:
- src/tilemap/Tile.js line 64 + src/tilemap/Tile.js line 64 @@ -2648,7 +2648,7 @@
Properties:
Source:
- src/tilemap/Tile.js line 54 + src/tilemap/Tile.js line 54 @@ -2763,7 +2763,7 @@
Properties:
Source:
- src/tilemap/Tile.js line 59 + src/tilemap/Tile.js line 59 @@ -2840,7 +2840,7 @@
Type:
Source:
- src/tilemap/Tile.js line 34 + src/tilemap/Tile.js line 34 @@ -2917,7 +2917,7 @@
Type:
Source:
- src/tilemap/Tile.js line 39 + src/tilemap/Tile.js line 39 @@ -3069,7 +3069,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 156 + src/tilemap/Tile.js line 156 @@ -3227,7 +3227,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 305 + src/tilemap/Tile.js line 305 @@ -3311,7 +3311,7 @@

Source:
- src/tilemap/Tile.js line 220 + src/tilemap/Tile.js line 220 @@ -3517,7 +3517,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 170 + src/tilemap/Tile.js line 170 @@ -3675,7 +3675,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 275 + src/tilemap/Tile.js line 275 @@ -3783,7 +3783,7 @@

Source:
- src/tilemap/Tile.js line 256 + src/tilemap/Tile.js line 256 @@ -3989,7 +3989,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 233 + src/tilemap/Tile.js line 233 @@ -4148,7 +4148,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 205 + src/tilemap/Tile.js line 205 @@ -4191,9 +4191,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -4210,7 +4210,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -4239,7 +4239,7 @@
Parameters:
- + diff --git a/docs/Phaser.TileSprite.html b/docs/Phaser.TileSprite.html index ff94e6ed0..e5c47dd0d 100644 --- a/docs/Phaser.TileSprite.html +++ b/docs/Phaser.TileSprite.html @@ -6,7 +6,7 @@ Phaser CE Class: TileSprite - + @@ -502,7 +502,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 59 + src/gameobjects/TileSprite.js line 59 @@ -674,7 +674,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -770,7 +770,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -860,7 +860,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -951,7 +951,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -1038,7 +1038,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1135,7 +1135,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1229,7 +1229,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1332,7 +1332,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 93 + src/gameobjects/components/PhysicsBody.js line 93 @@ -1419,7 +1419,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1512,7 +1512,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1599,7 +1599,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1676,7 +1676,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 116 + src/gameobjects/TileSprite.js line 116 @@ -1763,7 +1763,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1850,7 +1850,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1942,7 +1942,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 98 + src/gameobjects/components/InWorld.js line 98 @@ -2028,7 +2028,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -2114,7 +2114,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -2210,7 +2210,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2296,7 +2296,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2383,7 +2383,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2470,7 +2470,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2575,7 +2575,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2661,7 +2661,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2752,7 +2752,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2845,7 +2845,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2936,7 +2936,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3027,7 +3027,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3114,7 +3114,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3200,7 +3200,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3294,7 +3294,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3390,7 +3390,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3478,7 +3478,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3570,7 +3570,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3661,7 +3661,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3754,7 +3754,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3840,7 +3840,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 129 + src/gameobjects/components/InWorld.js line 129 @@ -3942,7 +3942,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -4029,7 +4029,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4119,7 +4119,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -4208,7 +4208,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4302,7 +4302,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4389,7 +4389,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4477,7 +4477,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4565,7 +4565,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4651,7 +4651,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 106 + src/gameobjects/components/InWorld.js line 106 @@ -4738,7 +4738,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 115 + src/gameobjects/components/InWorld.js line 115 @@ -4827,7 +4827,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4916,7 +4916,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4993,7 +4993,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 80 + src/gameobjects/TileSprite.js line 80 @@ -5080,7 +5080,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5168,7 +5168,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5254,7 +5254,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5340,7 +5340,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5418,7 +5418,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 138 + src/gameobjects/TileSprite.js line 138 @@ -5505,7 +5505,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -5592,7 +5592,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5679,7 +5679,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5768,7 +5768,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5857,7 +5857,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5951,7 +5951,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6039,7 +6039,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6130,7 +6130,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6208,7 +6208,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 109 + src/gameobjects/TileSprite.js line 109 @@ -6285,7 +6285,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 130 + src/gameobjects/TileSprite.js line 130 @@ -6362,7 +6362,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 101 + src/gameobjects/TileSprite.js line 101 @@ -6439,7 +6439,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 91 + src/gameobjects/TileSprite.js line 91 @@ -6516,7 +6516,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 96 + src/gameobjects/TileSprite.js line 96 @@ -6593,7 +6593,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 123 + src/gameobjects/TileSprite.js line 123 @@ -6686,7 +6686,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6784,7 +6784,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6871,7 +6871,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -6948,7 +6948,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 74 + src/gameobjects/TileSprite.js line 74 @@ -7046,7 +7046,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -7134,7 +7134,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -7226,7 +7226,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -7317,7 +7317,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -7408,7 +7408,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -7499,7 +7499,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -7590,7 +7590,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -7676,7 +7676,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -7768,7 +7768,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -7860,7 +7860,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -7949,7 +7949,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -8086,7 +8086,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -8277,7 +8277,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -8620,7 +8620,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -8964,7 +8964,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -9149,7 +9149,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 206 + src/gameobjects/TileSprite.js line 206 @@ -9269,7 +9269,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9436,7 +9436,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -9600,7 +9600,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9784,7 +9784,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 241 + src/gameobjects/TileSprite.js line 241 @@ -10029,7 +10029,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -10189,7 +10189,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 525 + src/gameobjects/TileSprite.js line 525 @@ -10278,7 +10278,7 @@

Source:
- src/gameobjects/TileSprite.js line 614 + src/gameobjects/TileSprite.js line 614 @@ -10445,7 +10445,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -10612,7 +10612,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -10729,7 +10729,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -10896,7 +10896,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -11017,7 +11017,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -11302,7 +11302,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11398,7 +11398,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -11518,7 +11518,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -11701,7 +11701,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -12007,7 +12007,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12124,7 +12124,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -12213,7 +12213,7 @@

Source:
- src/gameobjects/TileSprite.js line 178 + src/gameobjects/TileSprite.js line 178 @@ -12326,7 +12326,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -12469,7 +12469,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -12636,7 +12636,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -12827,7 +12827,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -12992,7 +12992,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 273 + src/gameobjects/TileSprite.js line 273 @@ -13109,7 +13109,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -13302,7 +13302,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13467,7 +13467,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -13587,7 +13587,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -13778,7 +13778,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -13922,7 +13922,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -14066,7 +14066,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -14230,7 +14230,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 295 + src/gameobjects/TileSprite.js line 295 @@ -14338,7 +14338,7 @@

Source:
- src/gameobjects/TileSprite.js line 226 + src/gameobjects/TileSprite.js line 226 @@ -14529,7 +14529,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -14672,7 +14672,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -14885,7 +14885,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -15006,7 +15006,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -15099,7 +15099,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -15288,7 +15288,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -15357,9 +15357,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -15376,7 +15376,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -15405,7 +15405,7 @@
Returns:
- + diff --git a/docs/Phaser.Tilemap.html b/docs/Phaser.Tilemap.html index 124aff5e5..f2e741652 100644 --- a/docs/Phaser.Tilemap.html +++ b/docs/Phaser.Tilemap.html @@ -6,7 +6,7 @@ Phaser CE Class: Tilemap - + @@ -451,7 +451,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 28 + src/tilemap/Tilemap.js line 28 @@ -552,7 +552,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 176 + src/tilemap/Tilemap.js line 176 @@ -625,7 +625,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 194 + src/tilemap/Tilemap.js line 194 @@ -698,7 +698,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 188 + src/tilemap/Tilemap.js line 188 @@ -771,7 +771,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 200 + src/tilemap/Tilemap.js line 200 @@ -844,7 +844,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 182 + src/tilemap/Tilemap.js line 182 @@ -917,7 +917,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 206 + src/tilemap/Tilemap.js line 206 @@ -994,7 +994,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 125 + src/tilemap/Tilemap.js line 125 @@ -1071,7 +1071,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 130 + src/tilemap/Tilemap.js line 130 @@ -1148,7 +1148,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 145 + src/tilemap/Tilemap.js line 145 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 150 + src/tilemap/Tilemap.js line 150 @@ -1302,7 +1302,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 140 + src/tilemap/Tilemap.js line 140 @@ -1379,7 +1379,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 75 + src/tilemap/Tilemap.js line 75 @@ -1456,7 +1456,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 33 + src/tilemap/Tilemap.js line 33 @@ -1533,7 +1533,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 55 + src/tilemap/Tilemap.js line 55 @@ -1610,7 +1610,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 95 + src/tilemap/Tilemap.js line 95 @@ -1687,7 +1687,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 110 + src/tilemap/Tilemap.js line 110 @@ -1764,7 +1764,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 135 + src/tilemap/Tilemap.js line 135 @@ -1841,7 +1841,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 38 + src/tilemap/Tilemap.js line 38 @@ -1924,7 +1924,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 1959 + src/tilemap/Tilemap.js line 1973 @@ -2001,7 +2001,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 100 + src/tilemap/Tilemap.js line 100 @@ -2078,7 +2078,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 120 + src/tilemap/Tilemap.js line 120 @@ -2155,7 +2155,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 70 + src/tilemap/Tilemap.js line 70 @@ -2232,7 +2232,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 85 + src/tilemap/Tilemap.js line 85 @@ -2309,7 +2309,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 65 + src/tilemap/Tilemap.js line 65 @@ -2386,7 +2386,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 115 + src/tilemap/Tilemap.js line 115 @@ -2463,7 +2463,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 105 + src/tilemap/Tilemap.js line 105 @@ -2540,7 +2540,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 60 + src/tilemap/Tilemap.js line 60 @@ -2617,7 +2617,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 80 + src/tilemap/Tilemap.js line 80 @@ -2694,7 +2694,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 50 + src/tilemap/Tilemap.js line 50 @@ -2771,7 +2771,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 90 + src/tilemap/Tilemap.js line 90 @@ -3159,7 +3159,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 253 + src/tilemap/Tilemap.js line 253 @@ -3317,7 +3317,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1085 + src/tilemap/Tilemap.js line 1099 @@ -3597,7 +3597,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1555 + src/tilemap/Tilemap.js line 1569 @@ -3927,7 +3927,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 210 + src/tilemap/Tilemap.js line 210 @@ -4257,7 +4257,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 641 + src/tilemap/Tilemap.js line 641 @@ -4756,7 +4756,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 378 + src/tilemap/Tilemap.js line 378 @@ -5109,7 +5109,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 473 + src/tilemap/Tilemap.js line 473 @@ -5385,7 +5385,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 567 + src/tilemap/Tilemap.js line 567 @@ -5494,7 +5494,7 @@

Source:
- src/tilemap/Tilemap.js line 1941 + src/tilemap/Tilemap.js line 1955 @@ -5578,7 +5578,7 @@

Source:
- src/tilemap/Tilemap.js line 1900 + src/tilemap/Tilemap.js line 1914 @@ -5890,7 +5890,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1857 + src/tilemap/Tilemap.js line 1871 @@ -6234,7 +6234,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1706 + src/tilemap/Tilemap.js line 1720 @@ -6368,7 +6368,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 772 + src/tilemap/Tilemap.js line 772 @@ -6550,7 +6550,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 723 + src/tilemap/Tilemap.js line 723 @@ -6714,7 +6714,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1029 + src/tilemap/Tilemap.js line 1043 @@ -6872,7 +6872,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 746 + src/tilemap/Tilemap.js line 746 @@ -7166,7 +7166,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1488 + src/tilemap/Tilemap.js line 1502 @@ -7373,7 +7373,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1155 + src/tilemap/Tilemap.js line 1169 @@ -7556,7 +7556,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1175 + src/tilemap/Tilemap.js line 1189 @@ -7739,7 +7739,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1195 + src/tilemap/Tilemap.js line 1209 @@ -7922,7 +7922,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1215 + src/tilemap/Tilemap.js line 1229 @@ -8056,7 +8056,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 759 + src/tilemap/Tilemap.js line 759 @@ -8426,7 +8426,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1529 + src/tilemap/Tilemap.js line 1543 @@ -8638,7 +8638,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1252 + src/tilemap/Tilemap.js line 1266 @@ -8910,7 +8910,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1617 + src/tilemap/Tilemap.js line 1631 @@ -9165,7 +9165,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1327 + src/tilemap/Tilemap.js line 1341 @@ -9504,7 +9504,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1398 + src/tilemap/Tilemap.js line 1412 @@ -9808,7 +9808,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1770 + src/tilemap/Tilemap.js line 1784 @@ -9892,7 +9892,7 @@

Source:
- src/tilemap/Tilemap.js line 1888 + src/tilemap/Tilemap.js line 1902 @@ -10108,7 +10108,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1274 + src/tilemap/Tilemap.js line 1288 @@ -10412,7 +10412,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1305 + src/tilemap/Tilemap.js line 1319 @@ -10780,7 +10780,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1735 + src/tilemap/Tilemap.js line 1749 @@ -11057,7 +11057,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1421 + src/tilemap/Tilemap.js line 1435 @@ -11360,7 +11360,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 852 + src/tilemap/Tilemap.js line 866 @@ -11672,7 +11672,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 892 + src/tilemap/Tilemap.js line 906 @@ -11947,7 +11947,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 929 + src/tilemap/Tilemap.js line 943 @@ -12216,7 +12216,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 963 + src/tilemap/Tilemap.js line 977 @@ -12356,7 +12356,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1235 + src/tilemap/Tilemap.js line 1249 @@ -12491,7 +12491,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1056 + src/tilemap/Tilemap.js line 1070 @@ -12745,7 +12745,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 785 + src/tilemap/Tilemap.js line 785 @@ -13092,7 +13092,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 818 + src/tilemap/Tilemap.js line 832 @@ -13250,7 +13250,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 237 + src/tilemap/Tilemap.js line 237 @@ -13530,7 +13530,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1815 + src/tilemap/Tilemap.js line 1829 @@ -13874,7 +13874,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1652 + src/tilemap/Tilemap.js line 1666 @@ -13917,9 +13917,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -13936,7 +13936,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -13965,7 +13965,7 @@
Parameters:
- + diff --git a/docs/Phaser.TilemapLayer.html b/docs/Phaser.TilemapLayer.html index d17e72f3c..245b206e7 100644 --- a/docs/Phaser.TilemapLayer.html +++ b/docs/Phaser.TilemapLayer.html @@ -6,7 +6,7 @@ Phaser CE Class: TilemapLayer - + @@ -328,7 +328,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 23 + src/tilemap/TilemapLayer.js line 23 @@ -464,7 +464,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 50 + src/gameobjects/components/LifeSpan.js line 50 @@ -560,7 +560,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -650,7 +650,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -741,7 +741,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -828,7 +828,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -925,7 +925,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1019,7 +1019,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1122,7 +1122,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 93 + src/gameobjects/components/PhysicsBody.js line 93 @@ -1209,7 +1209,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1302,7 +1302,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1389,7 +1389,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1466,7 +1466,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 59 + src/tilemap/TilemapLayer.js line 59 @@ -1553,7 +1553,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1640,7 +1640,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1732,7 +1732,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 98 + src/gameobjects/components/InWorld.js line 98 @@ -1818,7 +1818,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1904,7 +1904,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1992,7 +1992,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2088,7 +2088,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2170,7 +2170,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 110 + src/tilemap/TilemapLayer.js line 110 @@ -2455,7 +2455,7 @@
Properties:
Source:
- src/tilemap/TilemapLayer.js line 133 + src/tilemap/TilemapLayer.js line 133 @@ -2542,7 +2542,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2629,7 +2629,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -2715,7 +2715,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -2802,7 +2802,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2879,7 +2879,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 167 + src/tilemap/TilemapLayer.js line 167 @@ -2966,7 +2966,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -3055,7 +3055,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 115 + src/tilemap/TilemapLayer.js line 115 @@ -3141,7 +3141,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -3232,7 +3232,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -3330,7 +3330,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -3421,7 +3421,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3512,7 +3512,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3599,7 +3599,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3685,7 +3685,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3779,7 +3779,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3875,7 +3875,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3963,7 +3963,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -4050,7 +4050,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -4127,7 +4127,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 44 + src/tilemap/TilemapLayer.js line 44 @@ -4218,7 +4218,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -4311,7 +4311,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -4397,7 +4397,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 129 + src/gameobjects/components/InWorld.js line 129 @@ -4499,7 +4499,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -4576,7 +4576,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 52 + src/tilemap/TilemapLayer.js line 52 @@ -4663,7 +4663,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4753,7 +4753,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 65 + src/gameobjects/components/LifeSpan.js line 65 @@ -4830,7 +4830,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 36 + src/tilemap/TilemapLayer.js line 36 @@ -4919,7 +4919,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -5013,7 +5013,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -5100,7 +5100,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -5188,7 +5188,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -5276,7 +5276,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -5362,7 +5362,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 106 + src/gameobjects/components/InWorld.js line 106 @@ -5449,7 +5449,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 115 + src/gameobjects/components/InWorld.js line 115 @@ -5538,7 +5538,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -5627,7 +5627,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -5709,7 +5709,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 83 + src/tilemap/TilemapLayer.js line 83 @@ -5796,7 +5796,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5884,7 +5884,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5970,7 +5970,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -6056,7 +6056,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -6140,7 +6140,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 174 + src/tilemap/TilemapLayer.js line 174 @@ -6227,7 +6227,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -6314,7 +6314,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -6502,7 +6502,7 @@
Properties:
Source:
- src/tilemap/TilemapLayer.js line 98 + src/tilemap/TilemapLayer.js line 98 @@ -6589,7 +6589,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -6678,7 +6678,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -6767,7 +6767,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6855,7 +6855,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6943,7 +6943,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -7027,7 +7027,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 152 + src/tilemap/TilemapLayer.js line 152 @@ -7111,7 +7111,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 160 + src/tilemap/TilemapLayer.js line 160 @@ -7205,7 +7205,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -7293,7 +7293,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -7379,7 +7379,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -7494,7 +7494,7 @@
Properties:
Source:
- src/tilemap/TilemapLayer.js line 228 + src/tilemap/TilemapLayer.js line 228 @@ -7587,7 +7587,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -7680,7 +7680,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -7767,7 +7767,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -7853,7 +7853,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -7939,7 +7939,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -8028,7 +8028,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 77 + src/tilemap/TilemapLayer.js line 77 @@ -8126,7 +8126,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -8214,7 +8214,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -8306,7 +8306,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -8397,7 +8397,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -8488,7 +8488,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -8579,7 +8579,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -8670,7 +8670,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -8756,7 +8756,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -8843,7 +8843,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -8930,7 +8930,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -9019,7 +9019,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -9156,7 +9156,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -9347,7 +9347,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -9690,7 +9690,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -10034,7 +10034,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -10154,7 +10154,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -10321,7 +10321,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -10547,7 +10547,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -10691,7 +10691,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -10804,7 +10804,7 @@

Source:
- src/tilemap/TilemapLayer.js line 357 + src/tilemap/TilemapLayer.js line 357 @@ -10889,7 +10889,7 @@

Source:
- src/tilemap/TilemapLayer.js line 259 + src/tilemap/TilemapLayer.js line 259 @@ -11134,7 +11134,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -11310,7 +11310,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -11477,7 +11477,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -11644,7 +11644,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -11752,7 +11752,7 @@

Source:
- src/tilemap/TilemapLayer.js line 420 + src/tilemap/TilemapLayer.js line 420 @@ -11865,7 +11865,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -12159,7 +12159,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 583 + src/tilemap/TilemapLayer.js line 583 @@ -12267,7 +12267,7 @@

Source:
- src/tilemap/TilemapLayer.js line 433 + src/tilemap/TilemapLayer.js line 433 @@ -12625,7 +12625,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 630 + src/tilemap/TilemapLayer.js line 630 @@ -12783,7 +12783,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 534 + src/tilemap/TilemapLayer.js line 534 @@ -12992,7 +12992,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 564 + src/tilemap/TilemapLayer.js line 564 @@ -13153,7 +13153,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 549 + src/tilemap/TilemapLayer.js line 549 @@ -13320,7 +13320,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -13441,7 +13441,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 113 + src/gameobjects/components/LifeSpan.js line 113 @@ -13726,7 +13726,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -13822,7 +13822,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -13942,7 +13942,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -14125,7 +14125,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -14431,7 +14431,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -14544,7 +14544,7 @@

Source:
- src/tilemap/TilemapLayer.js line 290 + src/tilemap/TilemapLayer.js line 290 @@ -14633,7 +14633,7 @@

Source:
- src/tilemap/TilemapLayer.js line 279 + src/tilemap/TilemapLayer.js line 279 @@ -14726,7 +14726,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -14869,7 +14869,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -15036,7 +15036,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -15227,7 +15227,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -15311,7 +15311,7 @@

Source:
- src/tilemap/TilemapLayer.js line 1077 + src/tilemap/TilemapLayer.js line 1077 @@ -15550,7 +15550,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -15667,7 +15667,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -15752,7 +15752,7 @@

Source:
- src/tilemap/TilemapLayer.js line 725 + src/tilemap/TilemapLayer.js line 725 @@ -15914,7 +15914,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 370 + src/tilemap/TilemapLayer.js line 370 @@ -16107,7 +16107,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -16191,7 +16191,7 @@

Source:
- src/tilemap/TilemapLayer.js line 408 + src/tilemap/TilemapLayer.js line 408 @@ -16356,7 +16356,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 78 + src/gameobjects/components/LifeSpan.js line 78 @@ -16476,7 +16476,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -16667,7 +16667,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -16811,7 +16811,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -16955,7 +16955,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -17171,7 +17171,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 744 + src/tilemap/TilemapLayer.js line 744 @@ -17408,7 +17408,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -17608,7 +17608,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -17775,7 +17775,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -17918,7 +17918,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -18131,7 +18131,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -18252,7 +18252,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -18345,7 +18345,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -18465,7 +18465,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -18628,7 +18628,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -18697,9 +18697,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -18716,7 +18716,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -18745,7 +18745,7 @@
Returns:
- + diff --git a/docs/Phaser.TilemapParser.html b/docs/Phaser.TilemapParser.html index 3a716118d..873997de6 100644 --- a/docs/Phaser.TilemapParser.html +++ b/docs/Phaser.TilemapParser.html @@ -6,7 +6,7 @@ Phaser CE Class: TilemapParser - + @@ -180,7 +180,7 @@

Source:
- src/tilemap/TilemapParser.js line 13 + src/tilemap/TilemapParser.js line 13 @@ -290,7 +290,7 @@
Type:
Source:
- src/tilemap/TilemapParser.js line 26 + src/tilemap/TilemapParser.js line 26 @@ -368,7 +368,7 @@

Source:
- src/tilemap/TilemapParser.js line 135 + src/tilemap/TilemapParser.js line 135 @@ -738,7 +738,7 @@
Parameters:
Source:
- src/tilemap/TilemapParser.js line 28 + src/tilemap/TilemapParser.js line 28 @@ -1028,7 +1028,7 @@
Parameters:
Source:
- src/tilemap/TilemapParser.js line 77 + src/tilemap/TilemapParser.js line 77 @@ -1354,7 +1354,7 @@
Parameters:
Source:
- src/tilemap/TilemapParser.js line 181 + src/tilemap/TilemapParser.js line 181 @@ -1512,7 +1512,7 @@
Parameters:
Source:
- src/tilemap/TilemapParser.js line 329 + src/tilemap/TilemapParser.js line 329 @@ -1579,9 +1579,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1598,7 +1598,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1627,7 +1627,7 @@
Returns:
- + diff --git a/docs/Phaser.Tileset.html b/docs/Phaser.Tileset.html index b4d9a6c02..fa74bf64d 100644 --- a/docs/Phaser.Tileset.html +++ b/docs/Phaser.Tileset.html @@ -6,7 +6,7 @@ Phaser CE Class: Tileset - + @@ -483,7 +483,7 @@
Parameters:
Source:
- src/tilemap/Tileset.js line 22 + src/tilemap/Tileset.js line 22 @@ -588,7 +588,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 101 + src/tilemap/Tileset.js line 101 @@ -666,7 +666,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 40 + src/tilemap/Tileset.js line 40 @@ -743,7 +743,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 85 + src/tilemap/Tileset.js line 85 @@ -820,7 +820,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 33 + src/tilemap/Tileset.js line 33 @@ -897,7 +897,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 77 + src/tilemap/Tileset.js line 77 @@ -1012,7 +1012,7 @@
Properties:
Source:
- src/tilemap/Tileset.js line 93 + src/tilemap/Tileset.js line 93 @@ -1089,7 +1089,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 54 + src/tilemap/Tileset.js line 54 @@ -1209,7 +1209,7 @@
Properties:
Source:
- src/tilemap/Tileset.js line 63 + src/tilemap/Tileset.js line 63 @@ -1287,7 +1287,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 71 + src/tilemap/Tileset.js line 71 @@ -1364,7 +1364,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 47 + src/tilemap/Tileset.js line 47 @@ -1441,7 +1441,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 109 + src/tilemap/Tileset.js line 109 @@ -1569,7 +1569,7 @@
Parameters:
Source:
- src/tilemap/Tileset.js line 155 + src/tilemap/Tileset.js line 155 @@ -1799,7 +1799,7 @@
Parameters:
Source:
- src/tilemap/Tileset.js line 123 + src/tilemap/Tileset.js line 123 @@ -1933,7 +1933,7 @@
Parameters:
Source:
- src/tilemap/Tileset.js line 172 + src/tilemap/Tileset.js line 172 @@ -2127,7 +2127,7 @@
Parameters:
Source:
- src/tilemap/Tileset.js line 186 + src/tilemap/Tileset.js line 186 @@ -2170,9 +2170,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2189,7 +2189,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2218,7 +2218,7 @@
Parameters:
- + diff --git a/docs/Phaser.Time.html b/docs/Phaser.Time.html index dab997444..b9374f4be 100644 --- a/docs/Phaser.Time.html +++ b/docs/Phaser.Time.html @@ -6,7 +6,7 @@ Phaser CE Class: Time - + @@ -248,7 +248,7 @@
Parameters:
Source:
- src/time/Time.js line 38 + src/time/Time.js line 38 @@ -353,7 +353,7 @@
Type:
Source:
- src/time/Time.js line 170 + src/time/Time.js line 170 @@ -431,7 +431,7 @@
Type:
Source:
- src/time/Time.js line 601 + src/time/Time.js line 601 @@ -508,7 +508,7 @@
Type:
Source:
- src/time/Time.js line 126 + src/time/Time.js line 126 @@ -588,7 +588,7 @@
Type:
Source:
- src/time/Time.js line 86 + src/time/Time.js line 86 @@ -675,7 +675,7 @@
Type:
Source:
- src/time/Time.js line 99 + src/time/Time.js line 99 @@ -752,7 +752,7 @@
Type:
Source:
- src/time/Time.js line 250 + src/time/Time.js line 250 @@ -830,7 +830,7 @@
Type:
Source:
- src/time/Time.js line 188 + src/time/Time.js line 188 @@ -909,7 +909,7 @@
Type:
Source:
- src/time/Time.js line 206 + src/time/Time.js line 206 @@ -988,7 +988,7 @@
Type:
Source:
- src/time/Time.js line 197 + src/time/Time.js line 197 @@ -1066,7 +1066,7 @@
Type:
Source:
- src/time/Time.js line 179 + src/time/Time.js line 179 @@ -1143,7 +1143,7 @@
Type:
Source:
- src/time/Time.js line 44 + src/time/Time.js line 44 @@ -1222,7 +1222,7 @@
Type:
Source:
- src/time/Time.js line 225 + src/time/Time.js line 225 @@ -1308,7 +1308,7 @@
Type:
Source:
- src/time/Time.js line 216 + src/time/Time.js line 216 @@ -1389,7 +1389,7 @@
Type:
Source:
- src/time/Time.js line 72 + src/time/Time.js line 72 @@ -1467,7 +1467,7 @@
Type:
Source:
- src/time/Time.js line 232 + src/time/Time.js line 232 @@ -1548,7 +1548,7 @@
Type:
Source:
- src/time/Time.js line 112 + src/time/Time.js line 112 @@ -1625,7 +1625,7 @@
Type:
Source:
- src/time/Time.js line 119 + src/time/Time.js line 119 @@ -1702,7 +1702,7 @@
Type:
Source:
- src/time/Time.js line 58 + src/time/Time.js line 58 @@ -1792,7 +1792,7 @@
Type:
Source:
- src/time/Time.js line 163 + src/time/Time.js line 163 @@ -1872,7 +1872,7 @@
Type:
Source:
- src/time/Time.js line 149 + src/time/Time.js line 149 @@ -1949,7 +1949,7 @@
Type:
Source:
- src/time/Time.js line 51 + src/time/Time.js line 51 @@ -2026,7 +2026,7 @@
Type:
Source:
- src/time/Time.js line 244 + src/time/Time.js line 244 @@ -2103,7 +2103,7 @@
Type:
Source:
- src/time/Time.js line 238 + src/time/Time.js line 238 @@ -2231,7 +2231,7 @@
Parameters:
Source:
- src/time/Time.js line 313 + src/time/Time.js line 313 @@ -2339,7 +2339,7 @@

Source:
- src/time/Time.js line 298 + src/time/Time.js line 298 @@ -2493,7 +2493,7 @@
Parameters:
Source:
- src/time/Time.js line 328 + src/time/Time.js line 328 @@ -2651,7 +2651,7 @@
Parameters:
Source:
- src/time/Time.js line 576 + src/time/Time.js line 576 @@ -2809,7 +2809,7 @@
Parameters:
Source:
- src/time/Time.js line 565 + src/time/Time.js line 565 @@ -2917,7 +2917,7 @@

Source:
- src/time/Time.js line 365 + src/time/Time.js line 365 @@ -3001,7 +3001,7 @@

Source:
- src/time/Time.js line 347 + src/time/Time.js line 347 @@ -3085,7 +3085,7 @@

Source:
- src/time/Time.js line 587 + src/time/Time.js line 587 @@ -3169,7 +3169,7 @@

Source:
- src/time/Time.js line 555 + src/time/Time.js line 555 @@ -3327,7 +3327,7 @@
Parameters:
Source:
- src/time/Time.js line 383 + src/time/Time.js line 383 @@ -3370,9 +3370,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -3389,7 +3389,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -3418,7 +3418,7 @@
Parameters:
- + diff --git a/docs/Phaser.Timer.html b/docs/Phaser.Timer.html index e277442ce..aa31d8e97 100644 --- a/docs/Phaser.Timer.html +++ b/docs/Phaser.Timer.html @@ -6,7 +6,7 @@ Phaser CE Class: Timer - + @@ -290,7 +290,7 @@
Parameters:
Source:
- src/time/Timer.js line 21 + src/time/Timer.js line 21 @@ -395,7 +395,7 @@
Type:
Source:
- src/time/Timer.js line 175 + src/time/Timer.js line 175 @@ -472,7 +472,7 @@
Type:
Source:
- src/time/Timer.js line 161 + src/time/Timer.js line 161 @@ -549,7 +549,7 @@
Type:
Source:
- src/time/Timer.js line 182 + src/time/Timer.js line 182 @@ -626,7 +626,7 @@
Type:
Source:
- src/time/Timer.js line 168 + src/time/Timer.js line 168 @@ -703,7 +703,7 @@
Type:
Source:
- src/time/Timer.js line 45 + src/time/Timer.js line 45 @@ -780,7 +780,7 @@
Type:
Source:
- src/time/Timer.js line 680 + src/time/Timer.js line 680 @@ -857,7 +857,7 @@
Type:
Source:
- src/time/Timer.js line 58 + src/time/Timer.js line 58 @@ -934,7 +934,7 @@
Type:
Source:
- src/time/Timer.js line 63 + src/time/Timer.js line 63 @@ -1011,7 +1011,7 @@
Type:
Source:
- src/time/Timer.js line 52 + src/time/Timer.js line 52 @@ -1088,7 +1088,7 @@
Type:
Source:
- src/time/Timer.js line 29 + src/time/Timer.js line 29 @@ -1165,7 +1165,7 @@
Type:
Source:
- src/time/Timer.js line 702 + src/time/Timer.js line 702 @@ -1242,7 +1242,7 @@
Type:
Source:
- src/time/Timer.js line 715 + src/time/Timer.js line 715 @@ -1319,7 +1319,7 @@
Type:
Source:
- src/time/Timer.js line 667 + src/time/Timer.js line 667 @@ -1396,7 +1396,7 @@
Type:
Source:
- src/time/Timer.js line 79 + src/time/Timer.js line 79 @@ -1474,7 +1474,7 @@
Type:
Source:
- src/time/Timer.js line 72 + src/time/Timer.js line 72 @@ -1551,7 +1551,7 @@
Type:
Source:
- src/time/Timer.js line 91 + src/time/Timer.js line 91 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/time/Timer.js line 39 + src/time/Timer.js line 39 @@ -1706,7 +1706,7 @@
Type:
Source:
- src/time/Timer.js line 737 + src/time/Timer.js line 737 @@ -1783,7 +1783,7 @@
Type:
Source:
- src/time/Timer.js line 84 + src/time/Timer.js line 84 @@ -2022,7 +2022,7 @@
Parameters:
Source:
- src/time/Timer.js line 228 + src/time/Timer.js line 228 @@ -2130,7 +2130,7 @@

Source:
- src/time/Timer.js line 554 + src/time/Timer.js line 554 @@ -2214,7 +2214,7 @@

Source:
- src/time/Timer.js line 392 + src/time/Timer.js line 392 @@ -2299,7 +2299,7 @@

Source:
- src/time/Timer.js line 648 + src/time/Timer.js line 648 @@ -2544,7 +2544,7 @@
Parameters:
Source:
- src/time/Timer.js line 272 + src/time/Timer.js line 272 @@ -2653,7 +2653,7 @@

Source:
- src/time/Timer.js line 354 + src/time/Timer.js line 354 @@ -2737,7 +2737,7 @@

Source:
- src/time/Timer.js line 512 + src/time/Timer.js line 512 @@ -2871,7 +2871,7 @@
Parameters:
Source:
- src/time/Timer.js line 334 + src/time/Timer.js line 334 @@ -2956,7 +2956,7 @@

Source:
- src/time/Timer.js line 633 + src/time/Timer.js line 633 @@ -3234,7 +3234,7 @@
Parameters:
Source:
- src/time/Timer.js line 249 + src/time/Timer.js line 249 @@ -3342,7 +3342,7 @@

Source:
- src/time/Timer.js line 592 + src/time/Timer.js line 592 @@ -3496,7 +3496,7 @@
Parameters:
Source:
- src/time/Timer.js line 293 + src/time/Timer.js line 293 @@ -3650,7 +3650,7 @@
Parameters:
Source:
- src/time/Timer.js line 316 + src/time/Timer.js line 316 @@ -3784,7 +3784,7 @@
Parameters:
Source:
- src/time/Timer.js line 415 + src/time/Timer.js line 415 @@ -3851,9 +3851,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -3870,7 +3870,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -3899,7 +3899,7 @@
Returns:
- + diff --git a/docs/Phaser.TimerEvent.html b/docs/Phaser.TimerEvent.html index 6f1a6abe0..8680c199b 100644 --- a/docs/Phaser.TimerEvent.html +++ b/docs/Phaser.TimerEvent.html @@ -6,7 +6,7 @@ Phaser CE Class: TimerEvent - + @@ -402,7 +402,7 @@
Parameters:
Source:
- src/time/TimerEvent.js line 28 + src/time/TimerEvent.js line 28 @@ -545,7 +545,7 @@
Properties:
Source:
- src/time/TimerEvent.js line 70 + src/time/TimerEvent.js line 70 @@ -622,7 +622,7 @@
Type:
Source:
- src/time/TimerEvent.js line 60 + src/time/TimerEvent.js line 60 @@ -699,7 +699,7 @@
Type:
Source:
- src/time/TimerEvent.js line 65 + src/time/TimerEvent.js line 65 @@ -776,7 +776,7 @@
Type:
Source:
- src/time/TimerEvent.js line 40 + src/time/TimerEvent.js line 40 @@ -853,7 +853,7 @@
Type:
Source:
- src/time/TimerEvent.js line 55 + src/time/TimerEvent.js line 55 @@ -930,7 +930,7 @@
Type:
Source:
- src/time/TimerEvent.js line 76 + src/time/TimerEvent.js line 76 @@ -1007,7 +1007,7 @@
Type:
Source:
- src/time/TimerEvent.js line 50 + src/time/TimerEvent.js line 50 @@ -1084,7 +1084,7 @@
Type:
Source:
- src/time/TimerEvent.js line 45 + src/time/TimerEvent.js line 45 @@ -1161,7 +1161,7 @@
Type:
Source:
- src/time/TimerEvent.js line 35 + src/time/TimerEvent.js line 35 @@ -1194,9 +1194,9 @@
Type:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1213,7 +1213,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1242,7 +1242,7 @@
Type:
- + diff --git a/docs/Phaser.Touch.html b/docs/Phaser.Touch.html index 5a0380075..87f1c923e 100644 --- a/docs/Phaser.Touch.html +++ b/docs/Phaser.Touch.html @@ -6,7 +6,7 @@ Phaser CE Class: Touch - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/input/Touch.js line 16 + src/input/Touch.js line 16 @@ -336,7 +336,7 @@
Type:
Source:
- src/input/Touch.js line 33 + src/input/Touch.js line 33 @@ -420,7 +420,7 @@
Type:
Source:
- src/input/Touch.js line 28 + src/input/Touch.js line 28 @@ -497,7 +497,7 @@
Type:
Source:
- src/input/Touch.js line 75 + src/input/Touch.js line 75 @@ -574,7 +574,7 @@
Type:
Source:
- src/input/Touch.js line 21 + src/input/Touch.js line 21 @@ -658,7 +658,7 @@
Type:
Source:
- src/input/Touch.js line 69 + src/input/Touch.js line 69 @@ -735,7 +735,7 @@
Type:
Source:
- src/input/Touch.js line 63 + src/input/Touch.js line 63 @@ -812,7 +812,7 @@
Type:
Source:
- src/input/Touch.js line 48 + src/input/Touch.js line 48 @@ -889,7 +889,7 @@
Type:
Source:
- src/input/Touch.js line 53 + src/input/Touch.js line 53 @@ -966,7 +966,7 @@
Type:
Source:
- src/input/Touch.js line 58 + src/input/Touch.js line 58 @@ -1043,7 +1043,7 @@
Type:
Source:
- src/input/Touch.js line 43 + src/input/Touch.js line 43 @@ -1120,7 +1120,7 @@
Type:
Source:
- src/input/Touch.js line 38 + src/input/Touch.js line 38 @@ -1207,7 +1207,7 @@

Source:
- src/input/Touch.js line 175 + src/input/Touch.js line 175 @@ -1291,7 +1291,7 @@

Source:
- src/input/Touch.js line 193 + src/input/Touch.js line 193 @@ -1426,7 +1426,7 @@
Parameters:
Source:
- src/input/Touch.js line 243 + src/input/Touch.js line 243 @@ -1560,7 +1560,7 @@
Parameters:
Source:
- src/input/Touch.js line 352 + src/input/Touch.js line 352 @@ -1695,7 +1695,7 @@
Parameters:
Source:
- src/input/Touch.js line 277 + src/input/Touch.js line 277 @@ -1830,7 +1830,7 @@
Parameters:
Source:
- src/input/Touch.js line 304 + src/input/Touch.js line 304 @@ -1964,7 +1964,7 @@
Parameters:
Source:
- src/input/Touch.js line 326 + src/input/Touch.js line 326 @@ -2098,7 +2098,7 @@
Parameters:
Source:
- src/input/Touch.js line 207 + src/input/Touch.js line 207 @@ -2191,7 +2191,7 @@

Source:
- src/input/Touch.js line 183 + src/input/Touch.js line 183 @@ -2275,7 +2275,7 @@

Source:
- src/input/Touch.js line 123 + src/input/Touch.js line 123 @@ -2359,7 +2359,7 @@

Source:
- src/input/Touch.js line 383 + src/input/Touch.js line 383 @@ -2402,9 +2402,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2421,7 +2421,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2450,7 +2450,7 @@

- + diff --git a/docs/Phaser.Tween.html b/docs/Phaser.Tween.html index c969b6ced..84a46c8d3 100644 --- a/docs/Phaser.Tween.html +++ b/docs/Phaser.Tween.html @@ -6,7 +6,7 @@ Phaser CE Class: Tween - + @@ -282,7 +282,7 @@

Parameters:
Source:
- src/tween/Tween.js line 20 + src/tween/Tween.js line 20 @@ -387,7 +387,7 @@
Type:
Source:
- src/tween/Tween.js line 130 + src/tween/Tween.js line 130 @@ -464,7 +464,7 @@
Type:
Source:
- src/tween/Tween.js line 120 + src/tween/Tween.js line 120 @@ -547,7 +547,7 @@
Type:
Source:
- src/tween/Tween.js line 152 + src/tween/Tween.js line 152 @@ -624,7 +624,7 @@
Type:
Source:
- src/tween/Tween.js line 25 + src/tween/Tween.js line 25 @@ -701,7 +701,7 @@
Type:
Source:
- src/tween/Tween.js line 136 + src/tween/Tween.js line 136 @@ -778,7 +778,7 @@
Type:
Source:
- src/tween/Tween.js line 113 + src/tween/Tween.js line 113 @@ -855,7 +855,7 @@
Type:
Source:
- src/tween/Tween.js line 35 + src/tween/Tween.js line 35 @@ -934,7 +934,7 @@
Type:
Source:
- src/tween/Tween.js line 100 + src/tween/Tween.js line 100 @@ -1012,7 +1012,7 @@
Type:
Source:
- src/tween/Tween.js line 107 + src/tween/Tween.js line 107 @@ -1090,7 +1090,7 @@
Type:
Source:
- src/tween/Tween.js line 85 + src/tween/Tween.js line 85 @@ -1168,7 +1168,7 @@
Type:
Source:
- src/tween/Tween.js line 92 + src/tween/Tween.js line 92 @@ -1246,7 +1246,7 @@
Type:
Source:
- src/tween/Tween.js line 77 + src/tween/Tween.js line 77 @@ -1323,7 +1323,7 @@
Type:
Source:
- src/tween/Tween.js line 70 + src/tween/Tween.js line 70 @@ -1400,7 +1400,7 @@
Type:
Source:
- src/tween/Tween.js line 125 + src/tween/Tween.js line 125 @@ -1477,7 +1477,7 @@
Type:
Source:
- src/tween/Tween.js line 63 + src/tween/Tween.js line 63 @@ -1556,7 +1556,7 @@
Type:
Source:
- src/tween/Tween.js line 49 + src/tween/Tween.js line 49 @@ -1633,7 +1633,7 @@
Type:
Source:
- src/tween/Tween.js line 30 + src/tween/Tween.js line 30 @@ -1710,7 +1710,7 @@
Type:
Source:
- src/tween/Tween.js line 40 + src/tween/Tween.js line 40 @@ -1795,7 +1795,7 @@
Type:
Source:
- src/tween/Tween.js line 58 + src/tween/Tween.js line 58 @@ -1872,7 +1872,7 @@
Type:
Source:
- src/tween/Tween.js line 928 + src/tween/Tween.js line 928 @@ -2010,7 +2010,7 @@
Parameters:
Source:
- src/tween/Tween.js line 188 + src/tween/Tween.js line 188 @@ -2162,7 +2162,7 @@
Parameters:
Source:
- src/tween/Tween.js line 593 + src/tween/Tween.js line 593 @@ -2379,7 +2379,7 @@
Parameters:
Source:
- src/tween/Tween.js line 435 + src/tween/Tween.js line 435 @@ -2599,7 +2599,7 @@
Parameters:
Source:
- src/tween/Tween.js line 531 + src/tween/Tween.js line 531 @@ -3019,7 +3019,7 @@
Parameters:
Source:
- src/tween/Tween.js line 264 + src/tween/Tween.js line 264 @@ -3238,7 +3238,7 @@
Parameters:
Source:
- src/tween/Tween.js line 875 + src/tween/Tween.js line 875 @@ -3493,7 +3493,7 @@
Parameters:
Source:
- src/tween/Tween.js line 553 + src/tween/Tween.js line 553 @@ -3679,7 +3679,7 @@
Parameters:
Source:
- src/tween/Tween.js line 627 + src/tween/Tween.js line 627 @@ -3865,7 +3865,7 @@
Parameters:
Source:
- src/tween/Tween.js line 653 + src/tween/Tween.js line 653 @@ -3973,7 +3973,7 @@

Source:
- src/tween/Tween.js line 678 + src/tween/Tween.js line 678 @@ -4206,7 +4206,7 @@
Parameters:
Source:
- src/tween/Tween.js line 452 + src/tween/Tween.js line 452 @@ -4385,7 +4385,7 @@
Parameters:
Source:
- src/tween/Tween.js line 575 + src/tween/Tween.js line 575 @@ -4602,7 +4602,7 @@
Parameters:
Source:
- src/tween/Tween.js line 474 + src/tween/Tween.js line 474 @@ -4710,7 +4710,7 @@

Source:
- src/tween/Tween.js line 710 + src/tween/Tween.js line 710 @@ -4866,7 +4866,7 @@
Parameters:
Source:
- src/tween/Tween.js line 311 + src/tween/Tween.js line 311 @@ -5046,7 +5046,7 @@
Parameters:
Source:
- src/tween/Tween.js line 367 + src/tween/Tween.js line 367 @@ -5466,7 +5466,7 @@
Parameters:
Source:
- src/tween/Tween.js line 217 + src/tween/Tween.js line 217 @@ -5624,7 +5624,7 @@
Parameters:
Source:
- src/tween/Tween.js line 752 + src/tween/Tween.js line 752 @@ -5879,7 +5879,7 @@
Parameters:
Source:
- src/tween/Tween.js line 402 + src/tween/Tween.js line 402 @@ -6137,7 +6137,7 @@
Parameters:
Source:
- src/tween/Tween.js line 491 + src/tween/Tween.js line 491 @@ -6354,7 +6354,7 @@
Parameters:
Source:
- src/tween/Tween.js line 514 + src/tween/Tween.js line 514 @@ -6421,9 +6421,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -6440,7 +6440,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -6469,7 +6469,7 @@
Returns:
- + diff --git a/docs/Phaser.TweenData.html b/docs/Phaser.TweenData.html index bc2ba3e61..cd372a9ce 100644 --- a/docs/Phaser.TweenData.html +++ b/docs/Phaser.TweenData.html @@ -6,7 +6,7 @@ Phaser CE Class: TweenData - + @@ -232,7 +232,7 @@
Parameters:
Source:
- src/tween/TweenData.js line 16 + src/tween/TweenData.js line 16 @@ -333,7 +333,7 @@
Type:
Source:
- src/tween/TweenData.js line 180 + src/tween/TweenData.js line 180 @@ -406,7 +406,7 @@
Type:
Source:
- src/tween/TweenData.js line 174 + src/tween/TweenData.js line 174 @@ -479,7 +479,7 @@
Type:
Source:
- src/tween/TweenData.js line 162 + src/tween/TweenData.js line 162 @@ -552,7 +552,7 @@
Type:
Source:
- src/tween/TweenData.js line 168 + src/tween/TweenData.js line 168 @@ -629,7 +629,7 @@
Type:
Source:
- src/tween/TweenData.js line 114 + src/tween/TweenData.js line 114 @@ -706,7 +706,7 @@
Type:
Source:
- src/tween/TweenData.js line 119 + src/tween/TweenData.js line 119 @@ -790,7 +790,7 @@
Type:
Source:
- src/tween/TweenData.js line 56 + src/tween/TweenData.js line 56 @@ -874,7 +874,7 @@
Type:
Source:
- src/tween/TweenData.js line 130 + src/tween/TweenData.js line 130 @@ -951,7 +951,7 @@
Type:
Source:
- src/tween/TweenData.js line 26 + src/tween/TweenData.js line 26 @@ -1028,7 +1028,7 @@
Type:
Source:
- src/tween/TweenData.js line 108 + src/tween/TweenData.js line 108 @@ -1105,7 +1105,7 @@
Type:
Source:
- src/tween/TweenData.js line 91 + src/tween/TweenData.js line 91 @@ -1196,7 +1196,7 @@
Type:
Source:
- src/tween/TweenData.js line 142 + src/tween/TweenData.js line 142 @@ -1280,7 +1280,7 @@
Type:
Source:
- src/tween/TweenData.js line 136 + src/tween/TweenData.js line 136 @@ -1357,7 +1357,7 @@
Type:
Source:
- src/tween/TweenData.js line 154 + src/tween/TweenData.js line 154 @@ -1434,7 +1434,7 @@
Type:
Source:
- src/tween/TweenData.js line 148 + src/tween/TweenData.js line 148 @@ -1511,7 +1511,7 @@
Type:
Source:
- src/tween/TweenData.js line 21 + src/tween/TweenData.js line 21 @@ -1588,7 +1588,7 @@
Type:
Source:
- src/tween/TweenData.js line 62 + src/tween/TweenData.js line 62 @@ -1665,7 +1665,7 @@
Type:
Source:
- src/tween/TweenData.js line 73 + src/tween/TweenData.js line 73 @@ -1742,7 +1742,7 @@
Type:
Source:
- src/tween/TweenData.js line 78 + src/tween/TweenData.js line 78 @@ -1819,7 +1819,7 @@
Type:
Source:
- src/tween/TweenData.js line 84 + src/tween/TweenData.js line 84 @@ -1896,7 +1896,7 @@
Type:
Source:
- src/tween/TweenData.js line 124 + src/tween/TweenData.js line 124 @@ -1973,7 +1973,7 @@
Type:
Source:
- src/tween/TweenData.js line 68 + src/tween/TweenData.js line 68 @@ -2050,7 +2050,7 @@
Type:
Source:
- src/tween/TweenData.js line 97 + src/tween/TweenData.js line 97 @@ -2127,7 +2127,7 @@
Type:
Source:
- src/tween/TweenData.js line 102 + src/tween/TweenData.js line 102 @@ -2472,7 +2472,7 @@
Parameters:
Source:
- src/tween/TweenData.js line 212 + src/tween/TweenData.js line 212 @@ -2652,7 +2652,7 @@
Parameters:
Source:
- src/tween/TweenData.js line 412 + src/tween/TweenData.js line 412 @@ -2760,7 +2760,7 @@

Source:
- src/tween/TweenData.js line 240 + src/tween/TweenData.js line 240 @@ -3135,7 +3135,7 @@
Parameters:
Source:
- src/tween/TweenData.js line 184 + src/tween/TweenData.js line 184 @@ -3293,7 +3293,7 @@
Parameters:
Source:
- src/tween/TweenData.js line 341 + src/tween/TweenData.js line 341 @@ -3360,9 +3360,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -3379,7 +3379,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -3408,7 +3408,7 @@
Returns:
- + diff --git a/docs/Phaser.TweenManager.html b/docs/Phaser.TweenManager.html index 94e1fd8dc..9df839049 100644 --- a/docs/Phaser.TweenManager.html +++ b/docs/Phaser.TweenManager.html @@ -6,7 +6,7 @@ Phaser CE Class: TweenManager - + @@ -235,7 +235,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 20 + src/tween/TweenManager.js line 20 @@ -345,7 +345,7 @@
Type:
Source:
- src/tween/TweenManager.js line 38 + src/tween/TweenManager.js line 38 @@ -422,7 +422,7 @@
Type:
Source:
- src/tween/TweenManager.js line 25 + src/tween/TweenManager.js line 25 @@ -550,7 +550,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 189 + src/tween/TweenManager.js line 189 @@ -708,7 +708,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 203 + src/tween/TweenManager.js line 203 @@ -816,7 +816,7 @@

Source:
- src/tween/TweenManager.js line 114 + src/tween/TweenManager.js line 114 @@ -974,7 +974,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 285 + src/tween/TweenManager.js line 285 @@ -1082,7 +1082,7 @@

Source:
- src/tween/TweenManager.js line 330 + src/tween/TweenManager.js line 330 @@ -1216,7 +1216,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 216 + src/tween/TweenManager.js line 216 @@ -1300,7 +1300,7 @@

Source:
- src/tween/TweenManager.js line 125 + src/tween/TweenManager.js line 125 @@ -1496,7 +1496,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 140 + src/tween/TweenManager.js line 140 @@ -1580,7 +1580,7 @@

Source:
- src/tween/TweenManager.js line 344 + src/tween/TweenManager.js line 344 @@ -1664,7 +1664,7 @@

Source:
- src/tween/TweenManager.js line 242 + src/tween/TweenManager.js line 242 @@ -1731,9 +1731,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1750,7 +1750,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1779,7 +1779,7 @@
Returns:
- + diff --git a/docs/Phaser.Utils.Debug.html b/docs/Phaser.Utils.Debug.html index cd37c532b..07bad9cdd 100644 --- a/docs/Phaser.Utils.Debug.html +++ b/docs/Phaser.Utils.Debug.html @@ -6,7 +6,7 @@ Phaser CE Class: Debug - + @@ -237,7 +237,7 @@
Parameters:
Source:
- src/utils/Debug.js line 23 + src/utils/Debug.js line 23 @@ -342,7 +342,7 @@
Type:
Source:
- src/utils/Debug.js line 38 + src/utils/Debug.js line 38 @@ -419,7 +419,7 @@
Type:
Source:
- src/utils/Debug.js line 43 + src/utils/Debug.js line 43 @@ -503,7 +503,7 @@
Type:
Source:
- src/utils/Debug.js line 60 + src/utils/Debug.js line 60 @@ -580,7 +580,7 @@
Type:
Source:
- src/utils/Debug.js line 48 + src/utils/Debug.js line 48 @@ -664,7 +664,7 @@
Type:
Source:
- src/utils/Debug.js line 96 + src/utils/Debug.js line 96 @@ -741,7 +741,7 @@
Type:
Source:
- src/utils/Debug.js line 84 + src/utils/Debug.js line 84 @@ -818,7 +818,7 @@
Type:
Source:
- src/utils/Debug.js line 90 + src/utils/Debug.js line 90 @@ -895,7 +895,7 @@
Type:
Source:
- src/utils/Debug.js line 102 + src/utils/Debug.js line 102 @@ -979,7 +979,7 @@
Type:
Source:
- src/utils/Debug.js line 54 + src/utils/Debug.js line 54 @@ -1056,7 +1056,7 @@
Type:
Source:
- src/utils/Debug.js line 28 + src/utils/Debug.js line 28 @@ -1133,7 +1133,7 @@
Type:
Source:
- src/utils/Debug.js line 109 + src/utils/Debug.js line 109 @@ -1217,7 +1217,7 @@
Type:
Source:
- src/utils/Debug.js line 66 + src/utils/Debug.js line 66 @@ -1301,7 +1301,7 @@
Type:
Source:
- src/utils/Debug.js line 72 + src/utils/Debug.js line 72 @@ -1385,7 +1385,7 @@
Type:
Source:
- src/utils/Debug.js line 78 + src/utils/Debug.js line 78 @@ -1462,7 +1462,7 @@
Type:
Source:
- src/utils/Debug.js line 33 + src/utils/Debug.js line 33 @@ -1688,7 +1688,7 @@
Parameters:
Source:
- src/utils/Debug.js line 828 + src/utils/Debug.js line 828 @@ -1950,7 +1950,7 @@
Parameters:
Source:
- src/utils/Debug.js line 862 + src/utils/Debug.js line 862 @@ -2034,7 +2034,7 @@

Source:
- src/utils/Debug.js line 127 + src/utils/Debug.js line 127 @@ -2225,7 +2225,7 @@
Parameters:
Source:
- src/utils/Debug.js line 909 + src/utils/Debug.js line 909 @@ -2311,7 +2311,7 @@

Source:
- src/utils/Debug.js line 891 + src/utils/Debug.js line 891 @@ -2539,7 +2539,7 @@
Parameters:
Source:
- src/utils/Debug.js line 314 + src/utils/Debug.js line 314 @@ -2801,7 +2801,7 @@
Parameters:
Source:
- src/utils/Debug.js line 343 + src/utils/Debug.js line 343 @@ -2885,7 +2885,7 @@

Source:
- src/utils/Debug.js line 1048 + src/utils/Debug.js line 1048 @@ -3033,7 +3033,7 @@
Parameters:
Source:
- src/utils/Debug.js line 925 + src/utils/Debug.js line 925 @@ -3313,7 +3313,7 @@
Parameters:
Source:
- src/utils/Debug.js line 645 + src/utils/Debug.js line 645 @@ -3539,7 +3539,7 @@
Parameters:
Source:
- src/utils/Debug.js line 498 + src/utils/Debug.js line 498 @@ -3801,7 +3801,7 @@
Parameters:
Source:
- src/utils/Debug.js line 477 + src/utils/Debug.js line 477 @@ -3885,7 +3885,7 @@

Source:
- src/utils/Debug.js line 255 + src/utils/Debug.js line 255 @@ -4147,7 +4147,7 @@
Parameters:
Source:
- src/utils/Debug.js line 606 + src/utils/Debug.js line 606 @@ -4373,7 +4373,7 @@
Parameters:
Source:
- src/utils/Debug.js line 1031 + src/utils/Debug.js line 1031 @@ -4643,7 +4643,7 @@
Parameters:
Source:
- src/utils/Debug.js line 1016 + src/utils/Debug.js line 1016 @@ -4907,7 +4907,7 @@
Parameters:
Source:
- src/utils/Debug.js line 625 + src/utils/Debug.js line 625 @@ -5217,7 +5217,7 @@
Parameters:
Source:
- src/utils/Debug.js line 396 + src/utils/Debug.js line 396 @@ -5301,7 +5301,7 @@

Source:
- src/utils/Debug.js line 172 + src/utils/Debug.js line 172 @@ -5459,7 +5459,7 @@
Parameters:
Source:
- src/utils/Debug.js line 788 + src/utils/Debug.js line 788 @@ -5690,7 +5690,7 @@
Parameters:
Source:
- src/utils/Debug.js line 725 + src/utils/Debug.js line 725 @@ -5924,7 +5924,7 @@
Parameters:
Source:
- src/utils/Debug.js line 958 + src/utils/Debug.js line 958 @@ -6008,7 +6008,7 @@

Source:
- src/utils/Debug.js line 191 + src/utils/Debug.js line 191 @@ -6093,7 +6093,7 @@

Source:
- src/utils/Debug.js line 156 + src/utils/Debug.js line 156 @@ -6321,7 +6321,7 @@
Parameters:
Source:
- src/utils/Debug.js line 537 + src/utils/Debug.js line 537 @@ -6583,7 +6583,7 @@
Parameters:
Source:
- src/utils/Debug.js line 283 + src/utils/Debug.js line 283 @@ -6814,7 +6814,7 @@
Parameters:
Source:
- src/utils/Debug.js line 518 + src/utils/Debug.js line 518 @@ -7079,7 +7079,7 @@
Parameters:
Source:
- src/utils/Debug.js line 580 + src/utils/Debug.js line 580 @@ -7341,7 +7341,7 @@
Parameters:
Source:
- src/utils/Debug.js line 557 + src/utils/Debug.js line 557 @@ -7606,7 +7606,7 @@
Parameters:
Source:
- src/utils/Debug.js line 456 + src/utils/Debug.js line 456 @@ -7880,7 +7880,7 @@
Parameters:
Source:
- src/utils/Debug.js line 210 + src/utils/Debug.js line 210 @@ -7964,7 +7964,7 @@

Source:
- src/utils/Debug.js line 243 + src/utils/Debug.js line 243 @@ -8240,7 +8240,7 @@
Parameters:
Source:
- src/utils/Debug.js line 757 + src/utils/Debug.js line 757 @@ -8502,7 +8502,7 @@
Parameters:
Source:
- src/utils/Debug.js line 377 + src/utils/Debug.js line 377 @@ -8545,9 +8545,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -8564,7 +8564,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -8593,7 +8593,7 @@
Parameters:
- + diff --git a/docs/Phaser.Utils.html b/docs/Phaser.Utils.html index ef8a2ede8..1b06eee80 100644 --- a/docs/Phaser.Utils.html +++ b/docs/Phaser.Utils.html @@ -6,7 +6,7 @@ Phaser CE Class: Utils - + @@ -176,7 +176,7 @@

Source:
- src/utils/Utils.js line 11 + src/utils/Utils.js line 11 @@ -359,7 +359,7 @@
Parameters:
Source:
- src/utils/Utils.js line 330 + src/utils/Utils.js line 330 @@ -541,7 +541,7 @@
Parameters:
Source:
- src/utils/Utils.js line 27 + src/utils/Utils.js line 27 @@ -702,7 +702,7 @@
Parameters:
Source:
- src/utils/Utils.js line 294 + src/utils/Utils.js line 294 @@ -887,7 +887,7 @@
Parameters:
Source:
- src/utils/Utils.js line 462 + src/utils/Utils.js line 462 @@ -1140,7 +1140,7 @@
Parameters:
Source:
- src/utils/Utils.js line 410 + src/utils/Utils.js line 410 @@ -1419,7 +1419,7 @@
Parameters:
Source:
- src/utils/Utils.js line 233 + src/utils/Utils.js line 233 @@ -1604,7 +1604,7 @@
Parameters:
Source:
- src/utils/Utils.js line 190 + src/utils/Utils.js line 190 @@ -1763,7 +1763,7 @@
Parameters:
Source:
- src/utils/Utils.js line 13 + src/utils/Utils.js line 13 @@ -1950,7 +1950,7 @@
Parameters:
Source:
- src/utils/Utils.js line 61 + src/utils/Utils.js line 61 @@ -2157,7 +2157,7 @@
Parameters:
Source:
- src/utils/Utils.js line 88 + src/utils/Utils.js line 88 @@ -2317,7 +2317,7 @@
Parameters:
Source:
- src/utils/Utils.js line 163 + src/utils/Utils.js line 163 @@ -2499,7 +2499,7 @@
Parameters:
Source:
- src/utils/Utils.js line 178 + src/utils/Utils.js line 178 @@ -2566,9 +2566,9 @@
Returns:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -2585,7 +2585,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -2614,7 +2614,7 @@
Returns:
- + diff --git a/docs/Phaser.Video.html b/docs/Phaser.Video.html index 856acf7be..d3af77cb4 100644 --- a/docs/Phaser.Video.html +++ b/docs/Phaser.Video.html @@ -6,7 +6,7 @@ Phaser CE Class: Video - + @@ -347,7 +347,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 38 + src/gameobjects/Video.js line 38 @@ -452,7 +452,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1184 + src/gameobjects/Video.js line 1184 @@ -529,7 +529,7 @@
Type:
Source:
- src/gameobjects/Video.js line 75 + src/gameobjects/Video.js line 75 @@ -606,7 +606,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1204 + src/gameobjects/Video.js line 1204 @@ -683,7 +683,7 @@
Type:
Source:
- src/gameobjects/Video.js line 46 + src/gameobjects/Video.js line 46 @@ -760,7 +760,7 @@
Type:
Source:
- src/gameobjects/Video.js line 64 + src/gameobjects/Video.js line 64 @@ -837,7 +837,7 @@
Type:
Source:
- src/gameobjects/Video.js line 140 + src/gameobjects/Video.js line 140 @@ -921,7 +921,7 @@
Type:
Source:
- src/gameobjects/Video.js line 52 + src/gameobjects/Video.js line 52 @@ -1000,7 +1000,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1377 + src/gameobjects/Video.js line 1377 @@ -1077,7 +1077,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1234 + src/gameobjects/Video.js line 1234 @@ -1154,7 +1154,7 @@
Type:
Source:
- src/gameobjects/Video.js line 101 + src/gameobjects/Video.js line 101 @@ -1231,7 +1231,7 @@
Type:
Source:
- src/gameobjects/Video.js line 91 + src/gameobjects/Video.js line 91 @@ -1308,7 +1308,7 @@
Type:
Source:
- src/gameobjects/Video.js line 96 + src/gameobjects/Video.js line 96 @@ -1385,7 +1385,7 @@
Type:
Source:
- src/gameobjects/Video.js line 106 + src/gameobjects/Video.js line 106 @@ -1462,7 +1462,7 @@
Type:
Source:
- src/gameobjects/Video.js line 86 + src/gameobjects/Video.js line 86 @@ -1540,7 +1540,7 @@
Type:
Source:
- src/gameobjects/Video.js line 113 + src/gameobjects/Video.js line 113 @@ -1618,7 +1618,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1274 + src/gameobjects/Video.js line 1274 @@ -1695,7 +1695,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1354 + src/gameobjects/Video.js line 1354 @@ -1772,7 +1772,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1408 + src/gameobjects/Video.js line 1408 @@ -1849,7 +1849,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1219 + src/gameobjects/Video.js line 1219 @@ -1926,7 +1926,7 @@
Type:
Source:
- src/gameobjects/Video.js line 155 + src/gameobjects/Video.js line 155 @@ -2010,7 +2010,7 @@
Type:
Source:
- src/gameobjects/Video.js line 161 + src/gameobjects/Video.js line 161 @@ -2096,7 +2096,7 @@
Type:
Source:
- src/gameobjects/Video.js line 149 + src/gameobjects/Video.js line 149 @@ -2175,7 +2175,7 @@
Type:
Source:
- src/gameobjects/Video.js line 295 + src/gameobjects/Video.js line 295 @@ -2252,7 +2252,7 @@
Type:
Source:
- src/gameobjects/Video.js line 270 + src/gameobjects/Video.js line 270 @@ -2329,7 +2329,7 @@
Type:
Source:
- src/gameobjects/Video.js line 276 + src/gameobjects/Video.js line 276 @@ -2413,7 +2413,7 @@
Type:
Source:
- src/gameobjects/Video.js line 119 + src/gameobjects/Video.js line 119 @@ -2490,7 +2490,7 @@
Type:
Source:
- src/gameobjects/Video.js line 81 + src/gameobjects/Video.js line 81 @@ -2567,7 +2567,7 @@
Type:
Source:
- src/gameobjects/Video.js line 70 + src/gameobjects/Video.js line 70 @@ -2644,7 +2644,7 @@
Type:
Source:
- src/gameobjects/Video.js line 130 + src/gameobjects/Video.js line 130 @@ -2721,7 +2721,7 @@
Type:
Source:
- src/gameobjects/Video.js line 135 + src/gameobjects/Video.js line 135 @@ -2798,7 +2798,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1322 + src/gameobjects/Video.js line 1322 @@ -2875,7 +2875,7 @@
Type:
Source:
- src/gameobjects/Video.js line 58 + src/gameobjects/Video.js line 58 @@ -3013,7 +3013,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 817 + src/gameobjects/Video.js line 817 @@ -3391,7 +3391,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 846 + src/gameobjects/Video.js line 846 @@ -3615,7 +3615,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 967 + src/gameobjects/Video.js line 967 @@ -3724,7 +3724,7 @@

Source:
- src/gameobjects/Video.js line 630 + src/gameobjects/Video.js line 630 @@ -3882,7 +3882,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 318 + src/gameobjects/Video.js line 318 @@ -4041,7 +4041,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 514 + src/gameobjects/Video.js line 514 @@ -4255,7 +4255,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 537 + src/gameobjects/Video.js line 537 @@ -4364,7 +4364,7 @@

Source:
- src/gameobjects/Video.js line 1158 + src/gameobjects/Video.js line 1158 @@ -4600,7 +4600,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 1092 + src/gameobjects/Video.js line 1092 @@ -4819,7 +4819,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 642 + src/gameobjects/Video.js line 642 @@ -4928,7 +4928,7 @@

Source:
- src/gameobjects/Video.js line 1128 + src/gameobjects/Video.js line 1128 @@ -5014,7 +5014,7 @@

Source:
- src/gameobjects/Video.js line 872 + src/gameobjects/Video.js line 872 @@ -5099,7 +5099,7 @@

Source:
- src/gameobjects/Video.js line 1050 + src/gameobjects/Video.js line 1050 @@ -5336,7 +5336,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 344 + src/gameobjects/Video.js line 344 @@ -5449,7 +5449,7 @@

Source:
- src/gameobjects/Video.js line 737 + src/gameobjects/Video.js line 737 @@ -5559,7 +5559,7 @@

Source:
- src/gameobjects/Video.js line 1063 + src/gameobjects/Video.js line 1063 @@ -5774,7 +5774,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 579 + src/gameobjects/Video.js line 579 @@ -5817,9 +5817,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -5836,7 +5836,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -5865,7 +5865,7 @@
Parameters:
- + diff --git a/docs/Phaser.Weapon.html b/docs/Phaser.Weapon.html index 98602fef5..05fd83db1 100644 --- a/docs/Phaser.Weapon.html +++ b/docs/Phaser.Weapon.html @@ -6,7 +6,7 @@ Phaser CE Class: Weapon - + @@ -265,7 +265,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 31 + src/plugins/weapon/WeaponPlugin.js line 31 @@ -370,7 +370,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 443 + src/plugins/weapon/WeaponPlugin.js line 443 @@ -448,7 +448,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 429 + src/plugins/weapon/WeaponPlugin.js line 429 @@ -525,7 +525,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 421 + src/plugins/weapon/WeaponPlugin.js line 421 @@ -602,7 +602,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 414 + src/plugins/weapon/WeaponPlugin.js line 414 @@ -679,7 +679,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 457 + src/plugins/weapon/WeaponPlugin.js line 457 @@ -756,7 +756,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 436 + src/plugins/weapon/WeaponPlugin.js line 436 @@ -833,7 +833,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 450 + src/plugins/weapon/WeaponPlugin.js line 450 @@ -910,7 +910,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 359 + src/plugins/weapon/WeaponPlugin.js line 359 @@ -988,7 +988,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 46 + src/plugins/weapon/WeaponPlugin.js line 46 @@ -1066,7 +1066,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 53 + src/plugins/weapon/WeaponPlugin.js line 53 @@ -1146,7 +1146,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 266 + src/plugins/weapon/WeaponPlugin.js line 266 @@ -1226,7 +1226,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 153 + src/plugins/weapon/WeaponPlugin.js line 153 @@ -1306,7 +1306,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 162 + src/plugins/weapon/WeaponPlugin.js line 162 @@ -1384,7 +1384,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 112 + src/plugins/weapon/WeaponPlugin.js line 112 @@ -1463,7 +1463,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1275 + src/plugins/weapon/WeaponPlugin.js line 1275 @@ -1540,7 +1540,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1367 + src/plugins/weapon/WeaponPlugin.js line 1367 @@ -1621,7 +1621,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 221 + src/plugins/weapon/WeaponPlugin.js line 221 @@ -1702,7 +1702,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 129 + src/plugins/weapon/WeaponPlugin.js line 129 @@ -1780,7 +1780,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 119 + src/plugins/weapon/WeaponPlugin.js line 119 @@ -1857,7 +1857,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 282 + src/plugins/weapon/WeaponPlugin.js line 282 @@ -1935,7 +1935,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 199 + src/plugins/weapon/WeaponPlugin.js line 199 @@ -2012,7 +2012,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 105 + src/plugins/weapon/WeaponPlugin.js line 105 @@ -2090,7 +2090,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 214 + src/plugins/weapon/WeaponPlugin.js line 214 @@ -2168,7 +2168,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 192 + src/plugins/weapon/WeaponPlugin.js line 192 @@ -2271,7 +2271,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1304 + src/plugins/weapon/WeaponPlugin.js line 1304 @@ -2350,7 +2350,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 185 + src/plugins/weapon/WeaponPlugin.js line 185 @@ -2429,7 +2429,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 207 + src/plugins/weapon/WeaponPlugin.js line 207 @@ -2506,7 +2506,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 39 + src/plugins/weapon/WeaponPlugin.js line 39 @@ -2584,7 +2584,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 169 + src/plugins/weapon/WeaponPlugin.js line 169 @@ -2663,7 +2663,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 177 + src/plugins/weapon/WeaponPlugin.js line 177 @@ -2741,7 +2741,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 136 + src/plugins/weapon/WeaponPlugin.js line 136 @@ -2820,7 +2820,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 144 + src/plugins/weapon/WeaponPlugin.js line 144 @@ -2898,7 +2898,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 99 + src/plugins/weapon/WeaponPlugin.js line 99 @@ -2977,7 +2977,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 92 + src/plugins/weapon/WeaponPlugin.js line 92 @@ -3056,7 +3056,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 69 + src/plugins/weapon/WeaponPlugin.js line 69 @@ -3133,7 +3133,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 75 + src/plugins/weapon/WeaponPlugin.js line 75 @@ -3213,7 +3213,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 84 + src/plugins/weapon/WeaponPlugin.js line 84 @@ -3294,7 +3294,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 352 + src/plugins/weapon/WeaponPlugin.js line 352 @@ -3373,7 +3373,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 306 + src/plugins/weapon/WeaponPlugin.js line 306 @@ -3453,7 +3453,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 325 + src/plugins/weapon/WeaponPlugin.js line 325 @@ -3532,7 +3532,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 315 + src/plugins/weapon/WeaponPlugin.js line 315 @@ -3611,7 +3611,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 61 + src/plugins/weapon/WeaponPlugin.js line 61 @@ -3689,7 +3689,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 341 + src/plugins/weapon/WeaponPlugin.js line 341 @@ -3770,7 +3770,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 333 + src/plugins/weapon/WeaponPlugin.js line 333 @@ -3850,7 +3850,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 378 + src/plugins/weapon/WeaponPlugin.js line 378 @@ -3929,7 +3929,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 368 + src/plugins/weapon/WeaponPlugin.js line 368 @@ -4007,7 +4007,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1392 + src/plugins/weapon/WeaponPlugin.js line 1392 @@ -4085,7 +4085,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1414 + src/plugins/weapon/WeaponPlugin.js line 1414 @@ -4395,7 +4395,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1212 + src/plugins/weapon/WeaponPlugin.js line 1212 @@ -4702,7 +4702,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 459 + src/plugins/weapon/WeaponPlugin.js line 459 @@ -4961,7 +4961,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1250 + src/plugins/weapon/WeaponPlugin.js line 1250 @@ -5046,7 +5046,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 605 + src/plugins/weapon/WeaponPlugin.js line 605 @@ -5374,7 +5374,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 817 + src/plugins/weapon/WeaponPlugin.js line 817 @@ -5545,7 +5545,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1092 + src/plugins/weapon/WeaponPlugin.js line 1092 @@ -5716,7 +5716,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1108 + src/plugins/weapon/WeaponPlugin.js line 1108 @@ -5921,7 +5921,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1122 + src/plugins/weapon/WeaponPlugin.js line 1122 @@ -6141,7 +6141,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 736 + src/plugins/weapon/WeaponPlugin.js line 736 @@ -6368,7 +6368,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 787 + src/plugins/weapon/WeaponPlugin.js line 787 @@ -6621,7 +6621,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 516 + src/plugins/weapon/WeaponPlugin.js line 516 @@ -6730,7 +6730,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 567 + src/plugins/weapon/WeaponPlugin.js line 567 @@ -6840,7 +6840,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 535 + src/plugins/weapon/WeaponPlugin.js line 535 @@ -6948,7 +6948,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 652 + src/plugins/weapon/WeaponPlugin.js line 652 @@ -7095,7 +7095,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 584 + src/plugins/weapon/WeaponPlugin.js line 584 @@ -7205,7 +7205,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 551 + src/plugins/weapon/WeaponPlugin.js line 551 @@ -7482,7 +7482,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1137 + src/plugins/weapon/WeaponPlugin.js line 1137 @@ -7777,7 +7777,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1178 + src/plugins/weapon/WeaponPlugin.js line 1178 @@ -8038,7 +8038,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 704 + src/plugins/weapon/WeaponPlugin.js line 704 @@ -8340,7 +8340,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 671 + src/plugins/weapon/WeaponPlugin.js line 671 @@ -8448,7 +8448,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 624 + src/plugins/weapon/WeaponPlugin.js line 624 @@ -8491,9 +8491,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -8510,7 +8510,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -8539,7 +8539,7 @@

- + diff --git a/docs/Phaser.World.html b/docs/Phaser.World.html index f824313d1..f60b1a8f8 100644 --- a/docs/Phaser.World.html +++ b/docs/Phaser.World.html @@ -6,7 +6,7 @@ Phaser CE Class: World - + @@ -233,7 +233,7 @@

Parameters:
Source:
- src/core/World.js line 19 + src/core/World.js line 19 @@ -349,7 +349,7 @@
Type:
Source:
- src/core/World.js line 41 + src/core/World.js line 41 @@ -464,7 +464,7 @@
Properties:
Source:
- src/core/World.js line 51 + src/core/World.js line 51 @@ -579,7 +579,7 @@
Properties:
Source:
- src/core/World.js line 46 + src/core/World.js line 46 @@ -672,7 +672,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -758,7 +758,7 @@
Type:
Source:
- src/core/Group.js line 3227 + src/core/Group.js line 3227 @@ -847,7 +847,7 @@
Type:
Source:
- src/core/Group.js line 2887 + src/core/Group.js line 2887 @@ -935,7 +935,7 @@
Type:
Source:
- src/core/Group.js line 3050 + src/core/Group.js line 3050 @@ -1015,7 +1015,7 @@
Type:
Source:
- src/core/World.js line 30 + src/core/World.js line 30 @@ -1108,7 +1108,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1185,7 +1185,7 @@
Type:
Source:
- src/core/World.js line 35 + src/core/World.js line 35 @@ -1272,7 +1272,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1354,7 +1354,7 @@
Type:
Source:
- src/core/World.js line 293 + src/core/World.js line 293 @@ -1436,7 +1436,7 @@
Type:
Source:
- src/core/World.js line 306 + src/core/World.js line 306 @@ -1522,7 +1522,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1616,7 +1616,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -1703,7 +1703,7 @@
Type:
Source:
- src/core/Group.js line 137 + src/core/Group.js line 137 @@ -1789,7 +1789,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -1877,7 +1877,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -1964,7 +1964,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -2057,7 +2057,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -2143,7 +2143,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2234,7 +2234,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2322,7 +2322,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -2408,7 +2408,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -2498,7 +2498,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -2575,7 +2575,7 @@
Type:
Source:
- src/core/World.js line 268 + src/core/World.js line 268 @@ -2671,7 +2671,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2759,7 +2759,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2845,7 +2845,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -2933,7 +2933,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -3021,7 +3021,7 @@
Type:
Source:
- src/core/Group.js line 2966 + src/core/Group.js line 2966 @@ -3107,7 +3107,7 @@
Type:
Source:
- src/core/Group.js line 2870 + src/core/Group.js line 2870 @@ -3196,7 +3196,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -3282,7 +3282,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3372,7 +3372,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -3462,7 +3462,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -3552,7 +3552,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -3643,7 +3643,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -3729,7 +3729,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -3818,7 +3818,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -3908,7 +3908,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -3995,7 +3995,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -4088,7 +4088,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -4174,7 +4174,7 @@
Type:
Source:
- src/core/Group.js line 86 + src/core/Group.js line 86 @@ -4261,7 +4261,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4349,7 +4349,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4426,7 +4426,7 @@
Type:
Source:
- src/core/World.js line 319 + src/core/World.js line 319 @@ -4503,7 +4503,7 @@
Type:
Source:
- src/core/World.js line 341 + src/core/World.js line 341 @@ -4590,7 +4590,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4678,7 +4678,7 @@
Type:
Source:
- src/core/Group.js line 2994 + src/core/Group.js line 2994 @@ -4766,7 +4766,7 @@
Type:
Source:
- src/core/Group.js line 3211 + src/core/Group.js line 3211 @@ -4855,7 +4855,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4943,7 +4943,7 @@
Type:
Source:
- src/core/Group.js line 3022 + src/core/Group.js line 3022 @@ -5029,7 +5029,7 @@
Type:
Source:
- src/core/Group.js line 2853 + src/core/Group.js line 2853 @@ -5115,7 +5115,7 @@
Type:
Source:
- src/core/Group.js line 80 + src/core/Group.js line 80 @@ -5201,7 +5201,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -5287,7 +5287,7 @@
Type:
Source:
- src/core/Group.js line 3220 + src/core/Group.js line 3220 @@ -5364,7 +5364,7 @@
Type:
Source:
- src/core/World.js line 243 + src/core/World.js line 243 @@ -5456,7 +5456,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -5547,7 +5547,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -5638,7 +5638,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -5729,7 +5729,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -5820,7 +5820,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -5906,7 +5906,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -5999,7 +5999,7 @@
Type:
Source:
- src/core/Group.js line 3193 + src/core/Group.js line 3193 @@ -6092,7 +6092,7 @@
Type:
Source:
- src/core/Group.js line 3202 + src/core/Group.js line 3202 @@ -6179,7 +6179,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -6417,7 +6417,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -6695,7 +6695,7 @@
Parameters:
Source:
- src/core/Group.js line 1437 + src/core/Group.js line 1437 @@ -6937,7 +6937,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -7104,7 +7104,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7295,7 +7295,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7526,7 +7526,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -7697,7 +7697,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -8092,7 +8092,7 @@
Parameters:
Source:
- src/core/Group.js line 695 + src/core/Group.js line 695 @@ -8435,7 +8435,7 @@
Parameters:
Source:
- src/core/Group.js line 3078 + src/core/Group.js line 3078 @@ -8779,7 +8779,7 @@
Parameters:
Source:
- src/core/Group.js line 3120 + src/core/Group.js line 3120 @@ -8970,7 +8970,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -9054,7 +9054,7 @@

Source:
- src/core/World.js line 60 + src/core/World.js line 60 @@ -9197,7 +9197,7 @@
Parameters:
Source:
- src/core/Group.js line 920 + src/core/Group.js line 920 @@ -9460,7 +9460,7 @@
Parameters:
Source:
- src/core/Group.js line 1653 + src/core/Group.js line 1653 @@ -9680,7 +9680,7 @@
Parameters:
Source:
- src/core/Group.js line 1569 + src/core/Group.js line 1569 @@ -9871,7 +9871,7 @@
Parameters:
Source:
- src/core/Group.js line 1603 + src/core/Group.js line 1603 @@ -10187,7 +10187,7 @@
Parameters:
Source:
- src/core/Group.js line 1367 + src/core/Group.js line 1367 @@ -10489,7 +10489,7 @@
Parameters:
Source:
- src/core/Group.js line 1403 + src/core/Group.js line 1403 @@ -10786,7 +10786,7 @@
Parameters:
Source:
- src/core/Group.js line 1230 + src/core/Group.js line 1230 @@ -10953,7 +10953,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -11140,7 +11140,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -11257,7 +11257,7 @@

Source:
- src/core/Group.js line 2503 + src/core/Group.js line 2503 @@ -11374,7 +11374,7 @@

Source:
- src/core/Group.js line 2491 + src/core/Group.js line 2491 @@ -11768,7 +11768,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -12175,7 +12175,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -12388,7 +12388,7 @@
Parameters:
Source:
- src/core/Group.js line 2032 + src/core/Group.js line 2032 @@ -12555,7 +12555,7 @@
Parameters:
Source:
- src/core/Group.js line 2088 + src/core/Group.js line 2088 @@ -12759,7 +12759,7 @@
Parameters:
Source:
- src/core/Group.js line 2816 + src/core/Group.js line 2816 @@ -12975,7 +12975,7 @@
Parameters:
Source:
- src/core/Group.js line 1488 + src/core/Group.js line 1488 @@ -13179,7 +13179,7 @@
Parameters:
Source:
- src/core/Group.js line 1814 + src/core/Group.js line 1814 @@ -13483,7 +13483,7 @@
Parameters:
Source:
- src/core/Group.js line 1854 + src/core/Group.js line 1854 @@ -13721,7 +13721,7 @@
Parameters:
Source:
- src/core/Group.js line 1936 + src/core/Group.js line 1936 @@ -13959,7 +13959,7 @@
Parameters:
Source:
- src/core/Group.js line 1964 + src/core/Group.js line 1964 @@ -14197,7 +14197,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -14442,7 +14442,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -14750,7 +14750,7 @@
Parameters:
Source:
- src/core/Group.js line 2557 + src/core/Group.js line 2557 @@ -14919,7 +14919,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -15040,7 +15040,7 @@

Source:
- src/core/Group.js line 2372 + src/core/Group.js line 2372 @@ -15222,7 +15222,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -15391,7 +15391,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -15558,7 +15558,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -15725,7 +15725,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -15976,7 +15976,7 @@
Parameters:
Source:
- src/core/Group.js line 2389 + src/core/Group.js line 2389 @@ -16167,7 +16167,7 @@
Parameters:
Source:
- src/core/Group.js line 2208 + src/core/Group.js line 2208 @@ -16526,7 +16526,7 @@
Parameters:
Source:
- src/core/Group.js line 2256 + src/core/Group.js line 2256 @@ -16885,7 +16885,7 @@
Parameters:
Source:
- src/core/Group.js line 2286 + src/core/Group.js line 2286 @@ -17283,7 +17283,7 @@
Parameters:
Source:
- src/core/Group.js line 2222 + src/core/Group.js line 2222 @@ -17534,7 +17534,7 @@
Parameters:
Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -17701,7 +17701,7 @@
Parameters:
Source:
- src/core/Group.js line 1042 + src/core/Group.js line 1042 @@ -17818,7 +17818,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -18045,7 +18045,7 @@
Parameters:
Source:
- src/core/Group.js line 2515 + src/core/Group.js line 2515 @@ -18273,7 +18273,7 @@
Parameters:
Source:
- src/core/Group.js line 2537 + src/core/Group.js line 2537 @@ -18391,7 +18391,7 @@

Source:
- src/core/Group.js line 2355 + src/core/Group.js line 2355 @@ -18583,7 +18583,7 @@
Parameters:
Source:
- src/core/Group.js line 1117 + src/core/Group.js line 1117 @@ -18970,7 +18970,7 @@
Parameters:
Source:
- src/core/Group.js line 2113 + src/core/Group.js line 2113 @@ -19087,7 +19087,7 @@

Source:
- src/core/Group.js line 1505 + src/core/Group.js line 1505 @@ -19180,7 +19180,7 @@

Source:
- src/core/Group.js line 1518 + src/core/Group.js line 1518 @@ -19379,7 +19379,7 @@
Parameters:
Source:
- src/core/Group.js line 2651 + src/core/Group.js line 2651 @@ -19546,7 +19546,7 @@
Parameters:
Source:
- src/core/Group.js line 982 + src/core/Group.js line 982 @@ -19713,7 +19713,7 @@
Parameters:
Source:
- src/core/Group.js line 958 + src/core/Group.js line 958 @@ -19953,7 +19953,7 @@
Parameters:
Source:
- src/core/Group.js line 1471 + src/core/Group.js line 1471 @@ -20047,7 +20047,7 @@

Source:
- src/core/Group.js line 846 + src/core/Group.js line 846 @@ -20164,7 +20164,7 @@

Source:
- src/core/Group.js line 1793 + src/core/Group.js line 1793 @@ -20257,7 +20257,7 @@

Source:
- src/core/Group.js line 1726 + src/core/Group.js line 1726 @@ -20351,7 +20351,7 @@

Source:
- src/core/Group.js line 875 + src/core/Group.js line 875 @@ -20616,7 +20616,7 @@
Parameters:
Source:
- src/core/Group.js line 2603 + src/core/Group.js line 2603 @@ -20886,7 +20886,7 @@
Parameters:
Source:
- src/core/Group.js line 2680 + src/core/Group.js line 2680 @@ -21163,7 +21163,7 @@
Parameters:
Source:
- src/core/Group.js line 2728 + src/core/Group.js line 2728 @@ -21306,7 +21306,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -21473,7 +21473,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -21664,7 +21664,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -21808,7 +21808,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -22001,7 +22001,7 @@
Parameters:
Source:
- src/core/Group.js line 1078 + src/core/Group.js line 1078 @@ -22355,7 +22355,7 @@
Parameters:
Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -22661,7 +22661,7 @@
Parameters:
Source:
- src/core/Group.js line 2316 + src/core/Group.js line 2316 @@ -22849,7 +22849,7 @@
Parameters:
Source:
- src/core/Group.js line 819 + src/core/Group.js line 819 @@ -23031,7 +23031,7 @@
Parameters:
Source:
- src/core/World.js line 125 + src/core/World.js line 125 @@ -23125,7 +23125,7 @@

Source:
- src/core/Group.js line 1028 + src/core/Group.js line 1028 @@ -23218,7 +23218,7 @@

Source:
- src/core/Group.js line 1529 + src/core/Group.js line 1529 @@ -23311,7 +23311,7 @@

Source:
- src/core/Group.js line 1542 + src/core/Group.js line 1542 @@ -23514,7 +23514,7 @@
Parameters:
Source:
- src/core/Group.js line 2783 + src/core/Group.js line 2783 @@ -23657,7 +23657,7 @@
Parameters:
Source:
- src/core/Group.js line 939 + src/core/Group.js line 939 @@ -24073,7 +24073,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -24455,7 +24455,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -24813,7 +24813,7 @@
Parameters:
Source:
- src/core/Group.js line 1326 + src/core/Group.js line 1326 @@ -25020,7 +25020,7 @@
Parameters:
Source:
- src/core/World.js line 94 + src/core/World.js line 94 @@ -25187,7 +25187,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -25506,7 +25506,7 @@
Parameters:
Source:
- src/core/Group.js line 1152 + src/core/Group.js line 1152 @@ -25624,7 +25624,7 @@

Source:
- src/core/Group.js line 2802 + src/core/Group.js line 2802 @@ -25708,7 +25708,7 @@

Source:
- src/core/World.js line 158 + src/core/World.js line 158 @@ -25915,7 +25915,7 @@
Parameters:
Source:
- src/core/Group.js line 1992 + src/core/Group.js line 1992 @@ -26001,7 +26001,7 @@

Source:
- src/core/World.js line 76 + src/core/World.js line 76 @@ -26217,7 +26217,7 @@
Parameters:
Source:
- src/core/Group.js line 1454 + src/core/Group.js line 1454 @@ -26385,7 +26385,7 @@
Parameters:
Source:
- src/core/Group.js line 904 + src/core/Group.js line 904 @@ -26552,7 +26552,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -26695,7 +26695,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -26908,7 +26908,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -27028,7 +27028,7 @@

Source:
- src/core/Group.js line 1765 + src/core/Group.js line 1765 @@ -27121,7 +27121,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -27310,7 +27310,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -27430,7 +27430,7 @@

Source:
- src/core/Group.js line 676 + src/core/Group.js line 676 @@ -27753,7 +27753,7 @@
Parameters:
Source:
- src/core/World.js line 170 + src/core/World.js line 170 @@ -27944,7 +27944,7 @@
Parameters:
Source:
- src/core/Group.js line 1006 + src/core/Group.js line 1006 @@ -27987,9 +27987,9 @@
Parameters:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -28006,7 +28006,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -28035,7 +28035,7 @@
Parameters:
- + diff --git a/docs/Phaser.html b/docs/Phaser.html index 3f411524b..04b51ee83 100644 --- a/docs/Phaser.html +++ b/docs/Phaser.html @@ -6,7 +6,7 @@ Phaser CE Namespace: Phaser - + @@ -157,7 +157,7 @@

Source:
- src/Phaser.js line 7 + src/Phaser.js line 7 @@ -555,7 +555,7 @@
Type:
Source:
- src/Phaser.js line 341 + src/Phaser.js line 341 @@ -632,7 +632,7 @@
Type:
Source:
- src/Phaser.js line 348 + src/Phaser.js line 348 @@ -709,7 +709,7 @@
Type:
Source:
- src/Phaser.js line 362 + src/Phaser.js line 362 @@ -786,7 +786,7 @@
Type:
Source:
- src/Phaser.js line 369 + src/Phaser.js line 369 @@ -863,7 +863,7 @@
Type:
Source:
- src/Phaser.js line 355 + src/Phaser.js line 355 @@ -940,7 +940,7 @@
Type:
Source:
- src/Phaser.js line 376 + src/Phaser.js line 376 @@ -1017,7 +1017,7 @@
Type:
Source:
- src/Phaser.js line 383 + src/Phaser.js line 383 @@ -1094,7 +1094,7 @@
Type:
Source:
- src/Phaser.js line 334 + src/Phaser.js line 334 @@ -1171,7 +1171,7 @@
Type:
Source:
- src/Phaser.js line 26 + src/Phaser.js line 26 @@ -1248,7 +1248,7 @@
Type:
Source:
- src/Phaser.js line 187 + src/Phaser.js line 187 @@ -1325,7 +1325,7 @@
Type:
Source:
- src/Phaser.js line 138 + src/Phaser.js line 138 @@ -1840,7 +1840,7 @@
Properties:
Source:
- src/Phaser.js line 481 + src/Phaser.js line 481 @@ -1917,7 +1917,7 @@
Type:
Source:
- src/Phaser.js line 467 + src/Phaser.js line 467 @@ -1994,7 +1994,7 @@
Type:
Source:
- src/Phaser.js line 460 + src/Phaser.js line 460 @@ -2071,7 +2071,7 @@
Type:
Source:
- src/Phaser.js line 474 + src/Phaser.js line 474 @@ -2148,7 +2148,7 @@
Type:
Source:
- src/Phaser.js line 103 + src/Phaser.js line 103 @@ -2225,7 +2225,7 @@
Type:
Source:
- src/Phaser.js line 33 + src/Phaser.js line 33 @@ -2302,7 +2302,7 @@
Type:
Source:
- src/Phaser.js line 194 + src/Phaser.js line 194 @@ -2379,7 +2379,7 @@
Type:
Source:
- src/Phaser.js line 432 + src/Phaser.js line 432 @@ -2456,7 +2456,7 @@
Type:
Source:
- src/Phaser.js line 243 + src/Phaser.js line 243 @@ -2533,7 +2533,7 @@
Type:
Source:
- src/Phaser.js line 285 + src/Phaser.js line 285 @@ -2610,7 +2610,7 @@
Type:
Source:
- src/Phaser.js line 89 + src/Phaser.js line 89 @@ -2687,7 +2687,7 @@
Type:
Source:
- src/Phaser.js line 208 + src/Phaser.js line 208 @@ -2764,7 +2764,7 @@
Type:
Source:
- src/Phaser.js line 173 + src/Phaser.js line 173 @@ -2841,7 +2841,7 @@
Type:
Source:
- src/Phaser.js line 19 + src/Phaser.js line 19 @@ -2918,7 +2918,7 @@
Type:
Source:
- src/Phaser.js line 117 + src/Phaser.js line 117 @@ -2995,7 +2995,7 @@
Type:
Source:
- src/Phaser.js line 145 + src/Phaser.js line 145 @@ -3072,7 +3072,7 @@
Type:
Source:
- src/Phaser.js line 47 + src/Phaser.js line 47 @@ -3149,7 +3149,7 @@
Type:
Source:
- src/Phaser.js line 306 + src/Phaser.js line 306 @@ -3226,7 +3226,7 @@
Type:
Source:
- src/Phaser.js line 110 + src/Phaser.js line 110 @@ -3303,7 +3303,7 @@
Type:
Source:
- src/Phaser.js line 320 + src/Phaser.js line 320 @@ -3380,7 +3380,7 @@
Type:
Source:
- src/Phaser.js line 68 + src/Phaser.js line 68 @@ -3457,7 +3457,7 @@
Type:
Source:
- src/Phaser.js line 425 + src/Phaser.js line 425 @@ -3534,7 +3534,7 @@
Type:
Source:
- src/Phaser.js line 418 + src/Phaser.js line 418 @@ -3611,7 +3611,7 @@
Type:
Source:
- src/Phaser.js line 257 + src/Phaser.js line 257 @@ -3688,7 +3688,7 @@
Type:
Source:
- src/Phaser.js line 264 + src/Phaser.js line 264 @@ -3765,7 +3765,7 @@
Type:
Source:
- src/Phaser.js line 61 + src/Phaser.js line 61 @@ -3842,7 +3842,7 @@
Type:
Source:
- src/Phaser.js line 299 + src/Phaser.js line 299 @@ -3919,7 +3919,7 @@
Type:
Source:
- src/Phaser.js line 271 + src/Phaser.js line 271 @@ -3996,7 +3996,7 @@
Type:
Source:
- src/Phaser.js line 229 + src/Phaser.js line 229 @@ -4073,7 +4073,7 @@
Type:
Source:
- src/Phaser.js line 180 + src/Phaser.js line 180 @@ -4150,7 +4150,7 @@
Type:
Source:
- src/Phaser.js line 327 + src/Phaser.js line 327 @@ -4227,7 +4227,7 @@
Type:
Source:
- src/Phaser.js line 250 + src/Phaser.js line 250 @@ -4304,7 +4304,7 @@
Type:
Source:
- src/Phaser.js line 152 + src/Phaser.js line 152 @@ -4381,7 +4381,7 @@
Type:
Source:
- src/Phaser.js line 222 + src/Phaser.js line 222 @@ -4458,7 +4458,7 @@
Type:
Source:
- src/Phaser.js line 75 + src/Phaser.js line 75 @@ -4535,7 +4535,7 @@
Type:
Source:
- src/Phaser.js line 453 + src/Phaser.js line 453 @@ -4612,7 +4612,7 @@
Type:
Source:
- src/Phaser.js line 446 + src/Phaser.js line 446 @@ -4689,7 +4689,7 @@
Type:
Source:
- src/Phaser.js line 439 + src/Phaser.js line 439 @@ -4766,7 +4766,7 @@
Type:
Source:
- src/Phaser.js line 236 + src/Phaser.js line 236 @@ -4843,7 +4843,7 @@
Type:
Source:
- src/Phaser.js line 278 + src/Phaser.js line 278 @@ -5039,7 +5039,7 @@
Properties:
Source:
- src/Phaser.js line 526 + src/Phaser.js line 526 @@ -5116,7 +5116,7 @@
Type:
Source:
- src/Phaser.js line 96 + src/Phaser.js line 96 @@ -5193,7 +5193,7 @@
Type:
Source:
- src/Phaser.js line 215 + src/Phaser.js line 215 @@ -5270,7 +5270,7 @@
Type:
Source:
- src/Phaser.js line 124 + src/Phaser.js line 124 @@ -5347,7 +5347,7 @@
Type:
Source:
- src/Phaser.js line 159 + src/Phaser.js line 159 @@ -5424,7 +5424,7 @@
Type:
Source:
- src/Phaser.js line 166 + src/Phaser.js line 166 @@ -5501,7 +5501,7 @@
Type:
Source:
- src/Phaser.js line 131 + src/Phaser.js line 131 @@ -5578,7 +5578,7 @@
Type:
Source:
- src/Phaser.js line 397 + src/Phaser.js line 397 @@ -5655,7 +5655,7 @@
Type:
Source:
- src/Phaser.js line 390 + src/Phaser.js line 390 @@ -5732,7 +5732,7 @@
Type:
Source:
- src/Phaser.js line 404 + src/Phaser.js line 404 @@ -5809,7 +5809,7 @@
Type:
Source:
- src/Phaser.js line 82 + src/Phaser.js line 82 @@ -5886,7 +5886,7 @@
Type:
Source:
- src/Phaser.js line 12 + src/Phaser.js line 12 @@ -5963,7 +5963,7 @@
Type:
Source:
- src/Phaser.js line 313 + src/Phaser.js line 313 @@ -6040,7 +6040,7 @@
Type:
Source:
- src/Phaser.js line 292 + src/Phaser.js line 292 @@ -6117,7 +6117,7 @@
Type:
Source:
- src/Phaser.js line 40 + src/Phaser.js line 40 @@ -6194,7 +6194,7 @@
Type:
Source:
- src/Phaser.js line 201 + src/Phaser.js line 201 @@ -6271,7 +6271,7 @@
Type:
Source:
- src/Phaser.js line 54 + src/Phaser.js line 54 @@ -6366,7 +6366,7 @@

Source:
- src/gameobjects/components/Component.js line 7 + src/gameobjects/components/Component.js line 7 @@ -6409,9 +6409,9 @@

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -6428,7 +6428,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -6457,7 +6457,7 @@

- + diff --git a/docs/PhaserGlobal.html b/docs/PhaserGlobal.html index 1e9d46998..14be4199a 100644 --- a/docs/PhaserGlobal.html +++ b/docs/PhaserGlobal.html @@ -6,7 +6,7 @@ Phaser CE Namespace: PhaserGlobal - + @@ -388,7 +388,7 @@

Properties:
Source:
- src/PhaserGlobal.js line 1 + src/PhaserGlobal.js line 1 @@ -431,9 +431,9 @@
Properties:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -450,7 +450,7 @@
Properties:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -479,7 +479,7 @@
Properties:
- + diff --git a/docs/classes.list.html b/docs/classes.list.html index 78ae07d6f..98a5fb7c7 100644 --- a/docs/classes.list.html +++ b/docs/classes.list.html @@ -6,7 +6,7 @@ Phaser CE Classes - + @@ -770,9 +770,9 @@

Namespaces

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -789,7 +789,7 @@

Namespaces

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -818,7 +818,7 @@

Namespaces

- + diff --git a/docs/global.html b/docs/global.html index 3b4b60b86..f5def206d 100644 --- a/docs/global.html +++ b/docs/global.html @@ -6,7 +6,7 @@ Phaser CE Global - + @@ -283,7 +283,7 @@
Type:
Source:
- src/core/Group.js line 3163 + src/core/Group.js line 3163 @@ -1081,7 +1081,7 @@
Properties:
Source:
- src/core/Game.js line 502 + src/core/Game.js line 502 @@ -1110,9 +1110,9 @@
Properties:

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1129,7 +1129,7 @@
Properties:

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1158,7 +1158,7 @@
Properties:
- + diff --git a/docs/index.html b/docs/index.html index c5ad85eee..baf48e69e 100644 --- a/docs/index.html +++ b/docs/index.html @@ -6,7 +6,7 @@ Phaser CE Index - + @@ -983,9 +983,9 @@

Utils

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -1002,7 +1002,7 @@

Utils

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -1031,7 +1031,7 @@

Utils

- + diff --git a/docs/namespaces.list.html b/docs/namespaces.list.html index d9cbc90ef..2f7671adc 100644 --- a/docs/namespaces.list.html +++ b/docs/namespaces.list.html @@ -6,7 +6,7 @@ Phaser CE Namespaces - + @@ -770,9 +770,9 @@

Namespaces

- phaser-ce@2.9.0 + phaser-ce@2.9.1 is on - GitHub + GitHub and NPM

@@ -789,7 +789,7 @@

Namespaces

Documentation generated by JSDoc 3.5.4 - on 2017-10-08 + on 2017-10-10 using Tomorrow.

@@ -818,7 +818,7 @@

Namespaces

- +